From: NAKAMURA Takumi Date: Thu, 3 Jan 2013 03:30:22 +0000 (+0000) Subject: Compiler.h: Leave LLVM_BUILTIN_UNREACHABLE undefined if it is unavailable in host... X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=1eae141f195b7edd060c2c872ea3eac4ce937262;p=oota-llvm.git Compiler.h: Leave LLVM_BUILTIN_UNREACHABLE undefined if it is unavailable in host compiler. Users of LLVM_BUILTIN_UNREACHABLE should be responsible in the case when LLVM_BUILTIN_UNREACHABLE is undefined. Actually, (0, (p)) in LLVM_ASSUME_ALIGNED(p, a) caused thousands of warnings on g++-4.4. It was a motivation in this commit. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171455 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/include/llvm/Support/Compiler.h b/include/llvm/Support/Compiler.h index 5ed30a4ef23..b32939eac02 100644 --- a/include/llvm/Support/Compiler.h +++ b/include/llvm/Support/Compiler.h @@ -225,8 +225,6 @@ # define LLVM_BUILTIN_UNREACHABLE __builtin_unreachable() #elif defined(_MSC_VER) # define LLVM_BUILTIN_UNREACHABLE __assume(false) -#else -# define LLVM_BUILTIN_UNREACHABLE 0 #endif /// LLVM_BUILTIN_TRAP - On compilers which support it, expands to an expression @@ -244,9 +242,11 @@ || (__GNUC__ == 4 && __GNUC_MINOR__ >= 7)) // FIXME: Enable on clang when it supports it. # define LLVM_ASSUME_ALIGNED(p, a) __builtin_assume_aligned(p, a) -#else +#elif defined(LLVM_BUILTIN_UNREACHABLE) # define LLVM_ASSUME_ALIGNED(p, a) \ (((uintptr_t(p) % (a)) == 0) ? (p) : (LLVM_BUILTIN_UNREACHABLE, (p))) +#else +# define LLVM_ASSUME_ALIGNED(p, a) (p) #endif #endif