// Check behaviour of -fvisibility-from-dllstorageclass options // RUN: %clang -target x86_64-unknown-windows-itanium -fdeclspec \ // RUN: -Werror -S -### %s 2>&1 | \ // RUN: FileCheck %s \ // RUN: --implicit-check-not=-fvisibility-from-dllstorageclass \ // RUN: --implicit-check-not=-fvisibility-dllexport \ // RUN: --implicit-check-not=-fvisibility-nodllstorageclass \ // RUN: --implicit-check-not=-fvisibility-externs-dllimport \ // RUN: --implicit-check-not=-fvisibility-externs-nodllstorageclass // RUN: %clang -target x86_64-unknown-windows-itanium -fdeclspec \ // RUN: -fvisibility-from-dllstorageclass \ // RUN: -fno-visibility-from-dllstorageclass \ // RUN: -Werror -S -### %s 2>&1 | \ // RUN: FileCheck %s \ // RUN: --implicit-check-not=-fvisibility-from-dllstorageclass \ // RUN: --implicit-check-not=-fvisibility-dllexport \ // RUN: --implicit-check-not=-fvisibility-nodllstorageclass \ // RUN: --implicit-check-not=-fvisibility-externs-dllimport \ // RUN: --implicit-check-not=-fvisibility-externs-nodllstorageclass // RUN: %clang -target x86_64-unknown-windows-itanium -fdeclspec \ // RUN: -fno-visibility-from-dllstorageclass \ // RUN: -fvisibility-from-dllstorageclass \ // RUN: -Werror -S -### %s 2>&1 | \ // RUN: FileCheck %s --check-prefix=SET \ // RUN: --implicit-check-not=-fvisibility-from-dllstorageclass \ // RUN: --implicit-check-not=-fvisibility-dllexport \ // RUN: --implicit-check-not=-fvisibility-nodllstorageclass \ // RUN: --implicit-check-not=-fvisibility-externs-dllimport \ // RUN: --implicit-check-not=-fvisibility-externs-nodllstorageclass // RUN: %clang -target x86_64-unknown-windows-itanium -fdeclspec \ // RUN: -fvisibility-dllexport=hidden \ // RUN: -fvisibility-nodllstorageclass=protected \ // RUN: -fvisibility-externs-dllimport=hidden \ // RUN: -fvisibility-externs-nodllstorageclass=protected \ // RUN: -S -### %s 2>&1 | \ // RUN: FileCheck %s --check-prefixes=UNUSED \ // RUN: --implicit-check-not=-fvisibility-from-dllstorageclass \ // RUN: --implicit-check-not=-fvisibility-dllexport \ // RUN: --implicit-check-not=-fvisibility-nodllstorageclass \ // RUN: --implicit-check-not=-fvisibility-externs-dllimport \ // RUN: --implicit-check-not=-fvisibility-externs-nodllstorageclass \ // RUN: --implicit-check-not=error: \ // RUN: --implicit-check-not=warning: // RUN: %clang -target x86_64-unknown-windows-itanium -fdeclspec \ // RUN: -fno-visibility-from-dllstorageclass \ // RUN: -fvisibility-dllexport=hidden \ // RUN: -fvisibility-nodllstorageclass=protected \ // RUN: -fvisibility-externs-dllimport=hidden \ // RUN: -fvisibility-externs-nodllstorageclass=protected \ // RUN: -S -### %s 2>&1 | \ // RUN: FileCheck %s --check-prefixes=UNUSED \ // RUN: --implicit-check-not=-fvisibility-from-dllstorageclass \ // RUN: --implicit-check-not=-fvisibility-dllexport \ // RUN: --implicit-check-not=-fvisibility-nodllstorageclass \ // RUN: --implicit-check-not=-fvisibility-externs-dllimport \ // RUN: --implicit-check-not=-fvisibility-externs-nodllstorageclass \ // RUN: --implicit-check-not=error: \ // RUN: --implicit-check-not=warning: // UNUSED: warning: argument unused during compilation: '-fvisibility-dllexport=hidden' // UNUSED-NEXT: warning: argument unused during compilation: '-fvisibility-nodllstorageclass=protected' // UNUSED-NEXT: warning: argument unused during compilation: '-fvisibility-externs-dllimport=hidden' // UNUSED-NEXT: warning: argument unused during compilation: '-fvisibility-externs-nodllstorageclass=protected' // RUN: %clang -target x86_64-unknown-windows-itanium -fdeclspec \ // RUN: -fvisibility-from-dllstorageclass \ // RUN: -fvisibility-dllexport=default \ // RUN: -fvisibility-dllexport=hidden \ // RUN: -fvisibility-nodllstorageclass=default \ // RUN: -fvisibility-nodllstorageclass=protected \ // RUN: -fvisibility-externs-dllimport=default \ // RUN: -fvisibility-externs-dllimport=hidden \ // RUN: -fvisibility-externs-nodllstorageclass=default \ // RUN: -fvisibility-externs-nodllstorageclass=protected \ // RUN: -Werror -S -### %s 2>&1 | \ // RUN: FileCheck %s --check-prefixes=SET,ALL // SET: "-fvisibility-from-dllstorageclass" // ALL-SAME: "-fvisibility-dllexport=hidden" // ALL-SAME: "-fvisibility-nodllstorageclass=protected" // ALL-SAME: "-fvisibility-externs-dllimport=hidden" // ALL-SAME: "-fvisibility-externs-nodllstorageclass=protected"