! Check that flang -fc1 is invoked when in --driver-mode=flang. ! This is a copy of flang.f90 because the driver has logic in it which ! differentiates between F90 and f90 files. Flang will not treat these files ! differently. ! Test various output types: ! * -E ! * -fsyntax-only ! * -emit-llvm -S ! * -emit-llvm ! * -S ! * (no type specified, resulting in an object file) ! All invocations should begin with flang -fc1, consume up to here. ! ALL-LABEL: "{{[^"]*}}flang-new" "-fc1" ! Check that f90 files are not treated as "previously preprocessed" ! ... in --driver-mode=flang. ! RUN: %clang --driver-mode=flang -### -E %s 2>&1 | FileCheck --check-prefixes=ALL,CHECK-E %s ! CHECK-E-NOT: previously preprocessed input ! CHECK-E-DAG: "-E" ! CHECK-E-DAG: "-o" "-" ! RUN: %clang --driver-mode=flang -### -emit-ast %s 2>&1 | FileCheck --check-prefixes=ALL,CHECK-EMIT-AST %s ! CHECK-EMIT-AST-DAG: "-emit-ast" ! CHECK-EMIT-AST-DAG: "-o" "{{[^"]*}}.ast" ! RUN: %clang --driver-mode=flang -### -fsyntax-only %s 2>&1 | FileCheck --check-prefixes=ALL,CHECK-SYNTAX-ONLY %s ! CHECK-SYNTAX-ONLY-NOT: "-o" ! CHECK-SYNTAX-ONLY-DAG: "-fsyntax-only" ! RUN: %clang --driver-mode=flang -### -emit-llvm -S %s 2>&1 | FileCheck --check-prefixes=ALL,CHECK-EMIT-LLVM-IR %s ! CHECK-EMIT-LLVM-IR-DAG: "-emit-llvm" ! CHECK-EMIT-LLVM-IR-DAG: "-o" "{{[^"]*}}.ll" ! RUN: %clang --driver-mode=flang -### -emit-llvm %s 2>&1 | FileCheck --check-prefixes=ALL,CHECK-EMIT-LLVM-BC %s ! CHECK-EMIT-LLVM-BC-DAG: "-emit-llvm-bc" ! CHECK-EMIT-LLVM-BC-DAG: "-o" "{{[^"]*}}.bc" ! RUN: %clang --driver-mode=flang -### -S %s 2>&1 | FileCheck --check-prefixes=ALL,CHECK-S %s ! CHECK-S-DAG: "-S" ! CHECK-S-DAG: "-o" "{{[^"]*}}.s" ! RUN: %clang --driver-mode=flang -### -fintegrated-as %s 2>&1 | FileCheck --check-prefixes=ALL,CHECK-EMIT-OBJ %s ! CHECK-EMIT-OBJ-DAG: "-emit-obj" ! CHECK-EMIT-OBJ-DAG: "-o" "{{[^"]*}}.o" ! Should end in the input file. ! ALL: "{{.*}}flang_ucase.F90"{{$}}