@@ -679,7 +679,8 @@ def MP : Flag<["-"], "MP">, Group<M_Group>, Flags<[CC1Option]>,
679
679
def MQ : JoinedOrSeparate<["-"], "MQ">, Group<M_Group>, Flags<[CC1Option]>,
680
680
HelpText<"Specify name of main file output to quote in depfile">;
681
681
def MT : JoinedOrSeparate<["-"], "MT">, Group<M_Group>, Flags<[CC1Option]>,
682
- HelpText<"Specify name of main file output in depfile">;
682
+ HelpText<"Specify name of main file output in depfile">,
683
+ MarshallingInfoStringVector<"DependencyOutputOpts.Targets">;
683
684
def MV : Flag<["-"], "MV">, Group<M_Group>, Flags<[CC1Option]>,
684
685
HelpText<"Use NMake/Jom format for the depfile">,
685
686
MarshallingInfoFlag<"DependencyOutputOpts.OutputFormat", "DependencyOutputFormat::Make">,
@@ -753,7 +754,8 @@ def Wp_COMMA : CommaJoined<["-"], "Wp,">,
753
754
MetaVarName<"<arg>">, Group<Preprocessor_Group>;
754
755
def Wundef_prefix_EQ : CommaJoined<["-"], "Wundef-prefix=">, Group<W_value_Group>,
755
756
Flags<[CC1Option, CoreOption, HelpHidden]>, MetaVarName<"<arg>">,
756
- HelpText<"Enable warnings for undefined macros with a prefix in the comma separated list <arg>">;
757
+ HelpText<"Enable warnings for undefined macros with a prefix in the comma separated list <arg>">,
758
+ MarshallingInfoStringVector<"DiagnosticOpts->UndefPrefixes">;
757
759
def Wwrite_strings : Flag<["-"], "Wwrite-strings">, Group<W_Group>, Flags<[CC1Option, HelpHidden]>;
758
760
def Wno_write_strings : Flag<["-"], "Wno-write-strings">, Group<W_Group>, Flags<[CC1Option, HelpHidden]>;
759
761
def W_Joined : Joined<["-"], "W">, Group<W_Group>, Flags<[CC1Option, CoreOption]>,
@@ -1387,7 +1389,8 @@ def fno_sanitize_EQ : CommaJoined<["-"], "fno-sanitize=">, Group<f_clang_Group>,
1387
1389
Flags<[CoreOption, NoXarchOption]>;
1388
1390
def fsanitize_blacklist : Joined<["-"], "fsanitize-blacklist=">,
1389
1391
Group<f_clang_Group>,
1390
- HelpText<"Path to blacklist file for sanitizers">;
1392
+ HelpText<"Path to blacklist file for sanitizers">,
1393
+ MarshallingInfoStringVector<"LangOpts->SanitizerBlacklistFiles">;
1391
1394
def fsanitize_system_blacklist : Joined<["-"], "fsanitize-system-blacklist=">,
1392
1395
HelpText<"Path to system blacklist file for sanitizers">,
1393
1396
Flags<[CC1Option]>;
@@ -1405,13 +1408,15 @@ def fno_sanitize_coverage
1405
1408
"Sanitizers">, Values<"func,bb,edge,indirect-calls,trace-bb,trace-cmp,trace-div,trace-gep,8bit-counters,trace-pc,trace-pc-guard,no-prune,inline-8bit-counters,inline-bool-flag">;
1406
1409
def fsanitize_coverage_allowlist : Joined<["-"], "fsanitize-coverage-allowlist=">,
1407
1410
Group<f_clang_Group>, Flags<[CoreOption, NoXarchOption]>,
1408
- HelpText<"Restrict sanitizer coverage instrumentation exclusively to modules and functions that match the provided special case list, except the blocked ones">;
1411
+ HelpText<"Restrict sanitizer coverage instrumentation exclusively to modules and functions that match the provided special case list, except the blocked ones">,
1412
+ MarshallingInfoStringVector<"CodeGenOpts.SanitizeCoverageAllowlistFiles">;
1409
1413
def : Joined<["-"], "fsanitize-coverage-whitelist=">,
1410
1414
Group<f_clang_Group>, Flags<[CoreOption, HelpHidden]>, Alias<fsanitize_coverage_allowlist>,
1411
1415
HelpText<"Deprecated, use -fsanitize-coverage-allowlist= instead">;
1412
1416
def fsanitize_coverage_blocklist : Joined<["-"], "fsanitize-coverage-blocklist=">,
1413
1417
Group<f_clang_Group>, Flags<[CoreOption, NoXarchOption]>,
1414
- HelpText<"Disable sanitizer coverage instrumentation for modules and functions that match the provided special case list, even the allowed ones">;
1418
+ HelpText<"Disable sanitizer coverage instrumentation for modules and functions that match the provided special case list, even the allowed ones">,
1419
+ MarshallingInfoStringVector<"CodeGenOpts.SanitizeCoverageBlocklistFiles">;
1415
1420
def : Joined<["-"], "fsanitize-coverage-blacklist=">,
1416
1421
Group<f_clang_Group>, Flags<[CoreOption, HelpHidden]>, Alias<fsanitize_coverage_blocklist>,
1417
1422
HelpText<"Deprecated, use -fsanitize-coverage-blocklist= instead">;
@@ -1616,7 +1621,8 @@ defm delete_null_pointer_checks : BoolFOption<"delete-null-pointer-checks",
1616
1621
1617
1622
def frewrite_map_file : Separate<["-"], "frewrite-map-file">,
1618
1623
Group<f_Group>,
1619
- Flags<[ NoXarchOption, CC1Option ]>;
1624
+ Flags<[ NoXarchOption, CC1Option ]>,
1625
+ MarshallingInfoStringVector<"CodeGenOpts.RewriteMapFiles">;
1620
1626
def frewrite_map_file_EQ : Joined<["-"], "frewrite-map-file=">,
1621
1627
Group<f_Group>,
1622
1628
Flags<[NoXarchOption]>;
@@ -1694,15 +1700,18 @@ def fxray_instruction_threshold_ :
1694
1700
def fxray_always_instrument :
1695
1701
JoinedOrSeparate<["-"], "fxray-always-instrument=">,
1696
1702
Group<f_Group>, Flags<[CC1Option]>,
1697
- HelpText<"DEPRECATED: Filename defining the whitelist for imbuing the 'always instrument' XRay attribute.">;
1703
+ HelpText<"DEPRECATED: Filename defining the whitelist for imbuing the 'always instrument' XRay attribute.">,
1704
+ MarshallingInfoStringVector<"LangOpts->XRayAlwaysInstrumentFiles">;
1698
1705
def fxray_never_instrument :
1699
1706
JoinedOrSeparate<["-"], "fxray-never-instrument=">,
1700
1707
Group<f_Group>, Flags<[CC1Option]>,
1701
- HelpText<"DEPRECATED: Filename defining the whitelist for imbuing the 'never instrument' XRay attribute.">;
1708
+ HelpText<"DEPRECATED: Filename defining the whitelist for imbuing the 'never instrument' XRay attribute.">,
1709
+ MarshallingInfoStringVector<"LangOpts->XRayNeverInstrumentFiles">;
1702
1710
def fxray_attr_list :
1703
1711
JoinedOrSeparate<["-"], "fxray-attr-list=">,
1704
1712
Group<f_Group>, Flags<[CC1Option]>,
1705
- HelpText<"Filename defining the list of functions/types for imbuing XRay attributes.">;
1713
+ HelpText<"Filename defining the list of functions/types for imbuing XRay attributes.">,
1714
+ MarshallingInfoStringVector<"LangOpts->XRayAttrListFiles">;
1706
1715
def fxray_modes :
1707
1716
JoinedOrSeparate<["-"], "fxray-modes=">,
1708
1717
Group<f_Group>, Flags<[CC1Option]>,
@@ -2191,7 +2200,8 @@ def fplugin_EQ : Joined<["-"], "fplugin=">, Group<f_Group>, Flags<[NoXarchOption
2191
2200
HelpText<"Load the named plugin (dynamic shared object)">;
2192
2201
def fpass_plugin_EQ : Joined<["-"], "fpass-plugin=">,
2193
2202
Group<f_Group>, Flags<[CC1Option]>, MetaVarName<"<dsopath>">,
2194
- HelpText<"Load pass plugin from a dynamic shared object file (only with new pass manager).">;
2203
+ HelpText<"Load pass plugin from a dynamic shared object file (only with new pass manager).">,
2204
+ MarshallingInfoStringVector<"CodeGenOpts.PassPlugins">;
2195
2205
defm preserve_as_comments : BoolFOption<"preserve-as-comments",
2196
2206
"CodeGenOpts.PreserveAsmComments", DefaultsToTrue,
2197
2207
ChangedBy<NegFlag, [], "Do not preserve comments in inline assembly">,
@@ -2639,7 +2649,8 @@ def iframeworkwithsysroot : JoinedOrSeparate<["-"], "iframeworkwithsysroot">,
2639
2649
"absolute paths are relative to -isysroot">,
2640
2650
MetaVarName<"<directory>">, Flags<[CC1Option]>;
2641
2651
def imacros : JoinedOrSeparate<["-", "--"], "imacros">, Group<clang_i_Group>, Flags<[CC1Option]>,
2642
- HelpText<"Include macros from file before parsing">, MetaVarName<"<file>">;
2652
+ HelpText<"Include macros from file before parsing">, MetaVarName<"<file>">,
2653
+ MarshallingInfoStringVector<"PreprocessorOpts->MacroIncludes">;
2643
2654
def image__base : Separate<["-"], "image_base">;
2644
2655
def include_ : JoinedOrSeparate<["-", "--"], "include">, Group<clang_i_Group>, EnumName<"include">,
2645
2656
MetaVarName<"<file>">, HelpText<"Include file before parsing">, Flags<[CC1Option]>;
@@ -2786,7 +2797,8 @@ def mkernel : Flag<["-"], "mkernel">, Group<m_Group>;
2786
2797
def mlinker_version_EQ : Joined<["-"], "mlinker-version=">,
2787
2798
Flags<[NoXarchOption]>;
2788
2799
def mllvm : Separate<["-"], "mllvm">, Flags<[CC1Option,CC1AsOption,CoreOption]>,
2789
- HelpText<"Additional arguments to forward to LLVM's option processing">;
2800
+ HelpText<"Additional arguments to forward to LLVM's option processing">,
2801
+ MarshallingInfoStringVector<"FrontendOpts.LLVMArgs">;
2790
2802
def mmacosx_version_min_EQ : Joined<["-"], "mmacosx-version-min=">,
2791
2803
Group<m_Group>, HelpText<"Set Mac OS X deployment target">;
2792
2804
def mmacos_version_min_EQ : Joined<["-"], "mmacos-version-min=">,
@@ -3124,7 +3136,8 @@ def mno_implicit_float : Flag<["-"], "mno-implicit-float">, Group<m_Group>,
3124
3136
HelpText<"Don't generate implicit floating point instructions">;
3125
3137
def mimplicit_float : Flag<["-"], "mimplicit-float">, Group<m_Group>;
3126
3138
def mrecip : Flag<["-"], "mrecip">, Group<m_Group>;
3127
- def mrecip_EQ : CommaJoined<["-"], "mrecip=">, Group<m_Group>, Flags<[CC1Option]>;
3139
+ def mrecip_EQ : CommaJoined<["-"], "mrecip=">, Group<m_Group>, Flags<[CC1Option]>,
3140
+ MarshallingInfoStringVector<"CodeGenOpts.Reciprocals">;
3128
3141
def mprefer_vector_width_EQ : Joined<["-"], "mprefer-vector-width=">, Group<m_Group>, Flags<[CC1Option]>,
3129
3142
HelpText<"Specifies preferred vector width for auto-vectorization. Defaults to 'none' which allows target specific decisions.">,
3130
3143
MarshallingInfoString<"CodeGenOpts.PreferVectorWidth">;
@@ -4120,7 +4133,8 @@ def tune_cpu : Separate<["-"], "tune-cpu">,
4120
4133
HelpText<"Tune for a specific cpu type">,
4121
4134
MarshallingInfoString<"TargetOpts->TuneCPU">;
4122
4135
def target_feature : Separate<["-"], "target-feature">,
4123
- HelpText<"Target specific attributes">;
4136
+ HelpText<"Target specific attributes">,
4137
+ MarshallingInfoStringVector<"TargetOpts->FeaturesAsWritten">;
4124
4138
def triple : Separate<["-"], "triple">,
4125
4139
HelpText<"Specify target triple (e.g. i686-apple-darwin9)">,
4126
4140
MarshallingInfoString<"TargetOpts->Triple", "llvm::Triple::normalize(llvm::sys::getDefaultTargetTriple())">,
@@ -4323,7 +4337,8 @@ def debug_info_macro : Flag<["-"], "debug-info-macro">,
4323
4337
HelpText<"Emit macro debug information">,
4324
4338
MarshallingInfoFlag<"CodeGenOpts.MacroDebugInfo">;
4325
4339
def default_function_attr : Separate<["-"], "default-function-attr">,
4326
- HelpText<"Apply given attribute to all functions">;
4340
+ HelpText<"Apply given attribute to all functions">,
4341
+ MarshallingInfoStringVector<"CodeGenOpts.DefaultFunctionAttrs">;
4327
4342
def dwarf_version_EQ : Joined<["-"], "dwarf-version=">,
4328
4343
MarshallingInfoStringInt<"CodeGenOpts.DwarfVersion">;
4329
4344
def debugger_tuning_EQ : Joined<["-"], "debugger-tuning=">,
@@ -4496,9 +4511,11 @@ def vectorize_slp : Flag<["-"], "vectorize-slp">,
4496
4511
HelpText<"Run the SLP vectorization passes">,
4497
4512
MarshallingInfoFlag<"CodeGenOpts.VectorizeSLP">;
4498
4513
def dependent_lib : Joined<["--"], "dependent-lib=">,
4499
- HelpText<"Add dependent library">;
4514
+ HelpText<"Add dependent library">,
4515
+ MarshallingInfoStringVector<"CodeGenOpts.DependentLibraries">;
4500
4516
def linker_option : Joined<["--"], "linker-option=">,
4501
- HelpText<"Add linker option">;
4517
+ HelpText<"Add linker option">,
4518
+ MarshallingInfoStringVector<"CodeGenOpts.LinkerOptions">;
4502
4519
def fsanitize_coverage_type : Joined<["-"], "fsanitize-coverage-type=">,
4503
4520
HelpText<"Sanitizer coverage type">,
4504
4521
MarshallingInfoStringInt<"CodeGenOpts.SanitizeCoverageType">;
@@ -4658,7 +4675,8 @@ def fcaret_diagnostics_max_lines :
4658
4675
def verify_EQ : CommaJoined<["-"], "verify=">,
4659
4676
MetaVarName<"<prefixes>">,
4660
4677
HelpText<"Verify diagnostic output using comment directives that start with"
4661
- " prefixes in the comma-separated sequence <prefixes>">;
4678
+ " prefixes in the comma-separated sequence <prefixes>">,
4679
+ MarshallingInfoStringVector<"DiagnosticOpts->VerifyPrefixes">;
4662
4680
def verify : Flag<["-"], "verify">,
4663
4681
HelpText<"Equivalent to -verify=expected">;
4664
4682
def verify_ignore_unexpected : Flag<["-"], "verify-ignore-unexpected">,
@@ -4679,7 +4697,8 @@ def cc1as : Flag<["-"], "cc1as">;
4679
4697
4680
4698
def ast_merge : Separate<["-"], "ast-merge">,
4681
4699
MetaVarName<"<ast file>">,
4682
- HelpText<"Merge the given AST file into the translation unit being compiled.">;
4700
+ HelpText<"Merge the given AST file into the translation unit being compiled.">,
4701
+ MarshallingInfoStringVector<"FrontendOpts.ASTMergeFiles">;
4683
4702
def aux_target_cpu : Separate<["-"], "aux-target-cpu">,
4684
4703
HelpText<"Target a specific auxiliary cpu type">;
4685
4704
def aux_target_feature : Separate<["-"], "aux-target-feature">,
@@ -4746,11 +4765,13 @@ def fmodule_map_file_home_is_cwd : Flag<["-"], "fmodule-map-file-home-is-cwd">,
4746
4765
MarshallingInfoFlag<"HeaderSearchOpts->ModuleMapFileHomeIsCwd">;
4747
4766
def fmodule_feature : Separate<["-"], "fmodule-feature">,
4748
4767
MetaVarName<"<feature>">,
4749
- HelpText<"Enable <feature> in module map requires declarations">;
4768
+ HelpText<"Enable <feature> in module map requires declarations">,
4769
+ MarshallingInfoStringVector<"LangOpts->ModuleFeatures">;
4750
4770
def fmodules_embed_file_EQ : Joined<["-"], "fmodules-embed-file=">,
4751
4771
MetaVarName<"<file>">,
4752
4772
HelpText<"Embed the contents of the specified file into the module file "
4753
- "being compiled.">;
4773
+ "being compiled.">,
4774
+ MarshallingInfoStringVector<"FrontendOpts.ModulesEmbedFiles">;
4754
4775
def fmodules_embed_all_files : Joined<["-"], "fmodules-embed-all-files">,
4755
4776
HelpText<"Embed the contents of all files read by this compilation into "
4756
4777
"the produced module file.">,
@@ -5190,7 +5211,8 @@ def disable_pragma_debug_crash : Flag<["-"], "disable-pragma-debug-crash">,
5190
5211
//===----------------------------------------------------------------------===//
5191
5212
5192
5213
def cl_ext_EQ : CommaJoined<["-"], "cl-ext=">,
5193
- HelpText<"OpenCL only. Enable or disable OpenCL extensions. The argument is a comma-separated sequence of one or more extension names, each prefixed by '+' or '-'.">;
5214
+ HelpText<"OpenCL only. Enable or disable OpenCL extensions. The argument is a comma-separated sequence of one or more extension names, each prefixed by '+' or '-'.">,
5215
+ MarshallingInfoStringVector<"TargetOpts->OpenCLExtensionsAsWritten">;
5194
5216
5195
5217
//===----------------------------------------------------------------------===//
5196
5218
// CUDA Options
0 commit comments