Add a guard to cxxabi header as other platform may
authorZhou Sheng <zhousheng00@gmail.com>
Wed, 12 Dec 2007 06:16:47 +0000 (06:16 +0000)
committerZhou Sheng <zhousheng00@gmail.com>
Wed, 12 Dec 2007 06:16:47 +0000 (06:16 +0000)
not support it.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44914 91177308-0d34-0410-b5e6-96231b3b80d8

lib/ExecutionEngine/Interpreter/ExternalFunctions.cpp

index 12bfb8e252c7726713be2a13f14b85680f4958f0..f45875faa38416495b33eeaf61ce0d9a66dd1f38 100644 (file)
 #include <csignal>
 #include <map>
 #include <cmath>
+
+#ifdef __linux__
 #include <cxxabi.h>
+#endif
+
 using std::vector;
 
 using namespace llvm;
@@ -727,8 +731,12 @@ GenericValue lle_X___cxa_guard_acquire(FunctionType *FT,
                                        const vector<GenericValue> &Args) {
   assert(Args.size() == 1);
   GenericValue GV;
+#ifdef __linux__
   GV.IntVal = APInt(32, __cxxabiv1::__cxa_guard_acquire (
                           (__cxxabiv1::__guard*)GVTOP(Args[0])));
+#else
+  assert(0 && "Can't call __cxa_guard_acquire on this platform");
+#endif
   return GV;
 }
 
@@ -736,7 +744,11 @@ GenericValue lle_X___cxa_guard_acquire(FunctionType *FT,
 GenericValue lle_X___cxa_guard_release(FunctionType *FT, 
                                        const vector<GenericValue> &Args) {
   assert(Args.size() == 1);
+#ifdef __linux__
   __cxxabiv1::__cxa_guard_release ((__cxxabiv1::__guard*)GVTOP(Args[0]));
+#else
+  assert(0 && "Can't call __cxa_guard_release on this platform");
+#endif
   return GenericValue();
 }