1 // Check behaviour of -fvisibility-from-dllstorageclass options for PS4 2 3 // RUN: %clang -### -target x86_64-scei-ps4 %s -Werror -o - 2>&1 | \ 4 // RUN: FileCheck %s -check-prefixes=DEFAULTS,DEFAULTS1 \ 5 // RUN: --implicit-check-not=-fvisibility-from-dllstorageclass \ 6 // RUN: --implicit-check-not=-fvisibility-dllexport \ 7 // RUN: --implicit-check-not=-fvisibility-nodllstorageclass \ 8 // RUN: --implicit-check-not=-fvisibility-externs-dllimport \ 9 // RUN: --implicit-check-not=-fvisibility-externs-nodllstorageclass 10 11 // RUN: %clang -### -target x86_64-scei-ps4 \ 12 // RUN: -fno-visibility-from-dllstorageclass \ 13 // RUN: -fvisibility-from-dllstorageclass \ 14 // RUN: -Werror \ 15 // RUN: %s -o - 2>&1 | \ 16 // RUN: FileCheck %s -check-prefixes=DEFAULTS,DEFAULTS2 \ 17 // RUN: --implicit-check-not=-fvisibility-from-dllstorageclass \ 18 // RUN: --implicit-check-not=-fvisibility-dllexport \ 19 // RUN: --implicit-check-not=-fvisibility-nodllstorageclass \ 20 // RUN: --implicit-check-not=-fvisibility-externs-dllimport \ 21 // RUN: --implicit-check-not=-fvisibility-externs-nodllstorageclass 22 23 // DEFAULTS: "-fvisibility-from-dllstorageclass" 24 // DEFAULTS-SAME: "-fvisibility-dllexport=protected" 25 // DEFAULTS-SAME: "-fvisibility-nodllstorageclass=hidden" 26 // DEFAULTS-SAME: "-fvisibility-externs-dllimport=default" 27 // DEFAULTS-SAME: "-fvisibility-externs-nodllstorageclass=default" 28 29 // RUN: %clang -### -target x86_64-scei-ps4 \ 30 // RUN: -fvisibility-from-dllstorageclass \ 31 // RUN: -fvisibility-dllexport=hidden \ 32 // RUN: -fvisibility-nodllstorageclass=protected \ 33 // RUN: -fvisibility-externs-dllimport=hidden \ 34 // RUN: -fvisibility-externs-nodllstorageclass=protected \ 35 // RUN: -fno-visibility-from-dllstorageclass \ 36 // RUN: %s -o - 2>&1 | \ 37 // RUN: FileCheck %s -check-prefix=UNUSED \ 38 // RUN: --implicit-check-not=-fvisibility-from-dllstorageclass \ 39 // RUN: --implicit-check-not=-fvisibility-dllexport \ 40 // RUN: --implicit-check-not=-fvisibility-nodllstorageclass \ 41 // RUN: --implicit-check-not=-fvisibility-externs-dllimport \ 42 // RUN: --implicit-check-not=-fvisibility-externs-nodllstorageclass \ 43 // RUN: --implicit-check-not=warning: 44 45 // UNUSED: warning: argument unused during compilation: '-fvisibility-dllexport=hidden' 46 // UNUSED-NEXT: warning: argument unused during compilation: '-fvisibility-nodllstorageclass=protected' 47 // UNUSED-NEXT: warning: argument unused during compilation: '-fvisibility-externs-dllimport=hidden' 48 // UNUSED-NEXT: warning: argument unused during compilation: '-fvisibility-externs-nodllstorageclass=protected' 49 50 // RUN: %clang -### -target x86_64-scei-ps4 \ 51 // RUN: -fvisibility-nodllstorageclass=protected \ 52 // RUN: -fvisibility-externs-dllimport=hidden \ 53 // RUN: -Werror \ 54 // RUN: %s -o - 2>&1 | \ 55 // RUN: FileCheck %s -check-prefix=SOME \ 56 // RUN: --implicit-check-not=-fvisibility-from-dllstorageclass \ 57 // RUN: --implicit-check-not=-fvisibility-dllexport \ 58 // RUN: --implicit-check-not=-fvisibility-nodllstorageclass \ 59 // RUN: --implicit-check-not=-fvisibility-externs-dllimport \ 60 // RUN: --implicit-check-not=-fvisibility-externs-nodllstorageclass 61 62 // RUN: %clang -### -target x86_64-scei-ps4 \ 63 // RUN: -fvisibility-from-dllstorageclass \ 64 // RUN: -fvisibility-nodllstorageclass=protected \ 65 // RUN: -fvisibility-externs-dllimport=hidden \ 66 // RUN: -Werror \ 67 // RUN: %s -o - 2>&1 | \ 68 // RUN: FileCheck %s -check-prefix=SOME \ 69 // RUN: --implicit-check-not=-fvisibility-from-dllstorageclass \ 70 // RUN: --implicit-check-not=-fvisibility-dllexport \ 71 // RUN: --implicit-check-not=-fvisibility-nodllstorageclass \ 72 // RUN: --implicit-check-not=-fvisibility-externs-dllimport \ 73 // RUN: --implicit-check-not=-fvisibility-externs-nodllstorageclass 74 75 // SOME: "-fvisibility-from-dllstorageclass" 76 // SOME-SAME: "-fvisibility-dllexport=protected" 77 // SOME-SAME: "-fvisibility-nodllstorageclass=protected" 78 // SOME-SAME: "-fvisibility-externs-dllimport=hidden" 79 // SOME-SAME: "-fvisibility-externs-nodllstorageclass=default" 80 81 // RUN: %clang -### -target x86_64-scei-ps4 \ 82 // RUN: -fvisibility-dllexport=default \ 83 // RUN: -fvisibility-dllexport=hidden \ 84 // RUN: -fvisibility-nodllstorageclass=default \ 85 // RUN: -fvisibility-nodllstorageclass=protected \ 86 // RUN: -fvisibility-externs-dllimport=default \ 87 // RUN: -fvisibility-externs-dllimport=hidden \ 88 // RUN: -fvisibility-externs-nodllstorageclass=default \ 89 // RUN: -fvisibility-externs-nodllstorageclass=protected \ 90 // RUN: -Werror \ 91 // RUN: %s -o - 2>&1 | \ 92 // RUN: FileCheck %s -check-prefix=ALL \ 93 // RUN: --implicit-check-not=-fvisibility-from-dllstorageclass \ 94 // RUN: --implicit-check-not=-fvisibility-dllexport \ 95 // RUN: --implicit-check-not=-fvisibility-nodllstorageclass \ 96 // RUN: --implicit-check-not=-fvisibility-externs-dllimport \ 97 // RUN: --implicit-check-not=-fvisibility-externs-nodllstorageclass 98 99 // RUN: %clang -### -target x86_64-scei-ps4 \ 100 // RUN: -fvisibility-from-dllstorageclass \ 101 // RUN: -fvisibility-dllexport=default \ 102 // RUN: -fvisibility-dllexport=hidden \ 103 // RUN: -fvisibility-nodllstorageclass=default \ 104 // RUN: -fvisibility-nodllstorageclass=protected \ 105 // RUN: -fvisibility-externs-dllimport=default \ 106 // RUN: -fvisibility-externs-dllimport=hidden \ 107 // RUN: -fvisibility-externs-nodllstorageclass=default \ 108 // RUN: -fvisibility-externs-nodllstorageclass=protected \ 109 // RUN: -Werror \ 110 // RUN: %s -o - 2>&1 | \ 111 // RUN: FileCheck %s -check-prefix=ALL \ 112 // RUN: --implicit-check-not=-fvisibility-from-dllstorageclass \ 113 // RUN: --implicit-check-not=-fvisibility-dllexport \ 114 // RUN: --implicit-check-not=-fvisibility-nodllstorageclass \ 115 // RUN: --implicit-check-not=-fvisibility-externs-dllimport \ 116 // RUN: --implicit-check-not=-fvisibility-externs-nodllstorageclass 117 118 // ALL: "-fvisibility-from-dllstorageclass" 119 // ALL-SAME: "-fvisibility-dllexport=hidden" 120 // ALL-SAME: "-fvisibility-nodllstorageclass=protected" 121 // ALL-SAME: "-fvisibility-externs-dllimport=hidden" 122 // ALL-SAME: "-fvisibility-externs-nodllstorageclass=protected" 123