summaryrefslogtreecommitdiffstats
path: root/clang/lib
diff options
context:
space:
mode:
authorViktor Kutuzov <vkutuzov@accesssoftek.com>2014-10-27 11:26:01 +0000
committerViktor Kutuzov <vkutuzov@accesssoftek.com>2014-10-27 11:26:01 +0000
commitbff42de11c85b66deba10d26594ca00d599aff91 (patch)
tree82956a7804f938657601732ff1f3e35cd642a824 /clang/lib
parentadf81dbcc6ad8958946ae10a02cb21052920523b (diff)
downloadbcm5719-llvm-bff42de11c85b66deba10d26594ca00d599aff91.tar.gz
bcm5719-llvm-bff42de11c85b66deba10d26594ca00d599aff91.zip
Allow thread sanitizer in clang driver on FreeBSD
Differential Revision: http://reviews.llvm.org/D5994 llvm-svn: 220675
Diffstat (limited to 'clang/lib')
-rw-r--r--clang/lib/Driver/SanitizerArgs.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/clang/lib/Driver/SanitizerArgs.cpp b/clang/lib/Driver/SanitizerArgs.cpp
index 6a372b08481..4909a67d15d 100644
--- a/clang/lib/Driver/SanitizerArgs.cpp
+++ b/clang/lib/Driver/SanitizerArgs.cpp
@@ -267,11 +267,16 @@ unsigned SanitizerArgs::filterUnsupportedKinds(const ToolChain &TC,
const llvm::opt::Arg *A,
bool DiagnoseErrors,
unsigned &DiagnosedKinds) {
+ bool IsFreeBSD = TC.getTriple().getOS() == llvm::Triple::FreeBSD;
bool IsLinux = TC.getTriple().getOS() == llvm::Triple::Linux;
bool IsX86 = TC.getTriple().getArch() == llvm::Triple::x86;
bool IsX86_64 = TC.getTriple().getArch() == llvm::Triple::x86_64;
if (!(IsLinux && IsX86_64)) {
- filterUnsupportedMask(TC, Kinds, Thread | Memory | DataFlow, Args, A,
+ filterUnsupportedMask(TC, Kinds, Memory | DataFlow, Args, A,
+ DiagnoseErrors, DiagnosedKinds);
+ }
+ if (!((IsLinux || IsFreeBSD) && IsX86_64)) {
+ filterUnsupportedMask(TC, Kinds, Thread, Args, A,
DiagnoseErrors, DiagnosedKinds);
}
if (!(IsLinux && (IsX86 || IsX86_64))) {
OpenPOWER on IntegriCloud