1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83
|
// 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]]"
|