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