diff options
author | David Majnemer <david.majnemer@gmail.com> | 2015-03-22 08:39:22 +0000 |
---|---|---|
committer | David Majnemer <david.majnemer@gmail.com> | 2015-03-22 08:39:22 +0000 |
commit | c371ff048df8731052976f4e628ed1861cf61cfd (patch) | |
tree | 0f88276ac2f3a25c058e0cdd0471c2a5ac6501fa /clang/test | |
parent | a3ea9a4e09ad7339022cff87fe90ed7f9e53f8e3 (diff) | |
download | bcm5719-llvm-c371ff048df8731052976f4e628ed1861cf61cfd.tar.gz bcm5719-llvm-c371ff048df8731052976f4e628ed1861cf61cfd.zip |
MS ABI: Implement driver-level support for thread-safe statics
Decide whether or not to use thread-safe statics depending on whether or
not we have an explicit request from the driver. If we don't have an
explicit request, infer which behavior to use depending on the
compatibility version we are targeting.
N.B. CodeGen support is still ongoing.
llvm-svn: 232906
Diffstat (limited to 'clang/test')
-rw-r--r-- | clang/test/Driver/cl-options.c | 8 | ||||
-rw-r--r-- | clang/test/Driver/msc-version.c | 2 |
2 files changed, 9 insertions, 1 deletions
diff --git a/clang/test/Driver/cl-options.c b/clang/test/Driver/cl-options.c index 2dc810d91e3..3a22154d601 100644 --- a/clang/test/Driver/cl-options.c +++ b/clang/test/Driver/cl-options.c @@ -317,6 +317,14 @@ // RTTI-NOT: "-fno-rtti-data" // RTTI-NOT: "-fno-rtti" +// thread safe statics are off for versions < 19. +// RUN: %clang_cl /c -### -- %s 2>&1 | FileCheck -check-prefix=NoThreadSafeStatics %s +// RUN: %clang_cl /Zc:threadSafeInit /Zc:threadSafeInit- /c -### -- %s 2>&1 | FileCheck -check-prefix=NoThreadSafeStatics %s +// NoThreadSafeStatics: "-fno-threadsafe-statics" + +// RUN: %clang_cl /Zc:threadSafeInit /c -### -- %s 2>&1 | FileCheck -check-prefix=ThreadSafeStatics %s +// ThreadSafeStatics-NOT: "-fno-threadsafe-statics" + // Accept "core" clang options. // (/Zs is for syntax-only) // RUN: %clang_cl \ diff --git a/clang/test/Driver/msc-version.c b/clang/test/Driver/msc-version.c index 4105eba868f..18fe731eeba 100644 --- a/clang/test/Driver/msc-version.c +++ b/clang/test/Driver/msc-version.c @@ -54,7 +54,7 @@ // RUN: %clang -### -target i686-windows -fms-compatibility -fmsc-version=17 -E - </dev/null -o /dev/null 2>&1 | FileCheck %s -check-prefix CHECK-MSC-17 // CHECK-MSC-17-NOT: "-fmsc-version=1700" -// CHECK-MSC-17: "-fms-compatibility-version=17.0" +// CHECK-MSC-17: "-fms-compatibility-version=17" // RUN: %clang -### -target i686-windows -fms-compatibility -fmsc-version=1600 -E - </dev/null -o /dev/null 2>&1 | FileCheck %s -check-prefix CHECK-MSC-16 |