xref: /llvm-project/clang/test/Driver/as-warnings.c (revision 5805aeb0d924805c4ea132829debfaedcbcb0e76)
146add490SFangrui Song // RUN: %clang -### %s --target=x86_64-pc-linux-gnu -c -Wa,--fatal-warnings 2>&1 | FileCheck %s --check-prefix=FATAL_WARNINGS
246add490SFangrui Song 
346add490SFangrui Song // FATAL_WARNINGS: "-massembler-fatal-warnings"
446add490SFangrui Song 
546add490SFangrui Song // 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
664666d46SFangrui Song // RUN: %clang -### %s -c -o tmp.o --target=x86_64-pc-linux-gnu -integrated-as -Wa,--no-warn 2>&1 | FileCheck %s
746add490SFangrui Song 
846add490SFangrui Song /// -W is alias for --no-warn.
946add490SFangrui Song // 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
1064666d46SFangrui Song // RUN: %clang -### --target=x86_64-pc-linux-gnu %s -c -o tmp.o -integrated-as -Wa,-W 2>&1 | FileCheck %s
1146add490SFangrui Song 
1246add490SFangrui Song /// Make sure warnings behave properly in integrated assembler.
13*5805aeb0SFangrui Song // RUN: %if x86-registered-target %{ %clang --target=x86_64 %s -c -o /dev/null -fintegrated-as -Wa,--no-warn 2>&1 | count 0 %}
14*5805aeb0SFangrui Song // 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 %}
1546add490SFangrui Song 
1646add490SFangrui Song // CHECK: "-cc1" {{.*}} "-massembler-no-warn"
1746add490SFangrui Song // CHECK-NOIAS: "--no-warn"
1846add490SFangrui Song // CHECK-NOIASW: "-W"
1946add490SFangrui Song // CHECK-AS-NOWARN-NOT: warning:
2046add490SFangrui Song // CHECK-AS-FATAL: error: .warning directive invoked in source file
2146add490SFangrui Song 
2246add490SFangrui Song __asm(".warning");
23