From c371ff048df8731052976f4e628ed1861cf61cfd Mon Sep 17 00:00:00 2001 From: David Majnemer Date: Sun, 22 Mar 2015 08:39:22 +0000 Subject: 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 --- clang/test/Driver/cl-options.c | 8 ++++++++ clang/test/Driver/msc-version.c | 2 +- 2 files changed, 9 insertions(+), 1 deletion(-) (limited to 'clang/test') 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 - &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 - &1 | FileCheck %s -check-prefix CHECK-MSC-16 -- cgit v1.2.3