
Have the test accept use of the toolchain assembler instead of `-cc1as` as some targets, such as AIX, do not use `-cc1as`.
84 lines
3.0 KiB
C
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]]"
|