Revert "[libunwind] Drop the dependency on <algorithm>, add placement new inline"
This reverts commit r352384: this broke on ARM as UnwindCursor.hpp
still has some C++ library dependencies.
llvm-svn: 352427
Cr-Mirrored-From: sso://chromium.googlesource.com/_direct/external/github.com/llvm/llvm-project
Cr-Mirrored-Commit: 4ecdb70424a7c057bf6858027abc3a0f59454210
diff --git a/src/Unwind-seh.cpp b/src/Unwind-seh.cpp
index 26eb0ef..f55d624 100644
--- a/src/Unwind-seh.cpp
+++ b/src/Unwind-seh.cpp
@@ -49,10 +49,6 @@
/// Class of foreign exceptions based on unrecognized SEH exceptions.
static const uint64_t kSEHExceptionClass = 0x434C4E4753454800; // CLNGSEH\0
-// libunwind does not and should not depend on C++ library which means that we
-// need our own declaration of global placement new.
-void *operator new(size_t, void*);
-
/// Exception cleanup routine used by \c _GCC_specific_handler to
/// free foreign exceptions.
static void seh_exc_cleanup(_Unwind_Reason_Code urc, _Unwind_Exception *exc) {
diff --git a/src/UnwindCursor.hpp b/src/UnwindCursor.hpp
index 62efe77..497ff84 100644
--- a/src/UnwindCursor.hpp
+++ b/src/UnwindCursor.hpp
@@ -11,6 +11,7 @@
#ifndef __UNWINDCURSOR_HPP__
#define __UNWINDCURSOR_HPP__
+#include <algorithm>
#include <stdint.h>
#include <stdio.h>
#include <stdlib.h>
diff --git a/src/libunwind.cpp b/src/libunwind.cpp
index cfa9112..a2496a0 100644
--- a/src/libunwind.cpp
+++ b/src/libunwind.cpp
@@ -11,6 +11,10 @@
#include <libunwind.h>
+#ifndef NDEBUG
+#include <cstdlib> // getenv
+#endif
+
#include "libunwind_ext.h"
#include "config.h"
@@ -23,10 +27,6 @@
using namespace libunwind;
-// libunwind does not and should not depend on C++ library which means that we
-// need our own declaration of global placement new.
-void *operator new(size_t, void*);
-
/// internal object to represent this processes address space
LocalAddressSpace LocalAddressSpace::sThisAddressSpace;