brintos

brintos / llvm-project-archived public Read only

0
0
Text · 5.9 KiB · 65d13d3 Raw
120 lines · c
1//// Check behaviour of -fvisibility-from-dllstorageclass options2 3// RUN: %clang -target x86_64-unknown-windows-itanium -fdeclspec \4// RUN:     -Werror -S -### %s 2>&1 | \5// RUN:   FileCheck %s \6// RUN:     --implicit-check-not=-fvisibility-from-dllstorageclass \7// RUN:     --implicit-check-not=-fvisibility-dllexport \8// RUN:     --implicit-check-not=-fvisibility-nodllstorageclass \9// RUN:     --implicit-check-not=-fvisibility-externs-dllimport \10// RUN:     --implicit-check-not=-fvisibility-externs-nodllstorageclass11 12// RUN: %clang -target x86_64-unknown-windows-itanium -fdeclspec \13// RUN:     -fvisibility-from-dllstorageclass \14// RUN:     -fno-visibility-from-dllstorageclass \15// RUN:     -Werror -S -### %s 2>&1 | \16// RUN:   FileCheck %s \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-nodllstorageclass22 23// RUN: %clang -target x86_64-unknown-windows-itanium -fdeclspec \24// RUN:     -fno-visibility-from-dllstorageclass \25// RUN:     -fvisibility-from-dllstorageclass \26// RUN:     -Werror -S -### %s 2>&1 | \27// RUN:   FileCheck %s --check-prefix=SET \28// RUN:     --implicit-check-not=-fvisibility-from-dllstorageclass \29// RUN:     --implicit-check-not=-fvisibility-dllexport \30// RUN:     --implicit-check-not=-fvisibility-nodllstorageclass \31// RUN:     --implicit-check-not=-fvisibility-externs-dllimport \32// RUN:     --implicit-check-not=-fvisibility-externs-nodllstorageclass33 34// RUN: %clang -target x86_64-unknown-windows-itanium -fdeclspec \35// RUN:     -fvisibility-dllexport=hidden \36// RUN:     -fvisibility-nodllstorageclass=protected \37// RUN:     -fvisibility-externs-dllimport=hidden \38// RUN:     -fvisibility-externs-nodllstorageclass=protected \39// RUN:     -S -### %s 2>&1 | \40// RUN:   FileCheck %s --check-prefixes=UNUSED \41// RUN:     --implicit-check-not=-fvisibility-from-dllstorageclass \42// RUN:     --implicit-check-not=-fvisibility-dllexport \43// RUN:     --implicit-check-not=-fvisibility-nodllstorageclass \44// RUN:     --implicit-check-not=-fvisibility-externs-dllimport \45// RUN:     --implicit-check-not=-fvisibility-externs-nodllstorageclass \46// RUN:     --implicit-check-not=error: \47// RUN:     --implicit-check-not=warning:48 49// RUN: %clang -target x86_64-unknown-windows-itanium -fdeclspec \50// RUN:     -fno-visibility-from-dllstorageclass \51// RUN:     -fvisibility-dllexport=hidden \52// RUN:     -fvisibility-nodllstorageclass=protected \53// RUN:     -fvisibility-externs-dllimport=hidden \54// RUN:     -fvisibility-externs-nodllstorageclass=protected \55// RUN:     -S -### %s 2>&1 | \56// RUN:   FileCheck %s --check-prefixes=UNUSED \57// RUN:     --implicit-check-not=-fvisibility-from-dllstorageclass \58// RUN:     --implicit-check-not=-fvisibility-dllexport \59// RUN:     --implicit-check-not=-fvisibility-nodllstorageclass \60// RUN:     --implicit-check-not=-fvisibility-externs-dllimport \61// RUN:     --implicit-check-not=-fvisibility-externs-nodllstorageclass \62// RUN:     --implicit-check-not=error: \63// RUN:     --implicit-check-not=warning:64 65// UNUSED:      warning: argument unused during compilation: '-fvisibility-dllexport=hidden'66// UNUSED-NEXT: warning: argument unused during compilation: '-fvisibility-nodllstorageclass=protected'67// UNUSED-NEXT: warning: argument unused during compilation: '-fvisibility-externs-dllimport=hidden'68// UNUSED-NEXT: warning: argument unused during compilation: '-fvisibility-externs-nodllstorageclass=protected'69 70// RUN: %clang -target x86_64-unknown-windows-itanium -fdeclspec \71// RUN:     -fvisibility-from-dllstorageclass \72// RUN:     -fvisibility-dllexport=default \73// RUN:     -fvisibility-dllexport=hidden \74// RUN:     -fvisibility-nodllstorageclass=default \75// RUN:     -fvisibility-nodllstorageclass=protected \76// RUN:     -fvisibility-externs-dllimport=default \77// RUN:     -fvisibility-externs-dllimport=hidden \78// RUN:     -fvisibility-externs-nodllstorageclass=default \79// RUN:     -fvisibility-externs-nodllstorageclass=protected \80// RUN:     -Werror -S -### %s 2>&1 | \81// RUN:   FileCheck %s --check-prefixes=SET,ALL82 83// SET:      "-fvisibility-from-dllstorageclass"84// ALL-SAME: "-fvisibility-dllexport=hidden"85// ALL-SAME: "-fvisibility-nodllstorageclass=protected"86// ALL-SAME: "-fvisibility-externs-dllimport=hidden"87// ALL-SAME: "-fvisibility-externs-nodllstorageclass=protected"88 89//// Test that "keep" can be specified, which means that the visibility of90//// the matching globals will not be adjusted.91 92// RUN: %clang -target x86_64-unknown-windows-itanium -fdeclspec \93// RUN:     -fvisibility-from-dllstorageclass \94// RUN:     -fvisibility-dllexport=keep \95// RUN:     -fvisibility-nodllstorageclass=keep \96// RUN:     -fvisibility-externs-dllimport=keep \97// RUN:     -fvisibility-externs-nodllstorageclass=keep \98// RUN:     -Werror -S -### %s 2>&1 | \99// RUN:   FileCheck %s --check-prefixes=KEEP100 101// KEEP:        "-fvisibility-from-dllstorageclass"102// KEEP-SAME:   "-fvisibility-dllexport=keep"103// KEEP-SAME:   "-fvisibility-nodllstorageclass=keep"104// KEEP-SAME:   "-fvisibility-externs-dllimport=keep"105// KEEP-SAME:   "-fvisibility-externs-nodllstorageclass=keep"106 107// RUN: %clang -target x86_64-unknown-windows-itanium -fdeclspec \108// RUN:     -fvisibility-from-dllstorageclass \109// RUN:     -fvisibility-dllexport=default \110// RUN:     -fvisibility-dllexport=keep \111// RUN:     -fvisibility-nodllstorageclass=default \112// RUN:     -fvisibility-nodllstorageclass=keep \113// RUN:     -fvisibility-externs-dllimport=default \114// RUN:     -fvisibility-externs-dllimport=keep \115// RUN:     -fvisibility-externs-nodllstorageclass=default \116// RUN:     -fvisibility-externs-nodllstorageclass=keep \117// RUN:     -Werror -S -### %s 2>&1 | \118// RUN:   FileCheck %s --check-prefixes=KEEP119 120