xref: /llvm-project/clang/test/Driver/as-warnings.c (revision 5805aeb0d924805c4ea132829debfaedcbcb0e76)
1 // RUN: %clang -### %s --target=x86_64-pc-linux-gnu -c -Wa,--fatal-warnings 2>&1 | FileCheck %s --check-prefix=FATAL_WARNINGS
2 
3 // FATAL_WARNINGS: "-massembler-fatal-warnings"
4 
5 // RUN: %clang -### %s -c -o tmp.o -target i686-pc-linux-gnu -fno-integrated-as -Wa,--no-warn 2>&1 | FileCheck -check-prefix=CHECK-NOIAS %s
6 // RUN: %clang -### %s -c -o tmp.o --target=x86_64-pc-linux-gnu -integrated-as -Wa,--no-warn 2>&1 | FileCheck %s
7 
8 /// -W is alias for --no-warn.
9 // RUN: %clang -### %s -c -o tmp.o -target i686-pc-linux-gnu -fno-integrated-as -Wa,-W 2>&1 | FileCheck -check-prefix=CHECK-NOIASW %s
10 // RUN: %clang -### --target=x86_64-pc-linux-gnu %s -c -o tmp.o -integrated-as -Wa,-W 2>&1 | FileCheck %s
11 
12 /// Make sure warnings behave properly in integrated assembler.
13 // RUN: %if x86-registered-target %{ %clang --target=x86_64 %s -c -o /dev/null -fintegrated-as -Wa,--no-warn 2>&1 | count 0 %}
14 // RUN: %if x86-registered-target %{ not %clang --target=x86_64 %s -c -o /dev/null -fintegrated-as -Wa,--fatal-warnings 2>&1 | FileCheck --check-prefix=CHECK-AS-FATAL %s %}
15 
16 // CHECK: "-cc1" {{.*}} "-massembler-no-warn"
17 // CHECK-NOIAS: "--no-warn"
18 // CHECK-NOIASW: "-W"
19 // CHECK-AS-NOWARN-NOT: warning:
20 // CHECK-AS-FATAL: error: .warning directive invoked in source file
21 
22 __asm(".warning");
23