53 lines · plain
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 %s6// 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-hidden10 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}53