mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-29 10:32:47 +00:00
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
This commit is contained in:
parent
dd47e0b5d4
commit
ec381a4183
@ -61,12 +61,19 @@
|
||||
#define LLVM_ATTRIBUTE_READONLY
|
||||
#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>);
|
||||
|
@ -56,10 +56,10 @@ void llvm::sys::ValgrindDiscardTranslations(const void *Addr, size_t Len) {
|
||||
// These functions require no implementation, tsan just looks at the arguments
|
||||
// they're called with.
|
||||
extern "C" {
|
||||
void AnnotateHappensBefore(const char *file, int line,
|
||||
const volatile void *cv) {}
|
||||
void AnnotateHappensAfter(const char *file, int line,
|
||||
const volatile void *cv) {}
|
||||
void AnnotateIgnoreWritesBegin(const char *file, int line) {}
|
||||
void AnnotateIgnoreWritesEnd(const char *file, int line) {}
|
||||
LLVM_ATTRIBUTE_WEAK void AnnotateHappensBefore(const char *file, int line,
|
||||
const volatile void *cv) {}
|
||||
LLVM_ATTRIBUTE_WEAK void AnnotateHappensAfter(const char *file, int line,
|
||||
const volatile void *cv) {}
|
||||
LLVM_ATTRIBUTE_WEAK void AnnotateIgnoreWritesBegin(const char *file, int line){}
|
||||
LLVM_ATTRIBUTE_WEAK void AnnotateIgnoreWritesEnd(const char *file, int line) {}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user