1 /// Check PS5 specific interactions between visibility options.
2 /// Detailed testing of -fvisibility-from-dllstorageclass is covered elsewhere.
5 // RUN
: %clang -
### -target x86_64-sie-ps5 -x cl -c -emit-llvm %s
2>&1 | \
6 // RUN
: FileCheck -check-prefixes
=VDEFAULT
,VGND_DEFAULT
,DEFAULT %s --implicit-check-not
=fvisibility --implicit-check-not
=ftype-visibility --implicit-check-not
=dllstorageclass
7 // VDEFAULT-DAG
: "-fvisibility=hidden"
8 // VGND_DEFAULT-DAG
: "-fvisibility-global-new-delete=source"
9 // DEFAULT-DAG
: "-fvisibility-from-dllstorageclass"
10 // DEFAULT-DAG
: "-fvisibility-dllexport=protected"
11 // DEFAULT-DAG
: "-fvisibility-nodllstorageclass=keep"
12 // DEFAULT-DAG
: "-fvisibility-externs-dllimport=default"
13 // DEFAULT-DAG
: "-fvisibility-externs-nodllstorageclass=keep"
15 /// -fvisibility
= specified explicitly.
16 // RUN
: %clang -
### -target x86_64-sie-ps5 -x cl -c -emit-llvm -fvisibility
=protected %s
2>&1 | \
17 // RUN
: FileCheck -check-prefixes
=VPROTECTED
,VGND_DEFAULT
,DEFAULT %s --implicit-check-not
=fvisibility --implicit-check-not
=ftype-visibility --implicit-check-not
=dllstorageclass
18 // VPROTECTED-DAG
: "-fvisibility=protected"
20 /// -fvisibility-ms-compat added explicitly.
21 // RUN
: %clang -
### -target x86_64-sie-ps5 -x cl -c -emit-llvm -fvisibility-ms-compat %s
2>&1 | \
22 // RUN
: FileCheck -check-prefixes
=MSCOMPT
,VGND_DEFAULT
,DEFAULT %s --implicit-check-not
=fvisibility --implicit-check-not
=ftype-visibility --implicit-check-not
=dllstorageclass
23 // MSCOMPT-DAG
: "-fvisibility=hidden"
24 // MSCOMPT-DAG
: "-ftype-visibility=default"
26 /// -fvisibility-from-dllstorageclass added explicitly.
27 // RUN
: %clang -
### -target x86_64-sie-ps5 -x cl -c -emit-llvm -fvisibility-from-dllstorageclass %s
2>&1 | \
28 // RUN
: FileCheck -check-prefixes
=VDEFAULT
,VGND_DEFAULT
,DEFAULT %s --implicit-check-not
=fvisibility --implicit-check-not
=ftype-visibility --implicit-check-not
=dllstorageclass
30 /// -fvisibility-from-dllstorageclass disabled explicitly.
31 // RUN
: %clang -
### -target x86_64-sie-ps5 -x cl -c -emit-llvm -fno-visibility-from-dllstorageclass %s
2>&1 | \
32 // RUN
: FileCheck -check-prefixes
=VDEFAULT
,VGND_DEFAULT
,NOVISFROM %s --implicit-check-not
=fvisibility --implicit-check-not
=ftype-visibility --implicit-check-not
=dllstorageclass
33 // NOVISFROM-NOT
: "-fvisibility-from-dllstorageclass"