aboutsummaryrefslogtreecommitdiff
path: root/include/llvm/Support
diff options
context:
space:
mode:
authorNick Lewycky <nicholas@mxc.ca>2011-11-15 00:14:04 +0000
committerNick Lewycky <nicholas@mxc.ca>2011-11-15 00:14:04 +0000
commitec381a4183f70122305f810c6b11b8f0e3bf83c0 (patch)
tree662b078e2368794cc38cff1b66b7170986d6d320 /include/llvm/Support
parentdd47e0b5d4850fede4b2581c41f1e0a5eff5f05a (diff)
Fix linking for some users who already have tsan enabled code and are trying to
link it against llvm code, by making our definitions weak. "Some users." git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144596 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm/Support')
-rw-r--r--include/llvm/Support/Compiler.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/include/llvm/Support/Compiler.h b/include/llvm/Support/Compiler.h
index cd2e4eb997..14b55c147f 100644
--- a/include/llvm/Support/Compiler.h
+++ b/include/llvm/Support/Compiler.h
@@ -62,11 +62,18 @@
#endif
#if (__GNUC__ >= 4)
+#define LLVM_ATTRIBUTE_WEAK __attribute__((__weak__))
+#else
+#define LLVM_ATTRIBUTE_WEAK
+#endif
+
+#if (__GNUC__ >= 4)
#define BUILTIN_EXPECT(EXPR, VALUE) __builtin_expect((EXPR), (VALUE))
#else
#define BUILTIN_EXPECT(EXPR, VALUE) (EXPR)
#endif
+
// C++ doesn't support 'extern template' of template specializations. GCC does,
// but requires __extension__ before it. In the header, use this:
// EXTERN_TEMPLATE_INSTANTIATION(class foo<bar>);