@@ -632,7 +632,11 @@ def ccc_gcc_name : Separate<["-"], "ccc-gcc-name">, InternalDriverOpt,
632
632
633
633
class InternalDebugOpt : Group<internal_debug_Group>,
634
634
Flags<[NoXarchOption, HelpHidden]>,
635
+ #ifdef ENABLE_CLASSIC_FLANG
636
+ Visibility<[ClangOption, CLOption, DXCOption, FlangOption]>;
637
+ #else
635
638
Visibility<[ClangOption, CLOption, DXCOption]>;
639
+ #endif
636
640
def ccc_install_dir : Separate<["-"], "ccc-install-dir">, InternalDebugOpt,
637
641
HelpText<"Simulate installation in the given directory">;
638
642
def ccc_print_phases : Flag<["-"], "ccc-print-phases">,
@@ -765,6 +769,9 @@ def _DASH_DASH : Option<["--"], "", KIND_REMAINING_ARGS>,
765
769
def A : JoinedOrSeparate<["-"], "A">, Flags<[RenderJoined]>,
766
770
Group<gfortran_Group>;
767
771
def B : JoinedOrSeparate<["-"], "B">, MetaVarName<"<prefix>">,
772
+ #ifdef ENABLE_CLASSIC_FLANG
773
+ Visibility<[ClangOption, FlangOption]>,
774
+ #endif
768
775
HelpText<"Search $prefix$file for executables, libraries, and data files. "
769
776
"If $prefix is a directory, search $prefix/$file">;
770
777
def gcc_install_dir_EQ : Joined<["--"], "gcc-install-dir=">,
@@ -1450,6 +1457,7 @@ def emit_ast : Flag<["-"], "emit-ast">,
1450
1457
HelpText<"Emit Clang AST files for source inputs">;
1451
1458
#ifdef ENABLE_CLASSIC_FLANG
1452
1459
def emit_flang_llvm : Flag<["-"], "emit-flang-llvm">,
1460
+ Visibility<[FlangOption]>,
1453
1461
HelpText<"Emit Flang LLVM files for source inputs">;
1454
1462
#endif
1455
1463
def emit_llvm : Flag<["-"], "emit-llvm">,
@@ -3365,6 +3373,9 @@ def fopenmp : Flag<["-"], "fopenmp">, Group<f_Group>,
3365
3373
Visibility<[ClangOption, CC1Option, FlangOption, FC1Option]>,
3366
3374
HelpText<"Parse OpenMP pragmas and generate parallel code.">;
3367
3375
def fno_openmp : Flag<["-"], "fno-openmp">, Group<f_Group>,
3376
+ #ifdef ENABLE_CLASSIC_FLANG
3377
+ Visibility<[ClangOption, FlangOption]>,
3378
+ #endif
3368
3379
Flags<[NoArgumentUnused]>;
3369
3380
def fopenmp_version_EQ : Joined<["-"], "fopenmp-version=">, Group<f_Group>,
3370
3381
Flags<[NoArgumentUnused]>,
@@ -3497,6 +3508,9 @@ defm openmp_optimistic_collapse : BoolFOption<"openmp-optimistic-collapse",
3497
3508
PosFlag<SetTrue, [], [ClangOption, CC1Option]>,
3498
3509
NegFlag<SetFalse>, BothFlags<[NoArgumentUnused, HelpHidden], []>>;
3499
3510
def static_openmp: Flag<["-"], "static-openmp">,
3511
+ #ifdef ENABLE_CLASSIC_FLANG
3512
+ Visibility<[ClangOption, FlangOption]>,
3513
+ #endif
3500
3514
HelpText<"Use the static host OpenMP runtime while linking.">;
3501
3515
def fopenmp_new_driver : Flag<["-"], "fopenmp-new-driver">, Flags<[HelpHidden]>,
3502
3516
HelpText<"Use the new driver for OpenMP offloading.">;
@@ -4145,15 +4159,31 @@ def gdbx : Flag<["-"], "gdbx">, Group<gTune_Group>;
4145
4159
// Equivalent to our default dwarf version. Forces usual dwarf emission when
4146
4160
// CodeView is enabled.
4147
4161
def gdwarf : Flag<["-"], "gdwarf">, Group<g_Group>,
4162
+ #ifdef ENABLE_CLASSIC_FLANG
4163
+ Visibility<[ClangOption, CLOption, DXCOption, FlangOption]>,
4164
+ #else
4148
4165
Visibility<[ClangOption, CLOption, DXCOption]>,
4166
+ #endif
4149
4167
HelpText<"Generate source-level debug information with the default dwarf version">;
4150
4168
def gdwarf_2 : Flag<["-"], "gdwarf-2">, Group<g_Group>,
4169
+ #ifdef ENABLE_CLASSIC_FLANG
4170
+ Visibility<[ClangOption, FlangOption]>,
4171
+ #endif
4151
4172
HelpText<"Generate source-level debug information with dwarf version 2">;
4152
4173
def gdwarf_3 : Flag<["-"], "gdwarf-3">, Group<g_Group>,
4174
+ #ifdef ENABLE_CLASSIC_FLANG
4175
+ Visibility<[ClangOption, FlangOption]>,
4176
+ #endif
4153
4177
HelpText<"Generate source-level debug information with dwarf version 3">;
4154
4178
def gdwarf_4 : Flag<["-"], "gdwarf-4">, Group<g_Group>,
4179
+ #ifdef ENABLE_CLASSIC_FLANG
4180
+ Visibility<[ClangOption, FlangOption]>,
4181
+ #endif
4155
4182
HelpText<"Generate source-level debug information with dwarf version 4">;
4156
4183
def gdwarf_5 : Flag<["-"], "gdwarf-5">, Group<g_Group>,
4184
+ #ifdef ENABLE_CLASSIC_FLANG
4185
+ Visibility<[ClangOption, FlangOption]>,
4186
+ #endif
4157
4187
HelpText<"Generate source-level debug information with dwarf version 5">;
4158
4188
def gdwarf64 : Flag<["-"], "gdwarf64">, Group<g_Group>,
4159
4189
Visibility<[ClangOption, CC1Option, CC1AsOption]>,
@@ -4233,9 +4263,16 @@ def gno_simple_template_names : Flag<["-"], "gno-simple-template-names">,
4233
4263
def ggnu_pubnames : Flag<["-"], "ggnu-pubnames">, Group<g_flags_Group>,
4234
4264
Visibility<[ClangOption, CC1Option]>;
4235
4265
def 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
4236
4272
def gpubnames : Flag<["-"], "gpubnames">, Group<g_flags_Group>,
4237
4273
Visibility<[ClangOption, CC1Option]>;
4238
4274
def gno_pubnames : Flag<["-"], "gno-pubnames">, Group<g_flags_Group>;
4275
+ #endif
4239
4276
def gdwarf_aranges : Flag<["-"], "gdwarf-aranges">, Group<g_flags_Group>;
4240
4277
def gmodules : Flag <["-"], "gmodules">, Group<gN_Group>,
4241
4278
HelpText<"Generate debug info with external references to clang modules"
@@ -5264,7 +5301,12 @@ def nostdincxx : Flag<["-"], "nostdinc++">, Visibility<[ClangOption, CC1Option]>
5264
5301
Group<IncludePath_Group>,
5265
5302
HelpText<"Disable standard #include directories for the C++ standard library">,
5266
5303
MarshallingInfoNegativeFlag<HeaderSearchOpts<"UseStandardCXXIncludes">>;
5304
+ #ifdef ENABLE_CLASSIC_FLANG
5305
+ def nostdlib : Flag<["-"], "nostdlib">, Group<Link_Group>,
5306
+ Visibility<[ClangOption, FlangOption]>;
5307
+ #else
5267
5308
def nostdlib : Flag<["-"], "nostdlib">, Group<Link_Group>;
5309
+ #endif
5268
5310
def nostdlibxx : Flag<["-"], "nostdlib++">;
5269
5311
def object : Flag<["-"], "object">;
5270
5312
def o : JoinedOrSeparate<["-"], "o">,
@@ -5492,7 +5534,11 @@ def : Flag<["-"], "mtune=help">, Alias<print_supported_cpus>;
5492
5534
def time : Flag<["-"], "time">,
5493
5535
HelpText<"Time individual commands">;
5494
5536
def traditional_cpp : Flag<["-", "--"], "traditional-cpp">,
5537
+ #ifdef ENABLE_CLASSIC_FLANG
5538
+ Visibility<[ClangOption, CC1Option, FlangOption]>,
5539
+ #else
5495
5540
Visibility<[ClangOption, CC1Option]>,
5541
+ #endif
5496
5542
HelpText<"Enable some traditional CPP emulation">,
5497
5543
MarshallingInfoFlag<LangOpts<"TraditionalCPP">>;
5498
5544
def traditional : Flag<["-", "--"], "traditional">;
@@ -5569,7 +5615,12 @@ def fno_integrated_objemitter : Flag<["-"], "fno-integrated-objemitter">,
5569
5615
Group<f_Group>,
5570
5616
HelpText<"Use external machine object code emitter.">;
5571
5617
5618
+ #ifdef ENABLE_CLASSIC_FLANG
5619
+ def : Flag<["-"], "integrated-as">, Alias<fintegrated_as>,
5620
+ Visibility<[ClangOption, CC1Option, FlangOption]>;
5621
+ #else
5572
5622
def : Flag<["-"], "integrated-as">, Alias<fintegrated_as>;
5623
+ #endif
5573
5624
def : Flag<["-"], "no-integrated-as">, Alias<fno_integrated_as>,
5574
5625
Visibility<[ClangOption, CC1Option, FlangOption]>;
5575
5626
@@ -6479,7 +6530,7 @@ defm loop_versioning : BoolOptionWithoutMarshalling<"f", "version-loops-for-stri
6479
6530
6480
6531
#ifdef ENABLE_CLASSIC_FLANG
6481
6532
def J : JoinedOrSeparate<["-"], "J">,
6482
- Flags<[RenderJoined]>,
6533
+ Flags<[RenderJoined]>, Visibility<[FlangOption, FC1Option]>,
6483
6534
Group<gfortran_Group>;
6484
6535
#else
6485
6536
def J : JoinedOrSeparate<["-"], "J">,
@@ -8539,6 +8590,27 @@ def fcgl : DXCFlag<"fcgl">, Alias<emit_pristine_llvm>;
8539
8590
def enable_16bit_types : DXCFlag<"enable-16bit-types">, Alias<fnative_half_type>,
8540
8591
HelpText<"Enable 16-bit types and disable min precision types."
8541
8592
"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">;
8542
8614
8543
8615
#ifdef ENABLE_CLASSIC_FLANG
8544
8616
// Classic Flang options that we recognize in the driver and pass along when
@@ -8558,6 +8630,8 @@ multiclass BooleanMFlag<string name> {
8558
8630
def _off : Flag<["-"], "Mno"#name>;
8559
8631
}
8560
8632
8633
+ let Visibility = [FlangOption] in {
8634
+
8561
8635
def Mfixed : Flag<["-"], "Mfixed">, Group<fortran_format_Group>,
8562
8636
HelpText<"Force fixed-form format Fortran">,
8563
8637
Flags<[HelpHidden]>;
@@ -8677,25 +8751,6 @@ def Hq_EQ : Joined<["-"], "Hq,">, Group<pgi_fortran_Group>;
8677
8751
def Mqq_EQ : Joined<["-"], "Mqq,">, Group<pgi_fortran_Group>;
8678
8752
def Hqq_EQ : Joined<["-"], "Hqq,">, Group<pgi_fortran_Group>;
8679
8753
def Wh_EQ : Joined<["-"], "Wh,">, Group<pgi_fortran_Group>;
8754
+
8755
+ } // let Visibility = [FlangOption]
8680
8756
#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