diff options
author | Zhou Sheng <zhousheng00@gmail.com> | 2007-12-12 06:16:47 +0000 |
---|---|---|
committer | Zhou Sheng <zhousheng00@gmail.com> | 2007-12-12 06:16:47 +0000 |
commit | 621deadee8967ab3a56c5478bb810b7200c48edb (patch) | |
tree | 4eb646dde316e4ce7a45870af37db98babe32f53 /lib/ExecutionEngine | |
parent | 6a7951ce9bc9e5f21fcee7314893345acd4e77d7 (diff) | |
download | external_llvm-621deadee8967ab3a56c5478bb810b7200c48edb.zip external_llvm-621deadee8967ab3a56c5478bb810b7200c48edb.tar.gz external_llvm-621deadee8967ab3a56c5478bb810b7200c48edb.tar.bz2 |
Add a guard to cxxabi header as other platform may
not support it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44914 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/ExecutionEngine')
-rw-r--r-- | lib/ExecutionEngine/Interpreter/ExternalFunctions.cpp | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/lib/ExecutionEngine/Interpreter/ExternalFunctions.cpp b/lib/ExecutionEngine/Interpreter/ExternalFunctions.cpp index 12bfb8e..f45875f 100644 --- a/lib/ExecutionEngine/Interpreter/ExternalFunctions.cpp +++ b/lib/ExecutionEngine/Interpreter/ExternalFunctions.cpp @@ -29,7 +29,11 @@ #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(); } |