patch by Jeffrey Yasskin for porting to Ubuntu Hardy.  Everything was accepted except there were some bug fixes needed in <locale> for the __nolocale_* series.  For the apple branch I ended up using templates instead of the var_args solution because it seemed both safer and more efficient.

llvm-svn: 104516
diff --git a/libcxx/include/algorithm b/libcxx/include/algorithm
index f3412f7..c53bf37 100644
--- a/libcxx/include/algorithm
+++ b/libcxx/include/algorithm
@@ -552,16 +552,12 @@
 #ifdef _LIBCPP_DEBUG
 #include <cassert>
 #endif
-//#include <cstdlib>
-#define RAND_MAX 0x7fffffff     // #include <cstdlib>
-extern "C" int rand(void);      // #include <cstdlib>
+#include <cstdlib>
 
 #pragma GCC system_header
 
 _LIBCPP_BEGIN_NAMESPACE_STD
 
-using ::rand;                   // #include <cstdlib>
-
 template <class _T1, class _T2 = _T1>
 struct __equal_to
 {