flang.f90
2 KB
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
! Check that flang -fc1 is invoked when in --driver-mode=flang.
! This is a copy of flang_ucase.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" "-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: "-triple"
! 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 -### %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.f90"{{$}}