llvm-project/clang/test/Driver/no-integrated-cpp.c
Hubert Tong cc51cbe278
[clang][Driver][test][NFC] Adjust test for targets with no cc1as (#140490)
Have the test accept use of the toolchain assembler instead of `-cc1as`
as some targets, such as AIX, do not use `-cc1as`.
2025-05-19 06:23:45 -04:00

84 lines
3.0 KiB
C

// RUN: %clang -O2 %s -E -o %t.i
//
// RUN: %clang -O2 %s -c -o a.o -no-integrated-cpp -### 2>&1 | FileCheck %s --check-prefixes=SRC
// SRC: "-E"
// SRC-SAME: "-o" "[[PREPROC:.*.i]]"
// SRC-SAME: "-x" "c" "{{.*}}no-integrated-cpp.c"
//
// SRC-NEXT: "-emit-obj"
// SRC-SAME: "-o" "a.o"
// SRC-SAME: "-x" "cpp-output" "[[PREPROC]]"
//
// RUN: %clang -O2 %s -c -o a.o -no-integrated-cpp -save-temps -### 2>&1 | FileCheck %s --check-prefixes=SRC-SAVE
// SRC-SAVE: "-E"
// SRC-SAVE-SAME: "-o" "[[PREPROC:.*.i]]"
// SRC-SAVE-SAME: "-x" "c" "{{.*}}no-integrated-cpp.c"
//
// SRC-SAVE-NEXT: "-emit-llvm-bc"
// SRC-SAVE-SAME: "-o" "[[BITCODE:.*.bc]]"
// SRC-SAVE-SAME: "-x" "cpp-output" "[[PREPROC]]"
//
// SRC-SAVE-NEXT: "-S"
// SRC-SAVE-SAME: "-o" "[[ASM:.*.s]]"
// SRC-SAVE-SAME: "-x" "ir" "[[BITCODE]]"
//
// SRC-SAVE-NEXT: {{"-cc1as"|"[^"]*/as"}}
// SRC-SAVE-SAME: "-o" "a.o" "[[ASM]]"
//
// RUN: %clang -O2 %t.i -c -o a.o -no-integrated-cpp -### 2>&1 | FileCheck %s --check-prefixes=PRE
// PRE-NOT: "-E"
// PRE: "-emit-obj"
// PRE-SAME: "-o" "a.o"
// PRE-SAME: "-x" "cpp-output" "{{.*}}no-integrated-cpp.c.tmp.i"
//
// RUN: %clang -O2 %t.i -c -o a.o -no-integrated-cpp -save-temps -### 2>&1 | FileCheck %s --check-prefixes=PRE-SAVE
// PRE-SAVE-NOT: "-E"
// PRE-SAVE: "-emit-llvm-bc"
// PRE-SAVE-SAME: "-o" "[[BITCODE:.*.bc]]"
// PRE-SAVE-SAME: "-x" "cpp-output" "{{.*}}no-integrated-cpp.c.tmp.i"
//
// PRE-SAVE-NEXT: "-S"
// PRE-SAVE-SAME: "-o" "[[ASM:.*.s]]"
// PRE-SAVE-SAME: "-x" "ir" "[[BITCODE]]"
//
// PRE-SAVE-NEXT: {{"-cc1as"|"[^"]*/as"}}
// PRE-SAVE-SAME: "-o" "a.o" "[[ASM]]"
//
// RUN: %clang -O2 %s -c -emit-llvm -o a.bc -no-integrated-cpp -### 2>&1 | FileCheck %s --check-prefixes=LLVM
// LLVM: "-E"
// LLVM-SAME: "-o" "[[PREPROC:.*.i]]"
// LLVM-SAME: "-x" "c" "{{.*}}no-integrated-cpp.c"
//
// LLVM-NEXT: "-emit-llvm-bc"
// LLVM-SAME: "-o" "a.bc"
// LLVM-SAME: "-x" "cpp-output" "[[PREPROC]]"
//
// RUN: %clang -O2 %s -c -emit-llvm -o a.bc -no-integrated-cpp -save-temps -### 2>&1 | FileCheck %s --check-prefixes=LLVM-SAVE
// LLVM-SAVE: "-E"
// LLVM-SAVE-SAME: "-o" "[[PREPROC:.*.i]]"
// LLVM-SAVE-SAME: "-x" "c" "{{.*}}no-integrated-cpp.c"
//
// LLVM-SAVE-NEXT: "-emit-llvm-bc"
// LLVM-SAVE-SAME: "-o" "[[BITCODE:.*.bc]]"
// LLVM-SAVE-SAME: "-x" "cpp-output" "[[PREPROC]]"
//
// LLVM-SAVE-NEXT: "-emit-llvm-bc"
// LLVM-SAVE-SAME: "-o" "a.bc"
// LLVM-SAVE-SAME: "-x" "ir" "[[BITCODE]]"
//
// RUN: %clang -O2 %t.i -c -emit-llvm -o a.bc -no-integrated-cpp -### 2>&1 | FileCheck %s --check-prefixes=PRE-LLVM
// PRE-LLVM-NOT: "-E"
// PRE-LLVM: "-emit-llvm-bc"
// PRE-LLVM-SAME: "-o" "a.bc"
// PRE-LLVM-SAME: "-x" "cpp-output" "{{.*}}no-integrated-cpp.c.tmp.i"
//
// RUN: %clang -O2 %t.i -c -emit-llvm -o a.bc -no-integrated-cpp -save-temps -### 2>&1 | FileCheck %s --check-prefixes=PRE-LLVM-SAVE
// PRE-LLVM-SAVE-NOT: "-E"
// PRE-LLVM-SAVE: "-emit-llvm-bc"
// PRE-LLVM-SAVE-SAME: "-o" "[[BITCODE:.*.bc]]"
// PRE-LLVM-SAVE-SAME: "-x" "cpp-output" "{{.*}}no-integrated-cpp.c.tmp.i"
// PRE-LLVM-SAVE-NEXT: "-emit-llvm-bc"
// PRE-LLVM-SAVE-SAME: "-o" "a.bc"
// PRE-LLVM-SAVE-SAME: "-x" "ir" "[[BITCODE]]"