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
Cr-Mirrored-From: sso://chromium.googlesource.com/_direct/external/github.com/llvm/llvm-project
Cr-Mirrored-Commit: 128ba7191da78d948b72b9c7adddc37002b391ef
diff --git a/src/new.cpp b/src/new.cpp
index 9ad0612..964d87b 100644
--- a/src/new.cpp
+++ b/src/new.cpp
@@ -7,13 +7,13 @@
 //
 //===----------------------------------------------------------------------===//
 
-#include <stdlib.h> 
-#include <cxxabi.h> 
+#include <stdlib.h>
 
 #include "new"
 
 
 #if __APPLE__
+    #include <cxxabi.h> 
     // On Darwin, there are two STL shared libraries and a lower level ABI
 	// shared libray.  The global holding the current new handler is
     // in the ABI library and named __cxa_new_handler.