[llvm-commits] [llvm] r162300 - /llvm/trunk/include/llvm/Support/Compiler.h

David Blaikie dblaikie at gmail.com
Tue Aug 21 11:54:21 PDT 2012


Author: dblaikie
Date: Tue Aug 21 13:54:21 2012
New Revision: 162300

URL: http://llvm.org/viewvc/llvm-project?rev=162300&view=rev
Log:
Provide a portability macro for __builtin_trap.

Modified:
    llvm/trunk/include/llvm/Support/Compiler.h

Modified: llvm/trunk/include/llvm/Support/Compiler.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/Support/Compiler.h?rev=162300&r1=162299&r2=162300&view=diff
==============================================================================
--- llvm/trunk/include/llvm/Support/Compiler.h (original)
+++ llvm/trunk/include/llvm/Support/Compiler.h Tue Aug 21 13:54:21 2012
@@ -187,4 +187,13 @@
 # define LLVM_BUILTIN_UNREACHABLE __builtin_unreachable()
 #endif
 
+// LLVM_BUILTIN_TRAP - On compilers which support it, expands to an expression
+// which causes the program to exit abnormally.
+#if defined(__clang__) || (__GNUC__ > 4) \
+ || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3)
+# define LLVM_BUILTIN_TRAP __builtin_trap()
+#else
+# define LLVM_BUILTIN_TRAP *(volatile int*)0x11 = 0
+#endif
+
 #endif





More information about the llvm-commits mailing list