@@ -683,7 +683,11 @@ def ccc_gcc_name : Separate<["-"], "ccc-gcc-name">, InternalDriverOpt,
683683
684684class InternalDebugOpt : Group<internal_debug_Group>,
685685 Flags<[NoXarchOption, HelpHidden]>,
686+ #ifdef ENABLE_CLASSIC_FLANG
687+ Visibility<[ClangOption, CLOption, DXCOption, FlangOption]>;
688+ #else
686689 Visibility<[ClangOption, CLOption, DXCOption]>;
690+ #endif
687691def ccc_install_dir : Separate<["-"], "ccc-install-dir">, InternalDebugOpt,
688692 HelpText<"Simulate installation in the given directory">;
689693def ccc_print_phases : Flag<["-"], "ccc-print-phases">,
@@ -816,6 +820,9 @@ def _DASH_DASH : Option<["--"], "", KIND_REMAINING_ARGS>,
816820def A : JoinedOrSeparate<["-"], "A">, Flags<[RenderJoined]>,
817821 Group<gfortran_Group>;
818822def B : JoinedOrSeparate<["-"], "B">, MetaVarName<"<prefix>">,
823+ #ifdef ENABLE_CLASSIC_FLANG
824+ Visibility<[ClangOption, FlangOption]>,
825+ #endif
819826 HelpText<"Search $prefix$file for executables, libraries, and data files. "
820827 "If $prefix is a directory, search $prefix/$file">;
821828def gcc_install_dir_EQ : Joined<["--"], "gcc-install-dir=">,
@@ -1527,6 +1534,7 @@ def emit_ast : Flag<["-"], "emit-ast">,
15271534 HelpText<"Emit Clang AST files for source inputs">;
15281535#ifdef ENABLE_CLASSIC_FLANG
15291536def emit_flang_llvm : Flag<["-"], "emit-flang-llvm">,
1537+ Visibility<[FlangOption]>,
15301538 HelpText<"Emit Flang LLVM files for source inputs">;
15311539#endif
15321540def emit_llvm : Flag<["-"], "emit-llvm">,
@@ -3520,6 +3528,9 @@ def fopenmp : Flag<["-"], "fopenmp">, Group<f_Group>,
35203528 Visibility<[ClangOption, CC1Option, FlangOption, FC1Option]>,
35213529 HelpText<"Parse OpenMP pragmas and generate parallel code.">;
35223530def fno_openmp : Flag<["-"], "fno-openmp">, Group<f_Group>,
3531+ #ifdef ENABLE_CLASSIC_FLANG
3532+ Visibility<[ClangOption, FlangOption]>,
3533+ #endif
35233534 Flags<[NoArgumentUnused]>;
35243535class OpenMPVersionHelp<string program, string default> {
35253536 string str = !strconcat(
@@ -3659,6 +3670,9 @@ defm openmp_optimistic_collapse : BoolFOption<"openmp-optimistic-collapse",
36593670 PosFlag<SetTrue, [], [ClangOption, CC1Option]>,
36603671 NegFlag<SetFalse>, BothFlags<[NoArgumentUnused, HelpHidden], []>>;
36613672def static_openmp: Flag<["-"], "static-openmp">,
3673+ #ifdef ENABLE_CLASSIC_FLANG
3674+ Visibility<[ClangOption, FlangOption]>,
3675+ #endif
36623676 HelpText<"Use the static host OpenMP runtime while linking.">;
36633677def fopenmp_new_driver : Flag<["-"], "fopenmp-new-driver">, Flags<[HelpHidden]>,
36643678 HelpText<"Use the new driver for OpenMP offloading.">;
@@ -4371,15 +4385,31 @@ def gdbx : Flag<["-"], "gdbx">, Group<gTune_Group>;
43714385// Equivalent to our default dwarf version. Forces usual dwarf emission when
43724386// CodeView is enabled.
43734387def gdwarf : Flag<["-"], "gdwarf">, Group<g_Group>,
4388+ #ifdef ENABLE_CLASSIC_FLANG
4389+ Visibility<[ClangOption, CLOption, DXCOption, FlangOption]>,
4390+ #else
43744391 Visibility<[ClangOption, CLOption, DXCOption]>,
4392+ #endif
43754393 HelpText<"Generate source-level debug information with the default dwarf version">;
43764394def gdwarf_2 : Flag<["-"], "gdwarf-2">, Group<g_Group>,
4395+ #ifdef ENABLE_CLASSIC_FLANG
4396+ Visibility<[ClangOption, FlangOption]>,
4397+ #endif
43774398 HelpText<"Generate source-level debug information with dwarf version 2">;
43784399def gdwarf_3 : Flag<["-"], "gdwarf-3">, Group<g_Group>,
4400+ #ifdef ENABLE_CLASSIC_FLANG
4401+ Visibility<[ClangOption, FlangOption]>,
4402+ #endif
43794403 HelpText<"Generate source-level debug information with dwarf version 3">;
43804404def gdwarf_4 : Flag<["-"], "gdwarf-4">, Group<g_Group>,
4405+ #ifdef ENABLE_CLASSIC_FLANG
4406+ Visibility<[ClangOption, FlangOption]>,
4407+ #endif
43814408 HelpText<"Generate source-level debug information with dwarf version 4">;
43824409def gdwarf_5 : Flag<["-"], "gdwarf-5">, Group<g_Group>,
4410+ #ifdef ENABLE_CLASSIC_FLANG
4411+ Visibility<[ClangOption, FlangOption]>,
4412+ #endif
43834413 HelpText<"Generate source-level debug information with dwarf version 5">;
43844414def gdwarf64 : Flag<["-"], "gdwarf64">, Group<g_Group>,
43854415 Visibility<[ClangOption, CC1Option, CC1AsOption]>,
@@ -4465,9 +4495,16 @@ def gno_simple_template_names : Flag<["-"], "gno-simple-template-names">,
44654495def ggnu_pubnames : Flag<["-"], "ggnu-pubnames">, Group<g_flags_Group>,
44664496 Visibility<[ClangOption, CC1Option]>;
44674497def gno_gnu_pubnames : Flag<["-"], "gno-gnu-pubnames">, Group<g_flags_Group>;
4498+ #ifdef ENABLE_CLASSIC_FLANG
4499+ def gpubnames : Flag<["-"], "gpubnames">, Group<g_flags_Group>,
4500+ Visibility<[ClangOption, CC1Option, FlangOption]>;
4501+ def gno_pubnames : Flag<["-"], "gno-pubnames">, Group<g_flags_Group>,
4502+ Visibility<[ClangOption, CC1Option, FlangOption]>;
4503+ #else
44684504def gpubnames : Flag<["-"], "gpubnames">, Group<g_flags_Group>,
44694505 Visibility<[ClangOption, CC1Option]>;
44704506def gno_pubnames : Flag<["-"], "gno-pubnames">, Group<g_flags_Group>;
4507+ #endif
44714508def gdwarf_aranges : Flag<["-"], "gdwarf-aranges">, Group<g_flags_Group>;
44724509def gmodules : Flag <["-"], "gmodules">, Group<gN_Group>,
44734510 HelpText<"Generate debug info with external references to clang modules"
@@ -5542,7 +5579,12 @@ def nostdincxx : Flag<["-"], "nostdinc++">, Visibility<[ClangOption, CC1Option]>
55425579 Group<IncludePath_Group>,
55435580 HelpText<"Disable standard #include directories for the C++ standard library">,
55445581 MarshallingInfoNegativeFlag<HeaderSearchOpts<"UseStandardCXXIncludes">>;
5582+ #ifdef ENABLE_CLASSIC_FLANG
5583+ def nostdlib : Flag<["-"], "nostdlib">, Group<Link_Group>,
5584+ Visibility<[ClangOption, FlangOption]>;
5585+ #else
55455586def nostdlib : Flag<["-"], "nostdlib">, Group<Link_Group>;
5587+ #endif
55465588def nostdlibxx : Flag<["-"], "nostdlib++">;
55475589def object : Flag<["-"], "object">;
55485590def o : JoinedOrSeparate<["-"], "o">,
@@ -5793,7 +5835,11 @@ def : Flag<["-"], "mtune=help">, Alias<print_supported_cpus>;
57935835def time : Flag<["-"], "time">,
57945836 HelpText<"Time individual commands">;
57955837def traditional_cpp : Flag<["-", "--"], "traditional-cpp">,
5838+ #ifdef ENABLE_CLASSIC_FLANG
5839+ Visibility<[ClangOption, CC1Option, FlangOption]>,
5840+ #else
57965841 Visibility<[ClangOption, CC1Option]>,
5842+ #endif
57975843 HelpText<"Enable some traditional CPP emulation">,
57985844 MarshallingInfoFlag<LangOpts<"TraditionalCPP">>;
57995845def traditional : Flag<["-", "--"], "traditional">;
@@ -5870,7 +5916,12 @@ def fno_integrated_objemitter : Flag<["-"], "fno-integrated-objemitter">,
58705916 Group<f_Group>,
58715917 HelpText<"Use external machine object code emitter.">;
58725918
5919+ #ifdef ENABLE_CLASSIC_FLANG
5920+ def : Flag<["-"], "integrated-as">, Alias<fintegrated_as>,
5921+ Visibility<[ClangOption, CC1Option, FlangOption]>;
5922+ #else
58735923def : Flag<["-"], "integrated-as">, Alias<fintegrated_as>;
5924+ #endif
58745925def : Flag<["-"], "no-integrated-as">, Alias<fno_integrated_as>,
58755926 Visibility<[ClangOption, CC1Option, FlangOption]>;
58765927
@@ -6778,7 +6829,7 @@ def fhermetic_module_files : Flag<["-"], "fhermetic-module-files">, Group<f_Grou
67786829
67796830#ifdef ENABLE_CLASSIC_FLANG
67806831def J : JoinedOrSeparate<["-"], "J">,
6781- Flags<[RenderJoined]>,
6832+ Flags<[RenderJoined]>, Visibility<[FlangOption, FC1Option]>,
67826833 Group<gfortran_Group>;
67836834
67846835let Visibility = [FlangOption] in {
@@ -8874,7 +8925,40 @@ def fcgl : DXCFlag<"fcgl">, Alias<emit_pristine_llvm>;
88748925def enable_16bit_types : DXCFlag<"enable-16bit-types">, Alias<fnative_half_type>,
88758926 HelpText<"Enable 16-bit types and disable min precision types."
88768927 "Available in HLSL 2018 and shader model 6.2.">;
8877-
8928+ def hlsl_entrypoint : Option<["-"], "hlsl-entry", KIND_SEPARATE>,
8929+ Group<dxc_Group>,
8930+ Visibility<[ClangOption, CC1Option]>,
8931+ MarshallingInfoString<TargetOpts<"HLSLEntry">, "\"main\"">,
8932+ HelpText<"Entry point name for hlsl">;
8933+ def dxc_entrypoint : Option<["--", "/", "-"], "E", KIND_JOINED_OR_SEPARATE>,
8934+ Group<dxc_Group>,
8935+ Visibility<[DXCOption]>,
8936+ HelpText<"Entry point name">;
8937+ def dxc_hlsl_version : Option<["/", "-"], "HV", KIND_JOINED_OR_SEPARATE>,
8938+ Group<dxc_Group>,
8939+ Visibility<[DXCOption]>,
8940+ HelpText<"HLSL Version">,
8941+ Values<"2016, 2017, 2018, 2021, 202x">;
8942+ def dxc_validator_path_EQ : Joined<["--"], "dxv-path=">, Group<dxc_Group>,
8943+ HelpText<"DXIL validator installation path">;
8944+ def dxc_disable_validation : DXCFlag<"Vd">,
8945+ HelpText<"Disable validation">;
8946+ def : Option<["/", "-"], "Qembed_debug", KIND_FLAG>, Group<dxc_Group>,
8947+ Flags<[Ignored]>, Visibility<[DXCOption]>,
8948+ HelpText<"Embed PDB in shader container (ignored)">;
8949+ def spirv : DXCFlag<"spirv">,
8950+ HelpText<"Generate SPIR-V code">;
8951+ def fspv_target_env_EQ : Joined<["-"], "fspv-target-env=">, Group<dxc_Group>,
8952+ HelpText<"Specify the target environment">,
8953+ Values<"vulkan1.2, vulkan1.3">;
8954+ def no_wasm_opt : Flag<["--"], "no-wasm-opt">,
8955+ Group<m_Group>,
8956+ HelpText<"Disable the wasm-opt optimizer">,
8957+ MarshallingInfoFlag<LangOpts<"NoWasmOpt">>;
8958+ def wasm_opt : Flag<["--"], "wasm-opt">,
8959+ Group<m_Group>,
8960+ HelpText<"Enable the wasm-opt optimizer (default)">,
8961+ MarshallingInfoNegativeFlag<LangOpts<"NoWasmOpt">>;
88788962#ifdef ENABLE_CLASSIC_FLANG
88798963// Classic Flang options that we recognize in the driver and pass along when
88808964// invoking flang1/flang2 to compile Fortran code.
@@ -8893,6 +8977,8 @@ multiclass BooleanMFlag<string name> {
88938977 def _off : Flag<["-"], "Mno"#name>;
88948978}
88958979
8980+ let Visibility = [FlangOption] in {
8981+
88968982def Mfixed : Flag<["-"], "Mfixed">, Group<fortran_format_Group>,
88978983 HelpText<"Force fixed-form format Fortran">,
88988984 Flags<[HelpHidden]>;
@@ -9012,38 +9098,6 @@ def Hq_EQ : Joined<["-"], "Hq,">, Group<pgi_fortran_Group>;
90129098def Mqq_EQ : Joined<["-"], "Mqq,">, Group<pgi_fortran_Group>;
90139099def Hqq_EQ : Joined<["-"], "Hqq,">, Group<pgi_fortran_Group>;
90149100def Wh_EQ : Joined<["-"], "Wh,">, Group<pgi_fortran_Group>;
9101+
9102+ } // let Visibility = [FlangOption]
90159103#endif
9016- def hlsl_entrypoint : Option<["-"], "hlsl-entry", KIND_SEPARATE>,
9017- Group<dxc_Group>,
9018- Visibility<[ClangOption, CC1Option]>,
9019- MarshallingInfoString<TargetOpts<"HLSLEntry">, "\"main\"">,
9020- HelpText<"Entry point name for hlsl">;
9021- def dxc_entrypoint : Option<["--", "/", "-"], "E", KIND_JOINED_OR_SEPARATE>,
9022- Group<dxc_Group>,
9023- Visibility<[DXCOption]>,
9024- HelpText<"Entry point name">;
9025- def dxc_hlsl_version : Option<["/", "-"], "HV", KIND_JOINED_OR_SEPARATE>,
9026- Group<dxc_Group>,
9027- Visibility<[DXCOption]>,
9028- HelpText<"HLSL Version">,
9029- Values<"2016, 2017, 2018, 2021, 202x">;
9030- def dxc_validator_path_EQ : Joined<["--"], "dxv-path=">, Group<dxc_Group>,
9031- HelpText<"DXIL validator installation path">;
9032- def dxc_disable_validation : DXCFlag<"Vd">,
9033- HelpText<"Disable validation">;
9034- def : Option<["/", "-"], "Qembed_debug", KIND_FLAG>, Group<dxc_Group>,
9035- Flags<[Ignored]>, Visibility<[DXCOption]>,
9036- HelpText<"Embed PDB in shader container (ignored)">;
9037- def spirv : DXCFlag<"spirv">,
9038- HelpText<"Generate SPIR-V code">;
9039- def fspv_target_env_EQ : Joined<["-"], "fspv-target-env=">, Group<dxc_Group>,
9040- HelpText<"Specify the target environment">,
9041- Values<"vulkan1.2, vulkan1.3">;
9042- def no_wasm_opt : Flag<["--"], "no-wasm-opt">,
9043- Group<m_Group>,
9044- HelpText<"Disable the wasm-opt optimizer">,
9045- MarshallingInfoFlag<LangOpts<"NoWasmOpt">>;
9046- def wasm_opt : Flag<["--"], "wasm-opt">,
9047- Group<m_Group>,
9048- HelpText<"Enable the wasm-opt optimizer (default)">,
9049- MarshallingInfoNegativeFlag<LangOpts<"NoWasmOpt">>;
0 commit comments