Skip to content

Commit 0aacfc0

Browse files
committed
[Driver] Make supported Clang options visible to Classic Flang
Classic Flang accepts some Clang options that LLVM Flang (F18) does not. The Visibility of such options are modified to include "FlangOption".
1 parent 0c80e66 commit 0aacfc0

File tree

1 file changed

+45
-1
lines changed

1 file changed

+45
-1
lines changed

clang/include/clang/Driver/Options.td

Lines changed: 45 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -684,7 +684,11 @@ def ccc_gcc_name : Separate<["-"], "ccc-gcc-name">, InternalDriverOpt,
684684

685685
class InternalDebugOpt : Group<internal_debug_Group>,
686686
Flags<[NoXarchOption, HelpHidden]>,
687+
#ifdef ENABLE_CLASSIC_FLANG
688+
Visibility<[ClangOption, CLOption, DXCOption, FlangOption]>;
689+
#else
687690
Visibility<[ClangOption, CLOption, DXCOption]>;
691+
#endif
688692
def ccc_install_dir : Separate<["-"], "ccc-install-dir">, InternalDebugOpt,
689693
HelpText<"Simulate installation in the given directory">;
690694
def ccc_print_phases : Flag<["-"], "ccc-print-phases">,
@@ -1547,6 +1551,7 @@ def emit_ast : Flag<["-"], "emit-ast">,
15471551
HelpText<"Emit Clang AST files for source inputs">;
15481552
#ifdef ENABLE_CLASSIC_FLANG
15491553
def emit_flang_llvm : Flag<["-"], "emit-flang-llvm">,
1554+
Visibility<[FlangOption]>,
15501555
HelpText<"Emit Flang LLVM files for source inputs">;
15511556
#endif
15521557
def emit_llvm : Flag<["-"], "emit-llvm">,
@@ -3783,6 +3788,9 @@ defm openmp_optimistic_collapse : BoolFOption<"openmp-optimistic-collapse",
37833788
PosFlag<SetTrue, [], [ClangOption, CC1Option]>,
37843789
NegFlag<SetFalse>, BothFlags<[NoArgumentUnused, HelpHidden], []>>;
37853790
def static_openmp: Flag<["-"], "static-openmp">,
3791+
#ifdef ENABLE_CLASSIC_FLANG
3792+
Visibility<[ClangOption, FlangOption]>,
3793+
#endif
37863794
HelpText<"Use the static host OpenMP runtime while linking.">;
37873795
def fopenmp_new_driver : Flag<["-"], "fopenmp-new-driver">, Flags<[HelpHidden]>,
37883796
HelpText<"Use the new driver for OpenMP offloading.">;
@@ -4529,15 +4537,31 @@ def gdbx : Flag<["-"], "gdbx">, Group<gTune_Group>;
45294537
// Equivalent to our default dwarf version. Forces usual dwarf emission when
45304538
// CodeView is enabled.
45314539
def gdwarf : Flag<["-"], "gdwarf">, Group<g_Group>,
4540+
#ifdef ENABLE_CLASSIC_FLANG
4541+
Visibility<[ClangOption, CLOption, DXCOption, FlangOption]>,
4542+
#else
45324543
Visibility<[ClangOption, CLOption, DXCOption]>,
4544+
#endif
45334545
HelpText<"Generate source-level debug information with the default dwarf version">;
45344546
def gdwarf_2 : Flag<["-"], "gdwarf-2">, Group<g_Group>,
4547+
#ifdef ENABLE_CLASSIC_FLANG
4548+
Visibility<[ClangOption, FlangOption]>,
4549+
#endif
45354550
HelpText<"Generate source-level debug information with dwarf version 2">;
45364551
def gdwarf_3 : Flag<["-"], "gdwarf-3">, Group<g_Group>,
4552+
#ifdef ENABLE_CLASSIC_FLANG
4553+
Visibility<[ClangOption, FlangOption]>,
4554+
#endif
45374555
HelpText<"Generate source-level debug information with dwarf version 3">;
45384556
def gdwarf_4 : Flag<["-"], "gdwarf-4">, Group<g_Group>,
4557+
#ifdef ENABLE_CLASSIC_FLANG
4558+
Visibility<[ClangOption, FlangOption]>,
4559+
#endif
45394560
HelpText<"Generate source-level debug information with dwarf version 4">;
45404561
def gdwarf_5 : Flag<["-"], "gdwarf-5">, Group<g_Group>,
4562+
#ifdef ENABLE_CLASSIC_FLANG
4563+
Visibility<[ClangOption, FlangOption]>,
4564+
#endif
45414565
HelpText<"Generate source-level debug information with dwarf version 5">;
45424566
def gdwarf64 : Flag<["-"], "gdwarf64">, Group<g_Group>,
45434567
Visibility<[ClangOption, CC1Option, CC1AsOption]>,
@@ -4623,9 +4647,16 @@ def gno_simple_template_names : Flag<["-"], "gno-simple-template-names">,
46234647
def ggnu_pubnames : Flag<["-"], "ggnu-pubnames">, Group<g_flags_Group>,
46244648
Visibility<[ClangOption, CC1Option]>;
46254649
def gno_gnu_pubnames : Flag<["-"], "gno-gnu-pubnames">, Group<g_flags_Group>;
4650+
#ifdef ENABLE_CLASSIC_FLANG
4651+
def gpubnames : Flag<["-"], "gpubnames">, Group<g_flags_Group>,
4652+
Visibility<[ClangOption, CC1Option, FlangOption]>;
4653+
def gno_pubnames : Flag<["-"], "gno-pubnames">, Group<g_flags_Group>,
4654+
Visibility<[ClangOption, CC1Option, FlangOption]>;
4655+
#else
46264656
def gpubnames : Flag<["-"], "gpubnames">, Group<g_flags_Group>,
46274657
Visibility<[ClangOption, CC1Option]>;
46284658
def gno_pubnames : Flag<["-"], "gno-pubnames">, Group<g_flags_Group>;
4659+
#endif
46294660
def gdwarf_aranges : Flag<["-"], "gdwarf-aranges">, Group<g_flags_Group>;
46304661
def gmodules : Flag <["-"], "gmodules">, Group<gN_Group>,
46314662
HelpText<"Generate debug info with external references to clang modules"
@@ -6011,7 +6042,11 @@ def print_enabled_extensions : Flag<["-", "--"], "print-enabled-extensions">,
60116042
def time : Flag<["-"], "time">,
60126043
HelpText<"Time individual commands">;
60136044
def traditional_cpp : Flag<["-", "--"], "traditional-cpp">,
6045+
#ifdef ENABLE_CLASSIC_FLANG
6046+
Visibility<[ClangOption, CC1Option, FlangOption]>,
6047+
#else
60146048
Visibility<[ClangOption, CC1Option]>,
6049+
#endif
60156050
HelpText<"Enable some traditional CPP emulation">,
60166051
MarshallingInfoFlag<LangOpts<"TraditionalCPP">>;
60176052
def traditional : Flag<["-", "--"], "traditional">;
@@ -6088,7 +6123,12 @@ def fno_integrated_objemitter : Flag<["-"], "fno-integrated-objemitter">,
60886123
Group<f_Group>,
60896124
HelpText<"Use external machine object code emitter.">;
60906125

6126+
#ifdef ENABLE_CLASSIC_FLANG
6127+
def : Flag<["-"], "integrated-as">, Alias<fintegrated_as>,
6128+
Visibility<[ClangOption, CC1Option, FlangOption]>;
6129+
#else
60916130
def : Flag<["-"], "integrated-as">, Alias<fintegrated_as>;
6131+
#endif
60926132
def : Flag<["-"], "no-integrated-as">, Alias<fno_integrated_as>,
60936133
Visibility<[ClangOption, CC1Option, FlangOption]>;
60946134

@@ -7048,7 +7088,7 @@ def fhermetic_module_files : Flag<["-"], "fhermetic-module-files">, Group<f_Grou
70487088

70497089
#ifdef ENABLE_CLASSIC_FLANG
70507090
def J : JoinedOrSeparate<["-"], "J">,
7051-
Flags<[RenderJoined]>,
7091+
Flags<[RenderJoined]>, Visibility<[FlangOption, FC1Option]>,
70527092
Group<gfortran_Group>;
70537093

70547094
let Visibility = [FlangOption] in {
@@ -9211,6 +9251,8 @@ multiclass BooleanMFlag<string name> {
92119251
def _off : Flag<["-"], "Mno"#name>;
92129252
}
92139253

9254+
let Visibility = [FlangOption] in {
9255+
92149256
def Mfixed : Flag<["-"], "Mfixed">, Group<fortran_format_Group>,
92159257
HelpText<"Force fixed-form format Fortran">,
92169258
Flags<[HelpHidden]>;
@@ -9330,4 +9372,6 @@ def Hq_EQ : Joined<["-"], "Hq,">, Group<pgi_fortran_Group>;
93309372
def Mqq_EQ : Joined<["-"], "Mqq,">, Group<pgi_fortran_Group>;
93319373
def Hqq_EQ : Joined<["-"], "Hqq,">, Group<pgi_fortran_Group>;
93329374
def Wh_EQ : Joined<["-"], "Wh,">, Group<pgi_fortran_Group>;
9375+
9376+
} // let Visibility = [FlangOption]
93339377
#endif

0 commit comments

Comments
 (0)