@@ -632,7 +632,11 @@ def ccc_gcc_name : Separate<["-"], "ccc-gcc-name">, InternalDriverOpt,
632632
633633class InternalDebugOpt : Group<internal_debug_Group>,
634634 Flags<[NoXarchOption, HelpHidden]>,
635+ #ifdef ENABLE_CLASSIC_FLANG
636+ Visibility<[ClangOption, CLOption, DXCOption, FlangOption]>;
637+ #else
635638 Visibility<[ClangOption, CLOption, DXCOption]>;
639+ #endif
636640def ccc_install_dir : Separate<["-"], "ccc-install-dir">, InternalDebugOpt,
637641 HelpText<"Simulate installation in the given directory">;
638642def ccc_print_phases : Flag<["-"], "ccc-print-phases">,
@@ -765,6 +769,9 @@ def _DASH_DASH : Option<["--"], "", KIND_REMAINING_ARGS>,
765769def A : JoinedOrSeparate<["-"], "A">, Flags<[RenderJoined]>,
766770 Group<gfortran_Group>;
767771def B : JoinedOrSeparate<["-"], "B">, MetaVarName<"<prefix>">,
772+ #ifdef ENABLE_CLASSIC_FLANG
773+ Visibility<[ClangOption, FlangOption]>,
774+ #endif
768775 HelpText<"Search $prefix$file for executables, libraries, and data files. "
769776 "If $prefix is a directory, search $prefix/$file">;
770777def gcc_install_dir_EQ : Joined<["--"], "gcc-install-dir=">,
@@ -1450,6 +1457,7 @@ def emit_ast : Flag<["-"], "emit-ast">,
14501457 HelpText<"Emit Clang AST files for source inputs">;
14511458#ifdef ENABLE_CLASSIC_FLANG
14521459def emit_flang_llvm : Flag<["-"], "emit-flang-llvm">,
1460+ Visibility<[FlangOption]>,
14531461 HelpText<"Emit Flang LLVM files for source inputs">;
14541462#endif
14551463def emit_llvm : Flag<["-"], "emit-llvm">,
@@ -3365,6 +3373,9 @@ def fopenmp : Flag<["-"], "fopenmp">, Group<f_Group>,
33653373 Visibility<[ClangOption, CC1Option, FlangOption, FC1Option]>,
33663374 HelpText<"Parse OpenMP pragmas and generate parallel code.">;
33673375def fno_openmp : Flag<["-"], "fno-openmp">, Group<f_Group>,
3376+ #ifdef ENABLE_CLASSIC_FLANG
3377+ Visibility<[ClangOption, FlangOption]>,
3378+ #endif
33683379 Flags<[NoArgumentUnused]>;
33693380def fopenmp_version_EQ : Joined<["-"], "fopenmp-version=">, Group<f_Group>,
33703381 Flags<[NoArgumentUnused]>,
@@ -3497,6 +3508,9 @@ defm openmp_optimistic_collapse : BoolFOption<"openmp-optimistic-collapse",
34973508 PosFlag<SetTrue, [], [ClangOption, CC1Option]>,
34983509 NegFlag<SetFalse>, BothFlags<[NoArgumentUnused, HelpHidden], []>>;
34993510def static_openmp: Flag<["-"], "static-openmp">,
3511+ #ifdef ENABLE_CLASSIC_FLANG
3512+ Visibility<[ClangOption, FlangOption]>,
3513+ #endif
35003514 HelpText<"Use the static host OpenMP runtime while linking.">;
35013515def fopenmp_new_driver : Flag<["-"], "fopenmp-new-driver">, Flags<[HelpHidden]>,
35023516 HelpText<"Use the new driver for OpenMP offloading.">;
@@ -4145,15 +4159,31 @@ def gdbx : Flag<["-"], "gdbx">, Group<gTune_Group>;
41454159// Equivalent to our default dwarf version. Forces usual dwarf emission when
41464160// CodeView is enabled.
41474161def gdwarf : Flag<["-"], "gdwarf">, Group<g_Group>,
4162+ #ifdef ENABLE_CLASSIC_FLANG
4163+ Visibility<[ClangOption, CLOption, DXCOption, FlangOption]>,
4164+ #else
41484165 Visibility<[ClangOption, CLOption, DXCOption]>,
4166+ #endif
41494167 HelpText<"Generate source-level debug information with the default dwarf version">;
41504168def gdwarf_2 : Flag<["-"], "gdwarf-2">, Group<g_Group>,
4169+ #ifdef ENABLE_CLASSIC_FLANG
4170+ Visibility<[ClangOption, FlangOption]>,
4171+ #endif
41514172 HelpText<"Generate source-level debug information with dwarf version 2">;
41524173def gdwarf_3 : Flag<["-"], "gdwarf-3">, Group<g_Group>,
4174+ #ifdef ENABLE_CLASSIC_FLANG
4175+ Visibility<[ClangOption, FlangOption]>,
4176+ #endif
41534177 HelpText<"Generate source-level debug information with dwarf version 3">;
41544178def gdwarf_4 : Flag<["-"], "gdwarf-4">, Group<g_Group>,
4179+ #ifdef ENABLE_CLASSIC_FLANG
4180+ Visibility<[ClangOption, FlangOption]>,
4181+ #endif
41554182 HelpText<"Generate source-level debug information with dwarf version 4">;
41564183def gdwarf_5 : Flag<["-"], "gdwarf-5">, Group<g_Group>,
4184+ #ifdef ENABLE_CLASSIC_FLANG
4185+ Visibility<[ClangOption, FlangOption]>,
4186+ #endif
41574187 HelpText<"Generate source-level debug information with dwarf version 5">;
41584188def gdwarf64 : Flag<["-"], "gdwarf64">, Group<g_Group>,
41594189 Visibility<[ClangOption, CC1Option, CC1AsOption]>,
@@ -4233,9 +4263,16 @@ def gno_simple_template_names : Flag<["-"], "gno-simple-template-names">,
42334263def ggnu_pubnames : Flag<["-"], "ggnu-pubnames">, Group<g_flags_Group>,
42344264 Visibility<[ClangOption, CC1Option]>;
42354265def gno_gnu_pubnames : Flag<["-"], "gno-gnu-pubnames">, Group<g_flags_Group>;
4266+ #ifdef ENABLE_CLASSIC_FLANG
4267+ def gpubnames : Flag<["-"], "gpubnames">, Group<g_flags_Group>,
4268+ Visibility<[ClangOption, CC1Option, FlangOption]>;
4269+ def gno_pubnames : Flag<["-"], "gno-pubnames">, Group<g_flags_Group>,
4270+ Visibility<[ClangOption, CC1Option, FlangOption]>;
4271+ #else
42364272def gpubnames : Flag<["-"], "gpubnames">, Group<g_flags_Group>,
42374273 Visibility<[ClangOption, CC1Option]>;
42384274def gno_pubnames : Flag<["-"], "gno-pubnames">, Group<g_flags_Group>;
4275+ #endif
42394276def gdwarf_aranges : Flag<["-"], "gdwarf-aranges">, Group<g_flags_Group>;
42404277def gmodules : Flag <["-"], "gmodules">, Group<gN_Group>,
42414278 HelpText<"Generate debug info with external references to clang modules"
@@ -5264,7 +5301,12 @@ def nostdincxx : Flag<["-"], "nostdinc++">, Visibility<[ClangOption, CC1Option]>
52645301 Group<IncludePath_Group>,
52655302 HelpText<"Disable standard #include directories for the C++ standard library">,
52665303 MarshallingInfoNegativeFlag<HeaderSearchOpts<"UseStandardCXXIncludes">>;
5304+ #ifdef ENABLE_CLASSIC_FLANG
5305+ def nostdlib : Flag<["-"], "nostdlib">, Group<Link_Group>,
5306+ Visibility<[ClangOption, FlangOption]>;
5307+ #else
52675308def nostdlib : Flag<["-"], "nostdlib">, Group<Link_Group>;
5309+ #endif
52685310def nostdlibxx : Flag<["-"], "nostdlib++">;
52695311def object : Flag<["-"], "object">;
52705312def o : JoinedOrSeparate<["-"], "o">,
@@ -5492,7 +5534,11 @@ def : Flag<["-"], "mtune=help">, Alias<print_supported_cpus>;
54925534def time : Flag<["-"], "time">,
54935535 HelpText<"Time individual commands">;
54945536def traditional_cpp : Flag<["-", "--"], "traditional-cpp">,
5537+ #ifdef ENABLE_CLASSIC_FLANG
5538+ Visibility<[ClangOption, CC1Option, FlangOption]>,
5539+ #else
54955540 Visibility<[ClangOption, CC1Option]>,
5541+ #endif
54965542 HelpText<"Enable some traditional CPP emulation">,
54975543 MarshallingInfoFlag<LangOpts<"TraditionalCPP">>;
54985544def traditional : Flag<["-", "--"], "traditional">;
@@ -5569,7 +5615,12 @@ def fno_integrated_objemitter : Flag<["-"], "fno-integrated-objemitter">,
55695615 Group<f_Group>,
55705616 HelpText<"Use external machine object code emitter.">;
55715617
5618+ #ifdef ENABLE_CLASSIC_FLANG
5619+ def : Flag<["-"], "integrated-as">, Alias<fintegrated_as>,
5620+ Visibility<[ClangOption, CC1Option, FlangOption]>;
5621+ #else
55725622def : Flag<["-"], "integrated-as">, Alias<fintegrated_as>;
5623+ #endif
55735624def : Flag<["-"], "no-integrated-as">, Alias<fno_integrated_as>,
55745625 Visibility<[ClangOption, CC1Option, FlangOption]>;
55755626
@@ -6479,7 +6530,7 @@ defm loop_versioning : BoolOptionWithoutMarshalling<"f", "version-loops-for-stri
64796530
64806531#ifdef ENABLE_CLASSIC_FLANG
64816532def J : JoinedOrSeparate<["-"], "J">,
6482- Flags<[RenderJoined]>,
6533+ Flags<[RenderJoined]>, Visibility<[FlangOption, FC1Option]>,
64836534 Group<gfortran_Group>;
64846535#else
64856536def J : JoinedOrSeparate<["-"], "J">,
@@ -8539,6 +8590,27 @@ def fcgl : DXCFlag<"fcgl">, Alias<emit_pristine_llvm>;
85398590def enable_16bit_types : DXCFlag<"enable-16bit-types">, Alias<fnative_half_type>,
85408591 HelpText<"Enable 16-bit types and disable min precision types."
85418592 "Available in HLSL 2018 and shader model 6.2.">;
8593+ def hlsl_entrypoint : Option<["-"], "hlsl-entry", KIND_SEPARATE>,
8594+ Group<dxc_Group>,
8595+ Visibility<[ClangOption, CC1Option]>,
8596+ MarshallingInfoString<TargetOpts<"HLSLEntry">, "\"main\"">,
8597+ HelpText<"Entry point name for hlsl">;
8598+ def dxc_entrypoint : Option<["--", "/", "-"], "E", KIND_JOINED_OR_SEPARATE>,
8599+ Group<dxc_Group>,
8600+ Visibility<[DXCOption]>,
8601+ HelpText<"Entry point name">;
8602+ def dxc_validator_path_EQ : Joined<["--"], "dxv-path=">, Group<dxc_Group>,
8603+ HelpText<"DXIL validator installation path">;
8604+ def dxc_disable_validation : DXCFlag<"Vd">,
8605+ HelpText<"Disable validation">;
8606+ def : Option<["/", "-"], "Qembed_debug", KIND_FLAG>, Group<dxc_Group>,
8607+ Flags<[Ignored]>, Visibility<[DXCOption]>,
8608+ HelpText<"Embed PDB in shader container (ignored)">;
8609+ def spirv : DXCFlag<"spirv">,
8610+ HelpText<"Generate SPIR-V code">;
8611+ def fspv_target_env_EQ : Joined<["-"], "fspv-target-env=">, Group<dxc_Group>,
8612+ HelpText<"Specify the target environment">,
8613+ Values<"vulkan1.2, vulkan1.3">;
85428614
85438615#ifdef ENABLE_CLASSIC_FLANG
85448616// Classic Flang options that we recognize in the driver and pass along when
@@ -8558,6 +8630,8 @@ multiclass BooleanMFlag<string name> {
85588630 def _off : Flag<["-"], "Mno"#name>;
85598631}
85608632
8633+ let Visibility = [FlangOption] in {
8634+
85618635def Mfixed : Flag<["-"], "Mfixed">, Group<fortran_format_Group>,
85628636 HelpText<"Force fixed-form format Fortran">,
85638637 Flags<[HelpHidden]>;
@@ -8677,25 +8751,6 @@ def Hq_EQ : Joined<["-"], "Hq,">, Group<pgi_fortran_Group>;
86778751def Mqq_EQ : Joined<["-"], "Mqq,">, Group<pgi_fortran_Group>;
86788752def Hqq_EQ : Joined<["-"], "Hqq,">, Group<pgi_fortran_Group>;
86798753def Wh_EQ : Joined<["-"], "Wh,">, Group<pgi_fortran_Group>;
8754+
8755+ } // let Visibility = [FlangOption]
86808756#endif
8681- def hlsl_entrypoint : Option<["-"], "hlsl-entry", KIND_SEPARATE>,
8682- Group<dxc_Group>,
8683- Visibility<[ClangOption, CC1Option]>,
8684- MarshallingInfoString<TargetOpts<"HLSLEntry">, "\"main\"">,
8685- HelpText<"Entry point name for hlsl">;
8686- def dxc_entrypoint : Option<["--", "/", "-"], "E", KIND_JOINED_OR_SEPARATE>,
8687- Group<dxc_Group>,
8688- Visibility<[DXCOption]>,
8689- HelpText<"Entry point name">;
8690- def dxc_validator_path_EQ : Joined<["--"], "dxv-path=">, Group<dxc_Group>,
8691- HelpText<"DXIL validator installation path">;
8692- def dxc_disable_validation : DXCFlag<"Vd">,
8693- HelpText<"Disable validation">;
8694- def : Option<["/", "-"], "Qembed_debug", KIND_FLAG>, Group<dxc_Group>,
8695- Flags<[Ignored]>, Visibility<[DXCOption]>,
8696- HelpText<"Embed PDB in shader container (ignored)">;
8697- def spirv : DXCFlag<"spirv">,
8698- HelpText<"Generate SPIR-V code">;
8699- def fspv_target_env_EQ : Joined<["-"], "fspv-target-env=">, Group<dxc_Group>,
8700- HelpText<"Specify the target environment">,
8701- Values<"vulkan1.2, vulkan1.3">;
0 commit comments