summaryrefslogtreecommitdiffstats
path: root/clang/test/Driver/visibility.cpp
diff options
context:
space:
mode:
authorJohn McCall <rjmccall@apple.com>2013-02-19 01:57:35 +0000
committerJohn McCall <rjmccall@apple.com>2013-02-19 01:57:35 +0000
commitb4a99d3194982a8f6117b241f92090a24eea9388 (patch)
treeb48dd9f966485329cf296b26957e82afe35060f6 /clang/test/Driver/visibility.cpp
parenta496098bb8bdbd9889e23bf1363ca28376ed7113 (diff)
downloadbcm5719-llvm-b4a99d3194982a8f6117b241f92090a24eea9388.tar.gz
bcm5719-llvm-b4a99d3194982a8f6117b241f92090a24eea9388.zip
Add support for -fvisibility-ms-compat.
We treat this as an alternative to -fvisibility=<?> which changes the default value visibility to "hidden" and the default type visibility to "default". Expose a -cc1 option for changing the default type visibility, repurposing -fvisibility as the default value visibility option (also setting type visibility from it in the absence of a specific option). rdar://13079314 llvm-svn: 175480
Diffstat (limited to 'clang/test/Driver/visibility.cpp')
-rw-r--r--clang/test/Driver/visibility.cpp34
1 files changed, 34 insertions, 0 deletions
diff --git a/clang/test/Driver/visibility.cpp b/clang/test/Driver/visibility.cpp
new file mode 100644
index 00000000000..cdbef97aadc
--- /dev/null
+++ b/clang/test/Driver/visibility.cpp
@@ -0,0 +1,34 @@
+// RUN: %clang -### -S -fvisibility=hidden -fvisibility=default %s 2> %t.log
+// RUN: FileCheck -check-prefix=CHECK-1 %s < %t.log
+// CHECK-NOT: "-ftype-visibility"
+// CHECK-1: "-fvisibility" "default"
+// CHECK-NOT: "-ftype-visibility"
+
+// RUN: %clang -### -S -fvisibility=default -fvisibility=hidden %s 2> %t.log
+// RUN: FileCheck -check-prefix=CHECK-2 %s < %t.log
+// CHECK-NOT: "-ftype-visibility"
+// CHECK-2: "-fvisibility" "hidden"
+// CHECK-NOT: "-ftype-visibility"
+
+// RUN: %clang -### -S -fvisibility-ms-compat -fvisibility=hidden %s 2> %t.log
+// RUN: FileCheck -check-prefix=CHECK-3 %s < %t.log
+// CHECK-NOT: "-ftype-visibility"
+// CHECK-3: "-fvisibility" "hidden"
+// CHECK-NOT: "-ftype-visibility"
+
+// RUN: %clang -### -S -fvisibility-ms-compat -fvisibility=default %s 2> %t.log
+// RUN: FileCheck -check-prefix=CHECK-4 %s < %t.log
+// CHECK-NOT: "-ftype-visibility"
+// CHECK-4: "-fvisibility" "default"
+// CHECK-NOT: "-ftype-visibility"
+
+// RUN: %clang -### -S -fvisibility=hidden -fvisibility-ms-compat %s 2> %t.log
+// RUN: FileCheck -check-prefix=CHECK-5 %s < %t.log
+// CHECK-5: "-fvisibility" "hidden"
+// CHECK-5: "-ftype-visibility" "default"
+
+// RUN: %clang -### -S -fvisibility=default -fvisibility-ms-compat %s 2> %t.log
+// RUN: FileCheck -check-prefix=CHECK-6 %s < %t.log
+// CHECK-6: "-fvisibility" "hidden"
+// CHECK-6: "-ftype-visibility" "default"
+
OpenPOWER on IntegriCloud