47 lines · plain
1! Check that flang -fc1 is invoked when in --driver-mode=flang.2 3! This is a copy of flang_ucase.F90 because the driver has logic in it which4! differentiates between F90 and f90 files. Flang will not treat these files5! differently.6 7! Test various output types:8! * -E9! * -fsyntax-only10! * -emit-llvm -S11! * -emit-llvm12! * -S13! * (no type specified, resulting in an object file)14 15! All invocations should begin with flang -fc1, consume up to here.16! ALL-LABEL: "{{[^"]*}}flang{{[^"/]*}}" "-fc1"17 18! Check that f90 files are not treated as "previously preprocessed"19! ... in --driver-mode=flang.20! RUN: %clang --driver-mode=flang -### -E %s 2>&1 | FileCheck --check-prefixes=ALL,CHECK-E %s21! CHECK-E-NOT: previously preprocessed input22! CHECK-E-DAG: "-E"23! CHECK-E-DAG: "-o" "-"24 25! RUN: %clang --driver-mode=flang -### -fsyntax-only %s 2>&1 | FileCheck --check-prefixes=ALL,CHECK-SYNTAX-ONLY %s26! CHECK-SYNTAX-ONLY-NOT: "-o"27! CHECK-SYNTAX-ONLY-DAG: "-fsyntax-only"28 29! RUN: %clang --driver-mode=flang -### -emit-llvm -S %s 2>&1 | FileCheck --check-prefixes=ALL,CHECK-EMIT-LLVM-IR %s30! CHECK-EMIT-LLVM-IR-DAG: "-emit-llvm"31! CHECK-EMIT-LLVM-IR-DAG: "-o" "{{[^"]*}}.ll"32 33! RUN: not %clang --driver-mode=flang -### -emit-llvm %s 2>&1 | FileCheck --check-prefixes=ALL,CHECK-EMIT-LLVM-BC %s34! CHECK-EMIT-LLVM-BC-DAG: "-emit-llvm-bc"35! CHECK-EMIT-LLVM-BC-DAG: "-o" "{{[^"]*}}.bc"36 37! RUN: %clang --driver-mode=flang -### -S %s 2>&1 | FileCheck --check-prefixes=ALL,CHECK-S %s38! CHECK-S-DAG: "-S"39! CHECK-S-DAG: "-o" "{{[^"]*}}.s"40 41! RUN: %clang --driver-mode=flang -### %s 2>&1 | FileCheck --check-prefixes=ALL,CHECK-EMIT-OBJ %s42! CHECK-EMIT-OBJ-DAG: "-emit-obj"43! CHECK-EMIT-OBJ-DAG: "-o" "{{[^"]*}}.o"44 45! Should end in the input file.46! ALL: "{{.*}}flang.f90"{{$}}47