mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-01-08 03:30:22 +00:00
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
This commit is contained in:
parent
82860f63e1
commit
1eae141f19
@ -225,8 +225,6 @@
|
|||||||
# define LLVM_BUILTIN_UNREACHABLE __builtin_unreachable()
|
# define LLVM_BUILTIN_UNREACHABLE __builtin_unreachable()
|
||||||
#elif defined(_MSC_VER)
|
#elif defined(_MSC_VER)
|
||||||
# define LLVM_BUILTIN_UNREACHABLE __assume(false)
|
# define LLVM_BUILTIN_UNREACHABLE __assume(false)
|
||||||
#else
|
|
||||||
# define LLVM_BUILTIN_UNREACHABLE 0
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/// LLVM_BUILTIN_TRAP - On compilers which support it, expands to an expression
|
/// LLVM_BUILTIN_TRAP - On compilers which support it, expands to an expression
|
||||||
@ -244,9 +242,11 @@
|
|||||||
|| (__GNUC__ == 4 && __GNUC_MINOR__ >= 7))
|
|| (__GNUC__ == 4 && __GNUC_MINOR__ >= 7))
|
||||||
// FIXME: Enable on clang when it supports it.
|
// FIXME: Enable on clang when it supports it.
|
||||||
# define LLVM_ASSUME_ALIGNED(p, a) __builtin_assume_aligned(p, a)
|
# define LLVM_ASSUME_ALIGNED(p, a) __builtin_assume_aligned(p, a)
|
||||||
#else
|
#elif defined(LLVM_BUILTIN_UNREACHABLE)
|
||||||
# define LLVM_ASSUME_ALIGNED(p, a) \
|
# define LLVM_ASSUME_ALIGNED(p, a) \
|
||||||
(((uintptr_t(p) % (a)) == 0) ? (p) : (LLVM_BUILTIN_UNREACHABLE, (p)))
|
(((uintptr_t(p) % (a)) == 0) ? (p) : (LLVM_BUILTIN_UNREACHABLE, (p)))
|
||||||
|
#else
|
||||||
|
# define LLVM_ASSUME_ALIGNED(p, a) (p)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
Loading…
Reference in New Issue
Block a user