2 !--------------------------
4 !--------------------------
5 ! RUN: %flang -help 2>&1 | FileCheck %s --check-prefix=HELP
6 ! RUN: not %flang -helps 2>&1 | FileCheck %s --check-prefix=ERROR
8 !----------------------------------------
9 ! FLANG FRONTEND DRIVER (flang -fc1)
10 !----------------------------------------
11 ! RUN: %flang_fc1 -help 2>&1 | FileCheck %s --check-prefix=HELP-FC1
12 ! RUN: not %flang_fc1 -helps 2>&1 | FileCheck %s --check-prefix=ERROR
17 ! HELP-NEXT: -### Print (but do not run) the commands to run for this compilation
18 ! HELP-NEXT: -cpp Enable predefined and command line preprocessor macros
19 ! HELP-NEXT: -c Only run preprocess, compile, and assemble steps
20 ! HELP-NEXT: -D <macro>=<value> Define <macro> to <value> (or 1 if <value> omitted)
21 ! HELP-NEXT: -emit-llvm Use the LLVM representation for assembler and object files
22 ! HELP-NEXT: -E Only run the preprocessor
23 ! HELP-NEXT: -falternative-parameter-statement
24 ! HELP-NEXT: Enable the old style PARAMETER statement
25 ! HELP-NEXT: -fbackslash Specify that backslash in string introduces an escape character
26 ! HELP-NEXT: -fcolor-diagnostics Enable colors in diagnostics
27 ! HELP-NEXT: -fdefault-double-8 Set the default double precision kind to an 8 byte wide type
28 ! HELP-NEXT: -fdefault-integer-8 Set the default integer kind to an 8 byte wide type
29 ! HELP-NEXT: -fdefault-real-8 Set the default real kind to an 8 byte wide type
30 ! HELP-NEXT: -ffixed-form Process source files in fixed form
31 ! HELP-NEXT: -ffixed-line-length=<value>
32 ! HELP-NEXT: Use <value> as character line width in fixed mode
33 ! HELP-NEXT: -ffree-form Process source files in free form
34 ! HELP-NEXT: -fimplicit-none No implicit typing allowed unless overridden by IMPLICIT statements
35 ! HELP-NEXT: -finput-charset=<value> Specify the default character set for source files
36 ! HELP-NEXT: -fintrinsic-modules-path <dir>
37 ! HELP-NEXT: Specify where to find the compiled intrinsic modules
38 ! HELP-NEXT: -flarge-sizes Use INTEGER(KIND=8) for the result type in size-related intrinsics
39 ! HELP-NEXT: -flogical-abbreviations Enable logical abbreviations
40 ! HELP-NEXT: -fno-automatic Implies the SAVE attribute for non-automatic local objects in subprograms unless RECURSIVE
41 ! HELP-NEXT: -fno-color-diagnostics Disable colors in diagnostics
42 ! HELP-NEXT: -fno-integrated-as Disable the integrated assembler
43 ! HELP-NEXT: -fopenacc Enable OpenACC
44 ! HELP-NEXT: -fopenmp Parse OpenMP pragmas and generate parallel code.
45 ! HELP-NEXT: -fxor-operator Enable .XOR. as a synonym of .NEQV.
46 ! HELP-NEXT: -help Display available options
47 ! HELP-NEXT: -I <dir> Add directory to the end of the list of include search paths
48 ! HELP-NEXT: -mllvm <value> Additional arguments to forward to LLVM's option processing
49 ! HELP-NEXT: -mmlir <value> Additional arguments to forward to MLIR's option processing
50 ! HELP-NEXT: -module-dir <dir> Put MODULE files in <dir>
51 ! HELP-NEXT: -nocpp Disable predefined and command line preprocessor macros
52 ! HELP-NEXT: -o <file> Write output to <file>
53 ! HELP-NEXT: -pedantic Warn on language extensions
54 ! HELP-NEXT: -print-effective-triple Print the effective target triple
55 ! HELP-NEXT: -print-target-triple Print the normalized target triple
56 ! HELP-NEXT: -P Disable linemarker output in -E mode
57 ! HELP-NEXT: -save-temps=<value> Save intermediate compilation results.
58 ! HELP-NEXT: -save-temps Save intermediate compilation results
59 ! HELP-NEXT: -std=<value> Language standard to compile for
60 ! HELP-NEXT: -S Only run preprocess and compilation steps
61 ! HELP-NEXT: --target=<value> Generate code for the given target
62 ! HELP-NEXT: -U <macro> Undefine macro <macro>
63 ! HELP-NEXT: --version Print version information
64 ! HELP-NEXT: -W<warning> Enable the specified warning
65 ! HELP-NEXT: -Xflang <arg> Pass <arg> to the flang compiler
67 ! HELP-FC1:USAGE: flang
69 ! HELP-FC1-NEXT:OPTIONS:
70 ! HELP-FC1-NEXT: -cpp Enable predefined and command line preprocessor macros
71 ! HELP-FC1-NEXT: -D <macro>=<value> Define <macro> to <value> (or 1 if <value> omitted)
72 ! HELP-FC1-NEXT: -emit-llvm-bc Build ASTs then convert to LLVM, emit .bc file
73 ! HELP-FC1-NEXT: -emit-llvm Use the LLVM representation for assembler and object files
74 ! HELP-FC1-NEXT: -emit-mlir Build the parse tree, then lower it to MLIR
75 ! HELP-FC1-NEXT: -emit-obj Emit native object files
76 ! HELP-FC1-NEXT: -E Only run the preprocessor
77 ! HELP-FC1-NEXT: -falternative-parameter-statement
78 ! HELP-FC1-NEXT: Enable the old style PARAMETER statement
79 ! HELP-FC1-NEXT: -fbackslash Specify that backslash in string introduces an escape character
80 ! HELP-FC1-NEXT: -fcolor-diagnostics Enable colors in diagnostics
81 ! HELP-FC1-NEXT: -fdebug-dump-all Dump symbols and the parse tree after the semantic checks
82 ! HELP-FC1-NEXT: -fdebug-dump-parse-tree-no-sema
83 ! HELP-FC1-NEXT: Dump the parse tree (skips the semantic checks)
84 ! HELP-FC1-NEXT: -fdebug-dump-parse-tree Dump the parse tree
85 ! HELP-FC1-NEXT: -fdebug-dump-parsing-log
86 ! HELP-FC1-NEXT: Run instrumented parse and dump the parsing log
87 ! HELP-FC1-NEXT: -fdebug-dump-pft Dump the pre-fir parse tree
88 ! HELP-FC1-NEXT: -fdebug-dump-provenance Dump provenance
89 ! HELP-FC1-NEXT: -fdebug-dump-symbols Dump symbols after the semantic analysis
90 ! HELP-FC1-NEXT: -fdebug-measure-parse-tree
91 ! HELP-FC1-NEXT: Measure the parse tree
92 ! HELP-FC1-NEXT: -fdebug-module-writer Enable debug messages while writing module files
93 ! HELP-FC1-NEXT: -fdebug-pass-manager Prints debug information for the new pass manage
94 ! HELP-FC1-NEXT: -fdebug-pre-fir-tree Dump the pre-FIR tree
95 ! HELP-FC1-NEXT: -fdebug-unparse-no-sema Unparse and stop (skips the semantic checks)
96 ! HELP-FC1-NEXT: -fdebug-unparse-with-symbols
97 ! HELP-FC1-NEXT: Unparse and stop.
98 ! HELP-FC1-NEXT: -fdebug-unparse Unparse and stop.
99 ! HELP-FC1-NEXT: -fdefault-double-8 Set the default double precision kind to an 8 byte wide type
100 ! HELP-FC1-NEXT: -fdefault-integer-8 Set the default integer kind to an 8 byte wide type
101 ! HELP-FC1-NEXT: -fdefault-real-8 Set the default real kind to an 8 byte wide type
102 ! HELP-FC1-NEXT: -ffixed-form Process source files in fixed form
103 ! HELP-FC1-NEXT: -ffixed-line-length=<value>
104 ! HELP-FC1-NEXT: Use <value> as character line width in fixed mode
105 ! HELP-FC1-NEXT: -ffree-form Process source files in free form
106 ! HELP-FC1-NEXT: -fget-definition <value> <value> <value>
107 ! HELP-FC1-NEXT: Get the symbol definition from <line> <start-column> <end-column>
108 ! HELP-FC1-NEXT: -fget-symbols-sources Dump symbols and their source code locations
109 ! HELP-FC1-NEXT: -fimplicit-none No implicit typing allowed unless overridden by IMPLICIT statements
110 ! HELP-FC1-NEXT: -finput-charset=<value> Specify the default character set for source files
111 ! HELP-FC1-NEXT: -fintrinsic-modules-path <dir>
112 ! HELP-FC1-NEXT: Specify where to find the compiled intrinsic modules
113 ! HELP-FC1-NEXT: -flarge-sizes Use INTEGER(KIND=8) for the result type in size-related intrinsics
114 ! HELP-FC1-NEXT: -flogical-abbreviations Enable logical abbreviations
115 ! HELP-FC1-NEXT: -fno-analyzed-objects-for-unparse
116 ! HELP-FC1-NEXT: Do not use the analyzed objects when unparsing
117 ! HELP-FC1-NEXT: -fno-automatic Implies the SAVE attribute for non-automatic local objects in subprograms unless RECURSIVE
118 ! HELP-FC1-NEXT: -fno-debug-pass-manager Disables debug printing for the new pass manager
119 ! HELP-FC1-NEXT: -fno-reformat Dump the cooked character stream in -E mode
120 ! HELP-FC1-NEXT: -fopenacc Enable OpenACC
121 ! HELP-FC1-NEXT: -fopenmp Parse OpenMP pragmas and generate parallel code.
122 ! HELP-FC1-NEXT: -fxor-operator Enable .XOR. as a synonym of .NEQV.
123 ! HELP-FC1-NEXT: -help Display available options
124 ! HELP-FC1-NEXT: -init-only Only execute frontend initialization
125 ! HELP-FC1-NEXT: -I <dir> Add directory to the end of the list of include search paths
126 ! HELP-FC1-NEXT: -load <dsopath> Load the named plugin (dynamic shared object)
127 ! HELP-FC1-NEXT: -mllvm <value> Additional arguments to forward to LLVM's option processing
128 ! HELP-FC1-NEXT: -mmlir <value> Additional arguments to forward to MLIR's option processing
129 ! HELP-FC1-NEXT: -module-dir <dir> Put MODULE files in <dir>
130 ! HELP-FC1-NEXT: -module-suffix <suffix> Use <suffix> as the suffix for module files (the default value is `.mod`)
131 ! HELP-FC1-NEXT: -nocpp Disable predefined and command line preprocessor macros
132 ! HELP-FC1-NEXT: -o <file> Write output to <file>
133 ! HELP-FC1-NEXT: -pedantic Warn on language extensions
134 ! HELP-FC1-NEXT: -plugin <name> Use the named plugin action instead of the default action (use "help" to list available options)
135 ! HELP-FC1-NEXT: -P Disable linemarker output in -E mode
136 ! HELP-FC1-NEXT: -std=<value> Language standard to compile for
137 ! HELP-FC1-NEXT: -S Only run preprocess and compilation steps
138 ! HELP-FC1-NEXT: -test-io Run the InputOuputTest action. Use for development and testing only.
139 ! HELP-FC1-NEXT: -triple <value> Specify target triple (e.g. i686-apple-darwin9)
140 ! HELP-FC1-NEXT: -U <macro> Undefine macro <macro>
141 ! HELP-FC1-NEXT: -version Print the compiler version
142 ! HELP-FC1-NEXT: -W<warning> Enable the specified warning
144 ! ERROR: error: unknown argument '-helps'; did you mean '-help'