| // 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]]" |