• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1! Check that flang -fc1 is invoked when in --driver-mode=flang.
2
3! This is a copy of flang.f90 because the driver has logic in it which
4! differentiates between F90 and f90 files. Flang will not treat these files
5! differently.
6
7! Test various output types:
8! * -E
9! * -fsyntax-only
10! * -emit-llvm -S
11! * -emit-llvm
12! * -S
13! * (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-new" "-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 %s
21! CHECK-E-NOT: previously preprocessed input
22! CHECK-E-DAG: "-E"
23! CHECK-E-DAG: "-o" "-"
24
25! RUN: %clang --driver-mode=flang -### -emit-ast           %s 2>&1 | FileCheck --check-prefixes=ALL,CHECK-EMIT-AST %s
26! CHECK-EMIT-AST-DAG: "-triple"
27! CHECK-EMIT-AST-DAG: "-emit-ast"
28! CHECK-EMIT-AST-DAG: "-o" "{{[^"]*}}.ast"
29
30! RUN: %clang --driver-mode=flang -### -fsyntax-only       %s 2>&1 | FileCheck --check-prefixes=ALL,CHECK-SYNTAX-ONLY %s
31! CHECK-SYNTAX-ONLY-NOT: "-o"
32! CHECK-SYNTAX-ONLY-DAG: "-fsyntax-only"
33
34! RUN: %clang --driver-mode=flang -### -emit-llvm -S       %s 2>&1 | FileCheck --check-prefixes=ALL,CHECK-EMIT-LLVM-IR %s
35! CHECK-EMIT-LLVM-IR-DAG: "-emit-llvm"
36! CHECK-EMIT-LLVM-IR-DAG: "-o" "{{[^"]*}}.ll"
37
38! RUN: %clang --driver-mode=flang -### -emit-llvm          %s 2>&1 | FileCheck --check-prefixes=ALL,CHECK-EMIT-LLVM-BC %s
39! CHECK-EMIT-LLVM-BC-DAG: "-emit-llvm-bc"
40! CHECK-EMIT-LLVM-BC-DAG: "-o" "{{[^"]*}}.bc"
41
42! RUN: %clang --driver-mode=flang -### -S                  %s 2>&1 | FileCheck --check-prefixes=ALL,CHECK-S %s
43! CHECK-S-DAG: "-S"
44! CHECK-S-DAG: "-o" "{{[^"]*}}.s"
45
46! RUN: %clang --driver-mode=flang -### -fintegrated-as     %s 2>&1 | FileCheck --check-prefixes=ALL,CHECK-EMIT-OBJ %s
47! CHECK-EMIT-OBJ-DAG: "-emit-obj"
48! CHECK-EMIT-OBJ-DAG: "-o" "{{[^"]*}}.o"
49
50! Should end in the input file.
51! ALL: "{{.*}}flang_ucase.F90"{{$}}
52