|
| 1 | +/// Check driver handling for "-fvisibility-global-new-delete-hidden" and "-fvisibility-global-new-delete=". |
| 2 | + |
| 3 | +/// These options are not added by default. |
| 4 | +// RUN: %clang -### --target=x86_64-unknown-unknown -c -emit-llvm %s 2>&1 | \ |
| 5 | +// RUN: FileCheck -check-prefix=DEFAULTS %s |
| 6 | +// DEFAULTS-NOT: "-fvisibility-global-new-delete=" |
| 7 | +// DEFAULTS-NOT: "-fvisibility-global-new-delete-hidden" |
| 8 | + |
| 9 | +// DEFINE: %{implicit-check-nots} = --implicit-check-not=-fvisibility-global-new-delete= --implicit-check-not=-fvisibility-global-new-delete-hidden |
| 10 | + |
| 11 | +/// "-fvisibility-global-new-delete=source" added by default for PS5. |
| 12 | +// RUN: %clang -### --target=x86_64-sie-ps5 -c -emit-llvm %s 2>&1 | \ |
| 13 | +// RUN: FileCheck -check-prefix=PS5 %s |
| 14 | +// PS5: "-fvisibility-global-new-delete=source" |
| 15 | + |
| 16 | +/// -fvisibility-global-new-delete-hidden added explicitly. |
| 17 | +// RUN: %clang -### --target=x86_64-unknown-unknown -c -emit-llvm \ |
| 18 | +// RUN: -fvisibility-global-new-delete-hidden %s 2>&1 | FileCheck -check-prefixes=VGNDH,DEPRECATED %s %{implicit-check-nots} |
| 19 | +// RUN: %clang -### --target=x86_64-sie-ps5 -c -emit-llvm \ |
| 20 | +// RUN: -fvisibility-global-new-delete-hidden %s 2>&1 | FileCheck -check-prefixes=VGNDH,DEPRECATED %s %{implicit-check-nots} |
| 21 | +// DEPRECATED-DAG: clang: warning: argument '-fvisibility-global-new-delete-hidden' is deprecated, use '-fvisibility-global-new-delete=force-hidden' instead [-Wdeprecated] |
| 22 | +// VGNDH-DAG: "-fvisibility-global-new-delete=force-hidden" |
| 23 | + |
| 24 | +/// -fvisibility-global-new-delete=force-hidden added explicitly. |
| 25 | +// RUN: %clang -### --target=x86_64-unknown-unknown -c -emit-llvm \ |
| 26 | +// RUN: -fvisibility-global-new-delete=force-hidden %s 2>&1 | FileCheck -check-prefixes=VGNDH %s %{implicit-check-nots} |
| 27 | +// RUN: %clang -### --target=x86_64-sie-ps5 -c -emit-llvm \ |
| 28 | +// RUN: -fvisibility-global-new-delete=force-hidden %s 2>&1 | FileCheck -check-prefixes=VGNDH %s %{implicit-check-nots} |
| 29 | + |
| 30 | +/// -fvisibility-global-new-delete=force-protected added explicitly. |
| 31 | +// RUN: %clang -### --target=x86_64-unknown-unknown -c -emit-llvm \ |
| 32 | +// RUN: -fvisibility-global-new-delete=force-protected %s 2>&1 | FileCheck -check-prefixes=VGNDP %s %{implicit-check-nots} |
| 33 | +// RUN: %clang -### --target=x86_64-sie-ps5 -c -emit-llvm \ |
| 34 | +// RUN: -fvisibility-global-new-delete=force-protected %s 2>&1 | FileCheck -check-prefixes=VGNDP %s %{implicit-check-nots} |
| 35 | +// VGNDP-DAG: "-fvisibility-global-new-delete=force-protected" |
| 36 | + |
| 37 | +/// -fvisibility-global-new-delete=force-default added explicitly. |
| 38 | +// RUN: %clang -### --target=x86_64-unknown-unknown -c -emit-llvm \ |
| 39 | +// RUN: -fvisibility-global-new-delete=force-default %s 2>&1 | FileCheck -check-prefixes=VGNDD %s %{implicit-check-nots} |
| 40 | +// RUN: %clang -### --target=x86_64-sie-ps5 -c -emit-llvm \ |
| 41 | +// RUN: -fvisibility-global-new-delete=force-default %s 2>&1 | FileCheck -check-prefixes=VGNDD %s %{implicit-check-nots} |
| 42 | +// VGNDD-DAG: "-fvisibility-global-new-delete=force-default" |
| 43 | + |
| 44 | +/// last specfied used: -fvisibility-global-new-delete-hidden. |
| 45 | +// RUN: %clang -### --target=x86_64-unknown-unknown -c -emit-llvm \ |
| 46 | +// RUN: -fvisibility-global-new-delete=force-default -fvisibility-global-new-delete=force-protected -fvisibility-global-new-delete-hidden %s 2>&1 | \ |
| 47 | +// RUN: FileCheck -check-prefixes=VGNDH,DEPRECATED %s %{implicit-check-nots} |
| 48 | + |
| 49 | +/// last specfied used: -fvisibility-global-new-delete=. |
| 50 | +// RUN: %clang -### --target=x86_64-unknown-unknown -c -emit-llvm \ |
| 51 | +// RUN: -fvisibility-global-new-delete-hidden -fvisibility-global-new-delete=force-default -fvisibility-global-new-delete=force-protected %s 2>&1 | \ |
| 52 | +// RUN: FileCheck -check-prefixes=VGNDP,DEPRECATED %s %{implicit-check-nots} |
0 commit comments