1/*===- TableGen'erated file -------------------------------------*- C++ -*-===*\ 2|* *| 3|* Option Parsing Definitions *| 4|* *| 5|* Automatically generated file, do not edit! *| 6|* *| 7\*===----------------------------------------------------------------------===*/ 8 9///////// 10// Prefixes 11 12#ifdef PREFIX 13#define COMMA , 14PREFIX(prefix_0, {llvm::StringLiteral("")}) 15PREFIX(prefix_1, {llvm::StringLiteral("-") COMMA llvm::StringLiteral("")}) 16PREFIX(prefix_4, {llvm::StringLiteral("-") COMMA llvm::StringLiteral("--") COMMA llvm::StringLiteral("")}) 17PREFIX(prefix_3, {llvm::StringLiteral("--") COMMA llvm::StringLiteral("")}) 18PREFIX(prefix_5, {llvm::StringLiteral("--") COMMA llvm::StringLiteral("/") COMMA llvm::StringLiteral("-") COMMA llvm::StringLiteral("")}) 19PREFIX(prefix_2, {llvm::StringLiteral("/") COMMA llvm::StringLiteral("-") COMMA llvm::StringLiteral("")}) 20#undef COMMA 21#endif // PREFIX 22 23///////// 24// Prefix Union 25 26#ifdef PREFIX_UNION 27#define COMMA , 28PREFIX_UNION({ 29llvm::StringLiteral("-") COMMA llvm::StringLiteral("--") COMMA llvm::StringLiteral("/") COMMA llvm::StringLiteral("")}) 30#undef COMMA 31#endif // PREFIX_UNION 32 33///////// 34// ValuesCode 35 36#ifdef OPTTABLE_VALUES_CODE 37#define VALUES_CODE analyzer_checker_Values 38 39 static constexpr const char VALUES_CODE [] = 40 #define GET_CHECKERS 41 #define CHECKER(FULLNAME, CLASS, HT, DOC_URI, IS_HIDDEN) FULLNAME "," 42 #include "clang/StaticAnalyzer/Checkers/Checkers.inc" 43 #undef GET_CHECKERS 44 #define GET_PACKAGES 45 #define PACKAGE(FULLNAME) FULLNAME "," 46 #include "clang/StaticAnalyzer/Checkers/Checkers.inc" 47 #undef GET_PACKAGES 48 ; 49 50#undef VALUES_CODE 51#define VALUES_CODE std_EQ_Values 52 53 static constexpr const char VALUES_CODE [] = 54 #define LANGSTANDARD(id, name, lang, desc, features) name "," 55 #define LANGSTANDARD_ALIAS(id, alias) alias "," 56 #include "clang/Basic/LangStandards.def" 57 ; 58 59#undef VALUES_CODE 60#endif 61///////// 62// Groups 63 64#ifdef OPTION 65OPTION(llvm::ArrayRef<llvm::StringLiteral>(), "<action group>", Action_Group, Group, INVALID, INVALID, nullptr, 0, 0, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 66OPTION(llvm::ArrayRef<llvm::StringLiteral>(), "<CompileOnly group>", CompileOnly_Group, Group, INVALID, INVALID, nullptr, 0, 0, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 67OPTION(llvm::ArrayRef<llvm::StringLiteral>(), "<g group>", DebugInfo_Group, Group, CompileOnly_Group, INVALID, nullptr, 0, 0, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 68OPTION(llvm::ArrayRef<llvm::StringLiteral>(), "<W/R group>", Diag_Group, Group, CompileOnly_Group, INVALID, nullptr, 0, 0, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 69OPTION(llvm::ArrayRef<llvm::StringLiteral>(), "<I group>", I_Group, Group, IncludePath_Group, INVALID, nullptr, 0, 0, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 70OPTION(llvm::ArrayRef<llvm::StringLiteral>(), "<I/i group>", IncludePath_Group, Group, Preprocessor_Group, INVALID, nullptr, 0, 0, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 71OPTION(llvm::ArrayRef<llvm::StringLiteral>(), "<T/e/s/t/u group>", Link_Group, Group, INVALID, INVALID, nullptr, 0, 0, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 72OPTION(llvm::ArrayRef<llvm::StringLiteral>(), "<LongDouble group>", LongDouble_Group, Group, m_Group, INVALID, nullptr, 0, 0, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 73OPTION(llvm::ArrayRef<llvm::StringLiteral>(), "<M group>", M_Group, Group, Preprocessor_Group, INVALID, nullptr, 0, 0, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 74OPTION(llvm::ArrayRef<llvm::StringLiteral>(), "<O group>", O_Group, Group, CompileOnly_Group, INVALID, nullptr, 0, 0, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 75OPTION(llvm::ArrayRef<llvm::StringLiteral>(), "<Preprocessor group>", Preprocessor_Group, Group, CompileOnly_Group, INVALID, nullptr, 0, 0, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 76OPTION(llvm::ArrayRef<llvm::StringLiteral>(), "<R group>", R_Group, Group, Diag_Group, INVALID, nullptr, 0, 0, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 77OPTION(llvm::ArrayRef<llvm::StringLiteral>(), "<R (with value) group>", R_value_Group, Group, R_Group, INVALID, nullptr, 0, 0, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 78OPTION(llvm::ArrayRef<llvm::StringLiteral>(), "<Static analyzer group>", StaticAnalyzer_Group, Group, INVALID, INVALID, nullptr, 0, 0, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 79OPTION(llvm::ArrayRef<llvm::StringLiteral>(), "<T group>", T_Group, Group, Link_Group, INVALID, nullptr, 0, 0, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 80OPTION(llvm::ArrayRef<llvm::StringLiteral>(), "<W group>", W_Group, Group, Diag_Group, INVALID, nullptr, 0, 0, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 81OPTION(llvm::ArrayRef<llvm::StringLiteral>(), "<W (with value) group>", W_value_Group, Group, W_Group, INVALID, nullptr, 0, 0, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 82OPTION(llvm::ArrayRef<llvm::StringLiteral>(), "</M group>", _SLASH_M_Group, Group, cl_compile_Group, INVALID, nullptr, 0, 0, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 83OPTION(llvm::ArrayRef<llvm::StringLiteral>(), "</volatile group>", _SLASH_volatile_Group, Group, cl_compile_Group, INVALID, nullptr, 0, 0, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 84OPTION(llvm::ArrayRef<llvm::StringLiteral>(), "<clang-cl options>", cl_Group, Group, INVALID, INVALID, nullptr, 0, 0, 0, 85 "CL.EXE COMPATIBILITY OPTIONS", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 86OPTION(llvm::ArrayRef<llvm::StringLiteral>(), "<clang-cl compile-only options>", cl_compile_Group, Group, cl_Group, INVALID, nullptr, 0, 0, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 87OPTION(llvm::ArrayRef<llvm::StringLiteral>(), "<clang-cl ignored options>", cl_ignored_Group, Group, cl_Group, INVALID, nullptr, 0, 0, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 88OPTION(llvm::ArrayRef<llvm::StringLiteral>(), "<clang i group>", clang_i_Group, Group, i_Group, INVALID, nullptr, 0, 0, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 89OPTION(llvm::ArrayRef<llvm::StringLiteral>(), "<clang ignored f group>", clang_ignored_f_Group, Group, f_Group, INVALID, nullptr, 0, 0, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 90OPTION(llvm::ArrayRef<llvm::StringLiteral>(), "<clang_ignored_gcc_optimization_f_Group>", clang_ignored_gcc_optimization_f_Group, Group, f_Group, INVALID, nullptr, 0, 0, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 91OPTION(llvm::ArrayRef<llvm::StringLiteral>(), "<clang legacy flags>", clang_ignored_legacy_options_Group, Group, f_Group, INVALID, nullptr, 0, 0, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 92OPTION(llvm::ArrayRef<llvm::StringLiteral>(), "<clang ignored m group>", clang_ignored_m_Group, Group, m_Group, INVALID, nullptr, 0, 0, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 93OPTION(llvm::ArrayRef<llvm::StringLiteral>(), "<CUDA group>", cuda_Group, Group, f_Group, INVALID, nullptr, 0, 0, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 94OPTION(llvm::ArrayRef<llvm::StringLiteral>(), "<d group>", d_Group, Group, Preprocessor_Group, INVALID, nullptr, 0, 0, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 95OPTION(llvm::ArrayRef<llvm::StringLiteral>(), "clang-dxc options", dxc_Group, Group, INVALID, INVALID, nullptr, 0, 0, 0, 96 "dxc compatibility options.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 97OPTION(llvm::ArrayRef<llvm::StringLiteral>(), "<f group>", f_Group, Group, CompileOnly_Group, INVALID, nullptr, 0, 0, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 98OPTION(llvm::ArrayRef<llvm::StringLiteral>(), "<f (clang-only) group>", f_clang_Group, Group, CompileOnly_Group, INVALID, nullptr, 0, 0, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 99OPTION(llvm::ArrayRef<llvm::StringLiteral>(), "<flang ignored W group>", flang_ignored_w_Group, Group, W_Group, INVALID, nullptr, 0, 0, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 100OPTION(llvm::ArrayRef<llvm::StringLiteral>(), "<gN group>", gN_Group, Group, g_Group, INVALID, nullptr, 0, 0, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 101OPTION(llvm::ArrayRef<llvm::StringLiteral>(), "<gTune group>", gTune_Group, Group, g_Group, INVALID, nullptr, 0, 0, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 102OPTION(llvm::ArrayRef<llvm::StringLiteral>(), "<g group>", g_Group, Group, DebugInfo_Group, INVALID, nullptr, 0, 0, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 103OPTION(llvm::ArrayRef<llvm::StringLiteral>(), "<g flags group>", g_flags_Group, Group, DebugInfo_Group, INVALID, nullptr, 0, 0, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 104OPTION(llvm::ArrayRef<llvm::StringLiteral>(), "<gfortran group>", gfortran_Group, Group, INVALID, INVALID, nullptr, 0, 0, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 105OPTION(llvm::ArrayRef<llvm::StringLiteral>(), "<ggdbN group>", ggdbN_Group, Group, gN_Group, INVALID, nullptr, 0, 0, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 106OPTION(llvm::ArrayRef<llvm::StringLiteral>(), "<HIP group>", hip_Group, Group, f_Group, INVALID, nullptr, 0, 0, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 107OPTION(llvm::ArrayRef<llvm::StringLiteral>(), "<HLSL group>", hlsl_Group, Group, f_Group, INVALID, nullptr, 0, 0, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 108OPTION(llvm::ArrayRef<llvm::StringLiteral>(), "<i group>", i_Group, Group, IncludePath_Group, INVALID, nullptr, 0, 0, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 109OPTION(llvm::ArrayRef<llvm::StringLiteral>(), "<clang internal options>", internal_Group, Group, INVALID, INVALID, nullptr, 0, 0, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 110OPTION(llvm::ArrayRef<llvm::StringLiteral>(), "<clang debug/development internal options>", internal_debug_Group, Group, internal_Group, INVALID, nullptr, 0, 0, 0, 111 "DEBUG/DEVELOPMENT OPTIONS", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 112OPTION(llvm::ArrayRef<llvm::StringLiteral>(), "<clang driver internal options>", internal_driver_Group, Group, internal_Group, INVALID, nullptr, 0, 0, 0, 113 "DRIVER OPTIONS", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 114OPTION(llvm::ArrayRef<llvm::StringLiteral>(), "<m group>", m_Group, Group, CompileOnly_Group, INVALID, nullptr, 0, 0, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 115OPTION(llvm::ArrayRef<llvm::StringLiteral>(), "<aarch64 features group>", m_aarch64_Features_Group, Group, m_Group, INVALID, nullptr, 0, 0, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 116OPTION(llvm::ArrayRef<llvm::StringLiteral>(), "<amdgpu features group>", m_amdgpu_Features_Group, Group, m_Group, INVALID, nullptr, 0, 0, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 117OPTION(llvm::ArrayRef<llvm::StringLiteral>(), "<arm features group>", m_arm_Features_Group, Group, m_Group, INVALID, nullptr, 0, 0, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 118OPTION(llvm::ArrayRef<llvm::StringLiteral>(), "<hexagon features group>", m_hexagon_Features_Group, Group, m_Group, INVALID, nullptr, 0, 0, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 119OPTION(llvm::ArrayRef<llvm::StringLiteral>(), "<hexagon features group>", m_hexagon_Features_HVX_Group, Group, m_Group, INVALID, nullptr, 0, 0, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 120OPTION(llvm::ArrayRef<llvm::StringLiteral>(), "<m libc group>", m_libc_Group, Group, m_mips_Features_Group, INVALID, nullptr, 0, 0, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 121OPTION(llvm::ArrayRef<llvm::StringLiteral>(), "<loongarch features group>", m_loongarch_Features_Group, Group, m_Group, INVALID, nullptr, 0, 0, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 122OPTION(llvm::ArrayRef<llvm::StringLiteral>(), "<m68k features group>", m_m68k_Features_Group, Group, m_Group, INVALID, nullptr, 0, 0, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 123OPTION(llvm::ArrayRef<llvm::StringLiteral>(), "<mips features group>", m_mips_Features_Group, Group, m_Group, INVALID, nullptr, 0, 0, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 124OPTION(llvm::ArrayRef<llvm::StringLiteral>(), "<ppc features group>", m_ppc_Features_Group, Group, m_Group, INVALID, nullptr, 0, 0, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 125OPTION(llvm::ArrayRef<llvm::StringLiteral>(), "<riscv features group>", m_riscv_Features_Group, Group, m_Group, INVALID, nullptr, 0, 0, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 126OPTION(llvm::ArrayRef<llvm::StringLiteral>(), "<sparc features group>", m_sparc_Features_Group, Group, m_Group, INVALID, nullptr, 0, 0, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 127OPTION(llvm::ArrayRef<llvm::StringLiteral>(), "<ve features group>", m_ve_Features_Group, Group, m_Group, INVALID, nullptr, 0, 0, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 128OPTION(llvm::ArrayRef<llvm::StringLiteral>(), "<wasm driver features group>", m_wasm_Features_Driver_Group, Group, m_Group, INVALID, nullptr, 0, 0, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 129OPTION(llvm::ArrayRef<llvm::StringLiteral>(), "<wasm features group>", m_wasm_Features_Group, Group, m_Group, INVALID, nullptr, 0, 0, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 130OPTION(llvm::ArrayRef<llvm::StringLiteral>(), "<x86 AVX10 features group>", m_x86_AVX10_Features_Group, Group, m_Group, INVALID, nullptr, 0, 0, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 131OPTION(llvm::ArrayRef<llvm::StringLiteral>(), "<x86 features group>", m_x86_Features_Group, Group, m_Group, INVALID, nullptr, 0, 0, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 132OPTION(llvm::ArrayRef<llvm::StringLiteral>(), "<offload group>", offload_Group, Group, f_Group, INVALID, nullptr, 0, 0, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 133OPTION(llvm::ArrayRef<llvm::StringLiteral>(), "<opencl group>", opencl_Group, Group, f_Group, INVALID, nullptr, 0, 0, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 134OPTION(llvm::ArrayRef<llvm::StringLiteral>(), "<pedantic group>", pedantic_Group, Group, f_Group, INVALID, nullptr, 0, 0, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 135OPTION(llvm::ArrayRef<llvm::StringLiteral>(), "<reserved libs group>", reserved_lib_Group, Group, INVALID, INVALID, nullptr, 0, 0, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 136OPTION(llvm::ArrayRef<llvm::StringLiteral>(), "<SYCL group>", sycl_Group, Group, f_Group, INVALID, nullptr, 0, 0, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 137OPTION(llvm::ArrayRef<llvm::StringLiteral>(), "<u group>", u_Group, Group, Link_Group, INVALID, nullptr, 0, 0, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 138 139////////// 140// Options 141 142OPTION(prefix_0, "<input>", INPUT, Input, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 143OPTION(prefix_0, "<unknown>", UNKNOWN, Unknown, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 144OPTION(prefix_1, "-###", _HASH_HASH_HASH, Flag, INVALID, INVALID, nullptr, NoXarchOption, DefaultVis | CLOption | DXCOption | FlangOption, 0, 145 "Print (but do not run) the commands to run for this compilation", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 146OPTION(prefix_2, "/?", _SLASH_QUESTION, Flag, cl_Group, help, nullptr, NoXarchOption, CLOption, 0, 147 "Display available options", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 148OPTION(prefix_1, "-A-", A_DASH, Joined, gfortran_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 149OPTION(prefix_1, "-add-plugin", add_plugin, Separate, INVALID, INVALID, nullptr, 0, CC1Option, 0, 150 "Use the named plugin action in addition to the default action", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "<name>", nullptr) 151OPTION(prefix_2, "/AI", _SLASH_AI, JoinedOrSeparate, cl_Group, INVALID, nullptr, NoXarchOption, CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 152OPTION(prefix_1, "-alias_list", alias_list, Separate, INVALID, INVALID, nullptr, LinkerInput, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 153OPTION(prefix_3, "--all-warnings", _all_warnings, Flag, INVALID, Wall, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 154OPTION(prefix_1, "-all_load", all__load, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 155OPTION(prefix_1, "-allowable_client", allowable__client, Separate, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 156OPTION(prefix_3, "--amdgpu-arch-tool=", amdgpu_arch_tool_EQ, Joined, offload_Group, INVALID, nullptr, 0, DefaultVis | DefaultVis | CLOption, 0, 157 "Tool used for detecting AMD GPU arch in the system.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 158OPTION(prefix_1, "-analyze-function=", analyze_function_EQ, Joined, INVALID, analyze_function, nullptr, 0, CC1Option, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 159OPTION(prefix_1, "-analyze-function", analyze_function, Separate, INVALID, INVALID, nullptr, 0, CC1Option, 0, 160 "Run analysis on specific function (for C++ include parameters in name)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 161OPTION(prefix_2, "/analyze-", _SLASH_analyze_, Flag, cl_ignored_Group, INVALID, nullptr, NoXarchOption, CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 162OPTION(prefix_1, "-analyzer-checker-help-alpha", analyzer_checker_help_alpha, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 163 "Display the list of in development analyzer checkers. These are NOT considered safe, they are unstable and will emit incorrect reports. Enable ONLY FOR DEVELOPMENT purposes", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 164OPTION(prefix_1, "-analyzer-checker-help-developer", analyzer_checker_help_developer, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 165 "Display the list of developer-only checkers such as modeling and debug checkers", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 166OPTION(prefix_1, "-analyzer-checker-help", analyzer_checker_help, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 167 "Display the list of analyzer checkers that are available", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 168OPTION(prefix_1, "-analyzer-checker-option-help-alpha", analyzer_checker_option_help_alpha, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 169 "Display the list of in development checker and package options. These are NOT considered safe, they are unstable and will emit incorrect reports. Enable ONLY FOR DEVELOPMENT purposes", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 170OPTION(prefix_1, "-analyzer-checker-option-help-developer", analyzer_checker_option_help_developer, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 171 "Display the list of checker and package options meant for development purposes only", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 172OPTION(prefix_1, "-analyzer-checker-option-help", analyzer_checker_option_help, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 173 "Display the list of checker and package options", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 174OPTION(prefix_1, "-analyzer-checker=", analyzer_checker_EQ, Joined, INVALID, analyzer_checker, nullptr, 0, CC1Option, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 175OPTION(prefix_1, "-analyzer-checker", analyzer_checker, Separate, INVALID, INVALID, nullptr, 0, CC1Option, 0, 176 "Choose analyzer checkers to enable", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, analyzer_checker_Values) 177OPTION(prefix_1, "-analyzer-config-compatibility-mode=", analyzer_config_compatibility_mode_EQ, Joined, INVALID, analyzer_config_compatibility_mode, nullptr, 0, CC1Option, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 178OPTION(prefix_1, "-analyzer-config-compatibility-mode", analyzer_config_compatibility_mode, Separate, INVALID, INVALID, nullptr, 0, CC1Option, 0, 179 "Don't emit errors on invalid analyzer-config inputs", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, "true,false") 180OPTION(prefix_1, "-analyzer-config-help", analyzer_config_help, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 181 "Display the list of -analyzer-config options. These are meant for development purposes only!", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 182OPTION(prefix_1, "-analyzer-config", analyzer_config, Separate, INVALID, INVALID, nullptr, 0, CC1Option, 0, 183 "Choose analyzer options to enable", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 184OPTION(prefix_1, "-analyzer-constraints=", analyzer_constraints_EQ, Joined, INVALID, analyzer_constraints, nullptr, 0, CC1Option, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 185OPTION(prefix_1, "-analyzer-constraints", analyzer_constraints, Separate, INVALID, INVALID, nullptr, 0, CC1Option, 0, 186 "Source Code Analysis - Symbolic Constraint Engines", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 187OPTION(prefix_1, "-analyzer-disable-all-checks", analyzer_disable_all_checks, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 188 "Disable all static analyzer checks", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 189OPTION(prefix_1, "-analyzer-disable-checker=", analyzer_disable_checker_EQ, Joined, INVALID, analyzer_disable_checker, nullptr, 0, CC1Option, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 190OPTION(prefix_1, "-analyzer-disable-checker", analyzer_disable_checker, Separate, INVALID, INVALID, nullptr, 0, CC1Option, 0, 191 "Choose analyzer checkers to disable", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 192OPTION(prefix_1, "-analyzer-disable-retry-exhausted", analyzer_disable_retry_exhausted, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 193 "Do not re-analyze paths leading to exhausted nodes with a different strategy (may decrease code coverage)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 194OPTION(prefix_1, "-analyzer-display-progress", analyzer_display_progress, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 195 "Emit verbose output about the analyzer's progress", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 196OPTION(prefix_1, "-analyzer-dump-egraph=", analyzer_dump_egraph_EQ, Joined, INVALID, analyzer_dump_egraph, nullptr, 0, CC1Option, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 197OPTION(prefix_1, "-analyzer-dump-egraph", analyzer_dump_egraph, Separate, INVALID, INVALID, nullptr, 0, CC1Option, 0, 198 "Dump exploded graph to the specified file", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 199OPTION(prefix_1, "-analyzer-inline-max-stack-depth=", analyzer_inline_max_stack_depth_EQ, Joined, INVALID, analyzer_inline_max_stack_depth, nullptr, 0, CC1Option, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 200OPTION(prefix_1, "-analyzer-inline-max-stack-depth", analyzer_inline_max_stack_depth, Separate, INVALID, INVALID, nullptr, 0, CC1Option, 0, 201 "Bound on stack depth while inlining (4 by default)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 202OPTION(prefix_1, "-analyzer-inlining-mode=", analyzer_inlining_mode_EQ, Joined, INVALID, analyzer_inlining_mode, nullptr, 0, CC1Option, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 203OPTION(prefix_1, "-analyzer-inlining-mode", analyzer_inlining_mode, Separate, INVALID, INVALID, nullptr, 0, CC1Option, 0, 204 "Specify the function selection heuristic used during inlining", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 205OPTION(prefix_1, "-analyzer-list-enabled-checkers", analyzer_list_enabled_checkers, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 206 "Display the list of enabled analyzer checkers", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 207OPTION(prefix_1, "-analyzer-max-loop", analyzer_max_loop, Separate, INVALID, INVALID, nullptr, 0, CC1Option, 0, 208 "The maximum number of times the analyzer will go through a loop", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 209OPTION(prefix_3, "--analyzer-no-default-checks", _analyzer_no_default_checks, Flag, INVALID, INVALID, nullptr, NoXarchOption, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 210OPTION(prefix_1, "-analyzer-note-analysis-entry-points", analyzer_note_analysis_entry_points, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 211 "Add a note for each bug report to denote their analysis entry points", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 212OPTION(prefix_1, "-analyzer-opt-analyze-headers", analyzer_opt_analyze_headers, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 213 "Force the static analyzer to analyze functions defined in header files", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 214OPTION(prefix_1, "-analyzer-output=", analyzer_output_EQ, Joined, INVALID, analyzer_output, nullptr, 0, CC1Option, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 215OPTION(prefix_3, "--analyzer-output", _analyzer_output, JoinedOrSeparate, INVALID, INVALID, nullptr, NoXarchOption, DefaultVis, 0, 216 "Static analyzer report output format (html|plist|plist-multi-file|plist-html|sarif|sarif-html|text).", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 217OPTION(prefix_1, "-analyzer-output", analyzer_output, Separate, INVALID, INVALID, nullptr, 0, CC1Option, 0, 218 "Source Code Analysis - Output Options", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 219OPTION(prefix_1, "-analyzer-purge=", analyzer_purge_EQ, Joined, INVALID, analyzer_purge, nullptr, 0, CC1Option, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 220OPTION(prefix_1, "-analyzer-purge", analyzer_purge, Separate, INVALID, INVALID, nullptr, 0, CC1Option, 0, 221 "Source Code Analysis - Dead Symbol Removal Frequency", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 222OPTION(prefix_1, "-analyzer-stats", analyzer_stats, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 223 "Print internal analyzer statistics.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 224OPTION(prefix_1, "-analyzer-viz-egraph-graphviz", analyzer_viz_egraph_graphviz, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 225 "Display exploded graph using GraphViz", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 226OPTION(prefix_1, "-analyzer-werror", analyzer_werror, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 227 "Emit analyzer results as errors rather than warnings", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 228OPTION(prefix_3, "--analyze", _analyze, Flag, INVALID, INVALID, nullptr, NoXarchOption, DefaultVis | CLOption, 0, 229 "Run the static analyzer", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 230OPTION(prefix_1, "-analyze", analyze, Flag, Action_Group, INVALID, nullptr, 0, CC1Option, 0, 231 "Run static analysis engine", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 232OPTION(prefix_4, "-ansi", ansi, Flag, CompileOnly_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 233OPTION(prefix_2, "/arch:", _SLASH_arch, Joined, cl_compile_Group, INVALID, nullptr, NoXarchOption, CLOption, 0, 234 "Set architecture for code generation", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 235OPTION(prefix_1, "-arch_errors_fatal", arch__errors__fatal, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 236OPTION(prefix_1, "-arch_only", arch__only, Separate, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 237OPTION(prefix_1, "-arch", arch, Separate, INVALID, INVALID, nullptr, NoXarchOption | TargetSpecific, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 238OPTION(prefix_1, "-arcmt-action=", arcmt_action_EQ, Joined, INVALID, INVALID, nullptr, 0, CC1Option, 0, 239 "The ARC migration action to take", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, "check,modify,migrate") 240OPTION(prefix_1, "-arcmt-migrate-emit-errors", arcmt_migrate_emit_arc_errors, Flag, INVALID, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 241 "Emit ARC errors even if the migrator can fix them", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 242OPTION(prefix_1, "-arcmt-migrate-report-output", arcmt_migrate_report_output, Separate, INVALID, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 243 "Output path for the plist report", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 244OPTION(prefix_2, "/arm64EC", _SLASH_arm64EC, Flag, cl_Group, INVALID, nullptr, NoXarchOption, CLOption, 0, 245 "Set build target to arm64ec", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 246OPTION(prefix_1, "-as-secure-log-file", as_secure_log_file, Separate, INVALID, INVALID, nullptr, 0, CC1Option | CC1AsOption, 0, 247 "Emit .secure_log_unique directives to this filename.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 248OPTION(prefix_3, "--assemble", _assemble, Flag, INVALID, S, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 249OPTION(prefix_3, "--assert=", _assert_EQ, Joined, INVALID, A, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 250OPTION(prefix_3, "--assert", _assert, Separate, INVALID, A, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 251OPTION(prefix_1, "-ast-dump-all=", ast_dump_all_EQ, Joined, Action_Group, INVALID, nullptr, 0, CC1Option, 0, 252 "Build ASTs and then debug dump them in the specified format, forcing deserialization. Supported formats include: default, json", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 253OPTION(prefix_1, "-ast-dump-all", ast_dump_all, Flag, Action_Group, INVALID, nullptr, 0, CC1Option, 0, 254 "Build ASTs and then debug dump them, forcing deserialization", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 255OPTION(prefix_1, "-ast-dump-decl-types", ast_dump_decl_types, Flag, Action_Group, INVALID, nullptr, 0, CC1Option, 0, 256 "Include declaration types in AST dumps", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 257OPTION(prefix_1, "-ast-dump-filter=", ast_dump_filter_EQ, Joined, INVALID, ast_dump_filter, nullptr, 0, CC1Option, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 258OPTION(prefix_1, "-ast-dump-filter", ast_dump_filter, Separate, INVALID, INVALID, nullptr, 0, CC1Option, 0, 259 "Use with -ast-dump or -ast-print to dump/print only AST declaration nodes having a certain substring in a qualified name. Use -ast-list to list all filterable declaration node names.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "<dump_filter>", nullptr) 260OPTION(prefix_1, "-ast-dump-lookups", ast_dump_lookups, Flag, Action_Group, INVALID, nullptr, 0, CC1Option, 0, 261 "Build ASTs and then debug dump their name lookup tables", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 262OPTION(prefix_1, "-ast-dump=", ast_dump_EQ, Joined, Action_Group, INVALID, nullptr, 0, CC1Option, 0, 263 "Build ASTs and then debug dump them in the specified format. Supported formats include: default, json", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 264OPTION(prefix_1, "-ast-dump", ast_dump, Flag, Action_Group, INVALID, nullptr, 0, CC1Option, 0, 265 "Build ASTs and then debug dump them", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 266OPTION(prefix_1, "-ast-list", ast_list, Flag, Action_Group, INVALID, nullptr, 0, CC1Option, 0, 267 "Build ASTs and print the list of declaration node qualified names", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 268OPTION(prefix_1, "-ast-merge", ast_merge, Separate, INVALID, INVALID, nullptr, 0, CC1Option, 0, 269 "Merge the given AST file into the translation unit being compiled.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "<ast file>", nullptr) 270OPTION(prefix_1, "-ast-print", ast_print, Flag, Action_Group, INVALID, nullptr, 0, CC1Option, 0, 271 "Build ASTs and then pretty-print them", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 272OPTION(prefix_1, "-ast-view", ast_view, Flag, Action_Group, INVALID, nullptr, 0, CC1Option, 0, 273 "Build ASTs and view them with GraphViz", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 274OPTION(prefix_3, "--autocomplete=", autocomplete, Joined, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 275OPTION(prefix_1, "-aux-target-cpu", aux_target_cpu, Separate, INVALID, INVALID, nullptr, 0, CC1Option, 0, 276 "Target a specific auxiliary cpu type", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 277OPTION(prefix_1, "-aux-target-feature", aux_target_feature, Separate, INVALID, INVALID, nullptr, 0, CC1Option, 0, 278 "Target specific auxiliary attributes", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 279OPTION(prefix_1, "-aux-triple", aux_triple, Separate, INVALID, INVALID, nullptr, 0, CC1Option, 0, 280 "Auxiliary target triple.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 281OPTION(prefix_2, "/await:", _SLASH_await_COLON, Joined, cl_Group, INVALID, nullptr, NoXarchOption, CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 282OPTION(prefix_2, "/await", _SLASH_await, Flag, cl_Group, INVALID, nullptr, NoXarchOption, CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 283OPTION(prefix_1, "-A", A, JoinedOrSeparate, gfortran_Group, INVALID, nullptr, RenderJoined, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 284OPTION(prefix_2, "/bigobj", _SLASH_bigobj, Flag, cl_ignored_Group, INVALID, nullptr, NoXarchOption, CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 285OPTION(prefix_1, "-bind_at_load", bind__at__load, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 286OPTION(prefix_3, "--bootclasspath=", _bootclasspath_EQ, Joined, INVALID, fbootclasspath_EQ, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 287OPTION(prefix_3, "--bootclasspath", _bootclasspath, Separate, INVALID, fbootclasspath_EQ, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 288OPTION(prefix_2, "/Brepro-", _SLASH_Brepro_, Flag, cl_Group, mincremental_linker_compatible, nullptr, NoXarchOption, CLOption, 0, 289 "Write current time into COFF output (default)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 290OPTION(prefix_2, "/Brepro", _SLASH_Brepro, Flag, cl_Group, mno_incremental_linker_compatible, nullptr, NoXarchOption, CLOption, 0, 291 "Do not write current time into COFF output (breaks link.exe /incremental)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 292OPTION(prefix_2, "/Bt+", _SLASH_Bt_plus, Flag, cl_Group, INVALID, nullptr, NoXarchOption, CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 293OPTION(prefix_2, "/Bt", _SLASH_Bt, Flag, cl_Group, INVALID, nullptr, NoXarchOption, CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 294OPTION(prefix_1, "-building-pch-with-obj", building_pch_with_obj, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 295 "This compilation is part of building a PCH with corresponding object file.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 296OPTION(prefix_1, "-bundle_loader", bundle__loader, Separate, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 297OPTION(prefix_1, "-bundle", bundle, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 298OPTION(prefix_1, "-B", B, JoinedOrSeparate, INVALID, INVALID, nullptr, 0, DefaultVis, 0, 299 "Search $prefix$file for executables, libraries, and data files. If $prefix is a directory, search $prefix/$file", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "<prefix>", nullptr) 300OPTION(prefix_1, "-b", b, JoinedOrSeparate, Link_Group, INVALID, nullptr, LinkerInput, DefaultVis, 0, 301 "Pass -b <arg> to the linker on AIX", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "<arg>", nullptr) 302OPTION(prefix_1, "-c-isystem", c_isystem, Separate, INVALID, INVALID, nullptr, 0, CC1Option, 0, 303 "Add directory to the C SYSTEM include search path", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "<directory>", nullptr) 304OPTION(prefix_1, "-canonical-prefixes", canonical_prefixes, Flag, INVALID, INVALID, nullptr, HelpHidden, DefaultVis | CLOption | DXCOption, 0, 305 "Use absolute paths for invoking subcommands (default)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 306OPTION(prefix_1, "-cc1as", cc1as, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 307OPTION(prefix_1, "-cc1", cc1, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 308OPTION(prefix_1, "-ccc-arcmt-check", ccc_arcmt_check, Flag, internal_driver_Group, INVALID, nullptr, NoXarchOption | HelpHidden, DefaultVis, 0, 309 "Check for ARC migration issues that need manual handling", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 310OPTION(prefix_1, "-ccc-arcmt-migrate", ccc_arcmt_migrate, Separate, internal_driver_Group, INVALID, nullptr, NoXarchOption | HelpHidden, DefaultVis, 0, 311 "Apply modifications and produces temporary files that conform to ARC", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 312OPTION(prefix_1, "-ccc-arcmt-modify", ccc_arcmt_modify, Flag, internal_driver_Group, INVALID, nullptr, NoXarchOption | HelpHidden, DefaultVis, 0, 313 "Apply modifications to files to conform to ARC", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 314OPTION(prefix_1, "-ccc-gcc-name", ccc_gcc_name, Separate, internal_driver_Group, INVALID, nullptr, NoXarchOption | HelpHidden, DefaultVis, 0, 315 "Name for native GCC compiler", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "<gcc-path>", nullptr) 316OPTION(prefix_1, "-ccc-install-dir", ccc_install_dir, Separate, internal_debug_Group, INVALID, nullptr, NoXarchOption | HelpHidden, DefaultVis | CLOption | DXCOption, 0, 317 "Simulate installation in the given directory", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 318OPTION(prefix_1, "-ccc-objcmt-migrate", ccc_objcmt_migrate, Separate, internal_driver_Group, INVALID, nullptr, NoXarchOption | HelpHidden, DefaultVis, 0, 319 "Apply modifications and produces temporary files to migrate to modern ObjC syntax", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 320OPTION(prefix_1, "-ccc-print-bindings", ccc_print_bindings, Flag, internal_debug_Group, INVALID, nullptr, NoXarchOption | HelpHidden, DefaultVis | CLOption | DXCOption, 0, 321 "Show bindings of tools to actions", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 322OPTION(prefix_1, "-ccc-print-phases", ccc_print_phases, Flag, INVALID, INVALID, nullptr, NoXarchOption | HelpHidden, DefaultVis | CLOption | DXCOption | FlangOption, 0, 323 "Dump list of actions to perform", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 324OPTION(prefix_1, "-ccc-", ccc_, Joined, internal_Group, INVALID, nullptr, Unsupported | HelpHidden, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 325OPTION(prefix_1, "-CC", CC, Flag, Preprocessor_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 326 "Include comments from within macros in preprocessed output", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 327OPTION(prefix_1, "-cfg-add-implicit-dtors", analysis_CFGAddImplicitDtors, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 328 "Add C++ implicit destructors to CFGs for all analyses", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 329OPTION(prefix_1, "-cfguard-no-checks", cfguard_no_checks, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 330 "Emit Windows Control Flow Guard tables only (no checks)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 331OPTION(prefix_1, "-cfguard", cfguard, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 332 "Emit Windows Control Flow Guard tables and checks", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 333OPTION(prefix_2, "/cgthreads", _SLASH_cgthreads, Joined, cl_ignored_Group, INVALID, nullptr, NoXarchOption | HelpHidden, CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 334OPTION(prefix_1, "-chain-include", chain_include, Separate, INVALID, INVALID, nullptr, 0, CC1Option, 0, 335 "Include and chain a header file after turning it into PCH", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "<file>", nullptr) 336OPTION(prefix_1, "-cl-denorms-are-zero", cl_denorms_are_zero, Flag, opencl_Group, INVALID, nullptr, 0, DefaultVis, 0, 337 "OpenCL only. Allow denormals to be flushed to zero.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 338OPTION(prefix_1, "-cl-ext=", cl_ext_EQ, CommaJoined, opencl_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 339 "OpenCL only. Enable or disable OpenCL extensions/optional features. The argument is a comma-separated sequence of one or more extension names, each prefixed by '+' or '-'.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 340OPTION(prefix_1, "-cl-fast-relaxed-math", cl_fast_relaxed_math, Flag, opencl_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 341 "OpenCL only. Sets -cl-finite-math-only and -cl-unsafe-math-optimizations, and defines __FAST_RELAXED_MATH__.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 342OPTION(prefix_1, "-cl-finite-math-only", cl_finite_math_only, Flag, opencl_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 343 "OpenCL only. Allow floating-point optimizations that assume arguments and results are not NaNs or +-Inf.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 344OPTION(prefix_1, "-cl-fp32-correctly-rounded-divide-sqrt", cl_fp32_correctly_rounded_divide_sqrt, Flag, opencl_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 345 "OpenCL only. Specify that single precision floating-point divide and sqrt used in the program source are correctly rounded.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 346OPTION(prefix_1, "-cl-kernel-arg-info", cl_kernel_arg_info, Flag, opencl_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 347 "OpenCL only. Generate kernel argument metadata.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 348OPTION(prefix_1, "-cl-mad-enable", cl_mad_enable, Flag, opencl_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 349 "OpenCL only. Allow use of less precise MAD computations in the generated binary.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 350OPTION(prefix_1, "-cl-no-signed-zeros", cl_no_signed_zeros, Flag, opencl_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 351 "OpenCL only. Allow use of less precise no signed zeros computations in the generated binary.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 352OPTION(prefix_1, "-cl-no-stdinc", cl_no_stdinc, Flag, opencl_Group, INVALID, nullptr, 0, DefaultVis, 0, 353 "OpenCL only. Disables all standard includes containing non-native compiler types and functions.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 354OPTION(prefix_1, "-cl-opt-disable", cl_opt_disable, Flag, opencl_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 355 "OpenCL only. This option disables all optimizations. By default optimizations are enabled.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 356OPTION(prefix_1, "-cl-single-precision-constant", cl_single_precision_constant, Flag, opencl_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 357 "OpenCL only. Treat double precision floating-point constant as single precision constant.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 358OPTION(prefix_1, "-cl-std=", cl_std_EQ, Joined, opencl_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 359 "OpenCL language standard to compile for.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, "cl,CL,cl1.0,CL1.0,cl1.1,CL1.1,cl1.2,CL1.2,cl2.0,CL2.0,cl3.0,CL3.0,clc++,CLC++,clc++1.0,CLC++1.0,clc++2021,CLC++2021") 360OPTION(prefix_1, "-cl-strict-aliasing", cl_strict_aliasing, Flag, opencl_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 361 "OpenCL only. This option is added for compatibility with OpenCL 1.0.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 362OPTION(prefix_1, "-cl-uniform-work-group-size", cl_uniform_work_group_size, Flag, opencl_Group, foffload_uniform_block, nullptr, 0, DefaultVis | CC1Option, 0, 363 "OpenCL only. Defines that the global work-size be a multiple of the work-group size specified to clEnqueueNDRangeKernel", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 364OPTION(prefix_1, "-cl-unsafe-math-optimizations", cl_unsafe_math_optimizations, Flag, opencl_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 365 "OpenCL only. Allow unsafe floating-point optimizations. Also implies -cl-no-signed-zeros and -cl-mad-enable.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 366OPTION(prefix_2, "/clang:", _SLASH_clang, Joined, cl_Group, INVALID, nullptr, NoXarchOption, CLOption, 0, 367 "Pass <arg> to the clang driver", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "<arg>", nullptr) 368OPTION(prefix_3, "--CLASSPATH=", _CLASSPATH_EQ, Joined, INVALID, fclasspath_EQ, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 369OPTION(prefix_3, "--classpath=", _classpath_EQ, Joined, INVALID, fclasspath_EQ, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 370OPTION(prefix_3, "--CLASSPATH", _CLASSPATH, Separate, INVALID, fclasspath_EQ, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 371OPTION(prefix_3, "--classpath", _classpath, Separate, INVALID, fclasspath_EQ, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 372OPTION(prefix_1, "-clear-ast-before-backend", clear_ast_before_backend, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 373 "Clear the Clang AST before running backend code generation", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 374OPTION(prefix_1, "-client_name", client__name, JoinedOrSeparate, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 375OPTION(prefix_2, "/clr", _SLASH_clr, Joined, cl_Group, INVALID, nullptr, NoXarchOption, CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 376OPTION(prefix_1, "-code-completion-at=", code_completion_at_EQ, Joined, INVALID, code_completion_at, nullptr, 0, CC1Option, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 377OPTION(prefix_1, "-code-completion-at", code_completion_at, Separate, INVALID, INVALID, nullptr, 0, CC1Option, 0, 378 "Dump code-completion information at a location", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "<file>:<line>:<column>", nullptr) 379OPTION(prefix_1, "-code-completion-brief-comments", code_completion_brief_comments, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 380 "Include brief documentation comments in code-completion results.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 381OPTION(prefix_1, "-code-completion-macros", code_completion_macros, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 382 "Include macros in code-completion results", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 383OPTION(prefix_1, "-code-completion-patterns", code_completion_patterns, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 384 "Include code patterns in code-completion results", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 385OPTION(prefix_1, "-code-completion-with-fixits", code_completion_with_fixits, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 386 "Include code completion results which require small fix-its.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 387OPTION(prefix_4, "-combine", combine, Flag, INVALID, INVALID, nullptr, NoXarchOption | Unsupported, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 388OPTION(prefix_3, "--comments-in-macros", _comments_in_macros, Flag, INVALID, CC, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 389OPTION(prefix_3, "--comments", _comments, Flag, INVALID, C, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 390OPTION(prefix_1, "-compatibility_version", compatibility__version, JoinedOrSeparate, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 391OPTION(prefix_1, "-compiler-options-dump", compiler_options_dump, Flag, Action_Group, INVALID, nullptr, 0, CC1Option, 0, 392 "Dump the compiler configuration options", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 393OPTION(prefix_3, "--compile", _compile, Flag, INVALID, c, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 394OPTION(prefix_1, "-complex-range=", complex_range_EQ, Joined, f_Group, INVALID, nullptr, 0, CC1Option, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, "full,improved,promoted,basic") 395OPTION(prefix_4, "-compress-debug-sections=", compress_debug_sections_EQ, Joined, INVALID, INVALID, nullptr, 0, CC1Option | CC1AsOption, 0, 396 "DWARF debug sections compression type", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, "none,zlib,zstd") 397OPTION(prefix_4, "-compress-debug-sections", compress_debug_sections, Flag, INVALID, compress_debug_sections_EQ, "zlib\0", 0, CC1Option | CC1AsOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 398OPTION(prefix_3, "--config-system-dir=", config_system_dir_EQ, Joined, INVALID, INVALID, nullptr, NoXarchOption | HelpHidden, DefaultVis | CLOption | DXCOption | FlangOption, 0, 399 "System directory for configuration files", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 400OPTION(prefix_3, "--config-user-dir=", config_user_dir_EQ, Joined, INVALID, INVALID, nullptr, NoXarchOption | HelpHidden, DefaultVis | CLOption | DXCOption | FlangOption, 0, 401 "User directory for configuration files", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 402OPTION(prefix_3, "--config=", config, Joined, INVALID, INVALID, nullptr, NoXarchOption, DefaultVis | CLOption | DXCOption | FlangOption, 0, 403 "Specify configuration file", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "<file>", nullptr) 404OPTION(prefix_3, "--config", anonymous_93, Separate, INVALID, config, nullptr, 0, DefaultVis | CLOption | DXCOption | FlangOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 405OPTION(prefix_3, "--constant-cfstrings", _constant_cfstrings, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 406OPTION(prefix_2, "/constexpr:", _SLASH_constexpr, Joined, cl_Group, INVALID, nullptr, NoXarchOption, CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 407OPTION(prefix_1, "-coverage-data-file=", anonymous_1888, Joined, INVALID, INVALID, nullptr, 0, CC1Option, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 408OPTION(prefix_1, "-coverage-notes-file=", anonymous_1890, Joined, INVALID, INVALID, nullptr, 0, CC1Option, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 409OPTION(prefix_1, "-coverage-version=", coverage_version_EQ, Joined, INVALID, INVALID, nullptr, 0, CC1Option, 0, 410 "Four-byte version string for gcov files.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 411OPTION(prefix_4, "-coverage", coverage, Flag, Link_Group, INVALID, nullptr, 0, DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 412OPTION(prefix_1, "-cpp-precomp", cpp_precomp, Flag, clang_ignored_f_Group, INVALID, nullptr, Ignored, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 413OPTION(prefix_1, "-cpp", cpp, Flag, f_Group, INVALID, nullptr, 0, FC1Option | FlangOption, 0, 414 "Enable predefined and command line preprocessor macros", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 415OPTION(prefix_3, "--crel", crel, Flag, INVALID, INVALID, nullptr, 0, CC1Option | CC1AsOption, 0, 416 "Enable CREL relocation format (ELF only)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 417OPTION(prefix_3, "--cuda-compile-host-device", cuda_compile_host_device, Flag, cuda_Group, offload_host_device, nullptr, 0, DefaultVis | DefaultVis | CLOption, 0, 418 "Compile CUDA code for both host and device (default). Has no effect on non-CUDA compilations.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 419OPTION(prefix_3, "--cuda-device-only", cuda_device_only, Flag, cuda_Group, offload_device_only, nullptr, 0, DefaultVis | DefaultVis | CLOption, 0, 420 "Compile CUDA code for device only", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 421OPTION(prefix_3, "--cuda-feature=", cuda_feature_EQ, Joined, cuda_Group, INVALID, nullptr, 0, DefaultVis | DefaultVis | CLOption, 0, 422 "Manually specify the CUDA feature to use", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 423OPTION(prefix_3, "--cuda-gpu-arch=", cuda_gpu_arch_EQ, Joined, cuda_Group, offload_arch_EQ, nullptr, NoXarchOption, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 424OPTION(prefix_3, "--cuda-host-only", cuda_host_only, Flag, cuda_Group, offload_host_only, nullptr, 0, DefaultVis | DefaultVis | CLOption, 0, 425 "Compile CUDA code for host only. Has no effect on non-CUDA compilations.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 426OPTION(prefix_3, "--cuda-include-ptx=", cuda_include_ptx_EQ, Joined, cuda_Group, INVALID, nullptr, NoXarchOption, DefaultVis | DefaultVis | CLOption, 0, 427 "Include PTX for the following GPU architecture (e.g. sm_35) or 'all'. May be specified more than once.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 428OPTION(prefix_3, "--cuda-noopt-device-debug", cuda_noopt_device_debug, Flag, cuda_Group, INVALID, nullptr, 0, DefaultVis | DefaultVis | CLOption, 0, 429 "Enable device-side debug info generation. Disables ptxas optimizations.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 430OPTION(prefix_3, "--cuda-path-ignore-env", cuda_path_ignore_env, Flag, cuda_Group, INVALID, nullptr, 0, DefaultVis | DefaultVis | CLOption, 0, 431 "Ignore environment variables to detect CUDA installation", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 432OPTION(prefix_3, "--cuda-path=", cuda_path_EQ, Joined, cuda_Group, INVALID, nullptr, 0, DefaultVis | DefaultVis | CLOption, 0, 433 "CUDA installation path", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 434OPTION(prefix_1, "-cuid=", cuid_EQ, Joined, offload_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis | CLOption, 0, 435 "An ID for compilation unit, which should be the same for the same compilation unit but different for different compilation units. It is used to externalize device-side static variables for single source offloading languages CUDA and HIP so that they can be accessed by the host code of the same compilation unit.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 436OPTION(prefix_1, "-current_version", current__version, JoinedOrSeparate, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 437OPTION(prefix_1, "-cxx-isystem", cxx_isystem, JoinedOrSeparate, clang_i_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 438 "Add directory to the C++ SYSTEM include search path", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "<directory>", nullptr) 439OPTION(prefix_1, "-C", C, Flag, Preprocessor_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 440 "Include comments in preprocessed output", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 441OPTION(prefix_2, "/C", _SLASH_C, Flag, cl_Group, C, nullptr, NoXarchOption, CLOption, 0, 442 "Do not discard comments when preprocessing", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 443OPTION(prefix_1, "-c", c, Flag, Action_Group, INVALID, nullptr, NoXarchOption, DefaultVis | FlangOption, 0, 444 "Only run preprocess, compile, and assemble steps", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 445OPTION(prefix_2, "/c", _SLASH_c, Flag, cl_Group, c, nullptr, NoXarchOption, CLOption, 0, 446 "Compile only", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 447OPTION(prefix_2, "/d1PP", _SLASH_d1PP, Flag, cl_Group, dD, nullptr, NoXarchOption, CLOption, 0, 448 "Retain macro definitions in /E mode", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 449OPTION(prefix_2, "/d1reportAllClassLayout", _SLASH_d1reportAllClassLayout, Flag, cl_Group, Xclang, "-fdump-record-layouts\0", NoXarchOption, CLOption, 0, 450 "Dump record layout information", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 451OPTION(prefix_2, "/d1", _SLASH_d1, Joined, cl_Group, INVALID, nullptr, NoXarchOption, CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 452OPTION(prefix_2, "/d2FastFail", _SLASH_d2FastFail, Flag, cl_ignored_Group, INVALID, nullptr, NoXarchOption, CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 453OPTION(prefix_2, "/d2Zi+", _SLASH_d2Zi_PLUS, Flag, cl_ignored_Group, INVALID, nullptr, NoXarchOption, CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 454OPTION(prefix_2, "/d2", _SLASH_d2, Joined, cl_Group, INVALID, nullptr, NoXarchOption, CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 455OPTION(prefix_1, "-darwin-target-variant-sdk-version=", darwin_target_variant_sdk_version_EQ, Joined, INVALID, INVALID, nullptr, 0, CC1Option | CC1AsOption, 0, 456 "The version of darwin target variant SDK used for compilation", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 457OPTION(prefix_1, "-darwin-target-variant-triple", darwin_target_variant_triple, Separate, INVALID, INVALID, nullptr, 0, DefaultVis | CC1Option | CC1AsOption, 0, 458 "Specify the darwin target variant triple", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 459OPTION(prefix_1, "-darwin-target-variant", darwin_target_variant, Separate, INVALID, INVALID, nullptr, NoXarchOption, DefaultVis | CLOption, 0, 460 "Generate code for an additional runtime variant of the deployment target", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 461OPTION(prefix_1, "-dA", dA, Flag, INVALID, fverbose_asm, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 462OPTION(prefix_1, "-dD", dD, Flag, d_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 463 "Print macro definitions in -E mode in addition to normal output", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 464OPTION(prefix_1, "-dead_strip", dead__strip, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 465OPTION(prefix_1, "-debug-forward-template-params", debug_forward_template_params, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 466 "Emit complete descriptions of template parameters in forward declarations", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 467OPTION(prefix_1, "-debug-info-kind=", debug_info_kind_EQ, Joined, INVALID, INVALID, nullptr, 0, CC1Option | CC1AsOption | FC1Option, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 468OPTION(prefix_1, "-debug-info-macro", debug_info_macro, Flag, INVALID, INVALID, nullptr, 0, CC1Option | CC1AsOption, 0, 469 "Emit macro debug information", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 470OPTION(prefix_3, "--debug=", _debug_EQ, Joined, INVALID, g_Flag, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 471OPTION(prefix_1, "-debugger-tuning=", debugger_tuning_EQ, Joined, INVALID, INVALID, nullptr, 0, CC1Option | CC1AsOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, "gdb,lldb,sce,dbx") 472OPTION(prefix_3, "--debug", _debug, Flag, INVALID, g_Flag, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 473OPTION(prefix_1, "-default-function-attr", default_function_attr, Separate, INVALID, INVALID, nullptr, 0, CC1Option | CC1AsOption, 0, 474 "Apply given attribute to all functions", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 475OPTION(prefix_3, "--define-macro=", _define_macro_EQ, Joined, INVALID, D, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 476OPTION(prefix_3, "--define-macro", _define_macro, Separate, INVALID, D, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 477OPTION(prefix_3, "--defsym", defsym, Separate, INVALID, INVALID, nullptr, 0, CC1AsOption, 0, 478 "Define a value for a symbol", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 479OPTION(prefix_3, "--dependencies", _dependencies, Flag, INVALID, M, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 480OPTION(prefix_1, "-dependency-dot", dependency_dot, Separate, INVALID, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 481 "Filename to write DOT-formatted header dependencies to", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 482OPTION(prefix_1, "-dependency-file", dependency_file, Separate, INVALID, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 483 "Filename (or -) to write dependency output to", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 484OPTION(prefix_3, "--dependent-lib=", dependent_lib, Joined, INVALID, INVALID, nullptr, 0, CC1Option | FC1Option, 0, 485 "Add dependent library", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 486OPTION(prefix_1, "-detailed-preprocessing-record", detailed_preprocessing_record, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 487 "include a detailed record of preprocessing actions", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 488OPTION(prefix_1, "-dE", dE, Flag, d_Group, INVALID, nullptr, 0, CC1Option, 0, 489 "Print embed directives in -E mode in addition to normal output", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 490OPTION(prefix_1, "-diagnostic-log-file", diagnostic_log_file, Separate, INVALID, INVALID, nullptr, 0, CC1Option, 0, 491 "Filename (or -) to log diagnostics to", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 492OPTION(prefix_2, "/diagnostics:caret", _SLASH_diagnostics_caret, Flag, cl_Group, INVALID, nullptr, NoXarchOption, CLOption, 0, 493 "Enable caret and column diagnostics (default)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 494OPTION(prefix_2, "/diagnostics:classic", _SLASH_diagnostics_classic, Flag, cl_Group, INVALID, nullptr, NoXarchOption, CLOption, 0, 495 "Disable column and caret diagnostics", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 496OPTION(prefix_2, "/diagnostics:column", _SLASH_diagnostics_column, Flag, cl_Group, INVALID, nullptr, NoXarchOption, CLOption, 0, 497 "Disable caret diagnostics but keep column info", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 498OPTION(prefix_2, "/diasdkdir", _SLASH_diasdkdir, JoinedOrSeparate, cl_Group, INVALID, nullptr, NoXarchOption, CLOption, 0, 499 "Path to the DIA SDK", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "<dir>", nullptr) 500OPTION(prefix_1, "-disable-free", disable_free, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 501 "Disable freeing of memory on exit", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 502OPTION(prefix_1, "-disable-lifetime-markers", disable_lifetimemarkers, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 503 "Disable lifetime-markers emission even when optimizations are enabled", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 504OPTION(prefix_1, "-disable-llvm-optzns", disable_llvm_optzns, Flag, INVALID, disable_llvm_passes, nullptr, 0, CC1Option, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 505OPTION(prefix_1, "-disable-llvm-passes", disable_llvm_passes, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 506 "Use together with -emit-llvm to get pristine LLVM IR from the frontend by not running any LLVM passes at all", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 507OPTION(prefix_1, "-disable-llvm-verifier", disable_llvm_verifier, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 508 "Don't run the LLVM IR verifier pass", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 509OPTION(prefix_1, "-disable-O0-optnone", disable_O0_optnone, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 510 "Disable adding the optnone attribute to functions at O0", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 511OPTION(prefix_1, "-disable-objc-default-synthesize-properties", disable_objc_default_synthesize_properties, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 512 "disable the default synthesis of Objective-C properties", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 513OPTION(prefix_1, "-disable-pragma-debug-crash", disable_pragma_debug_crash, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 514 "Disable any #pragma clang __debug that can lead to crashing behavior. This is meant for testing.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 515OPTION(prefix_1, "-disable-red-zone", disable_red_zone, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 516 "Do not emit code that uses the red zone.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 517OPTION(prefix_1, "-discard-value-names", discard_value_names, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 518 "Discard value names in LLVM IR", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 519OPTION(prefix_1, "-dI", dI, Flag, d_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 520 "Print include directives in -E mode in addition to normal output", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 521OPTION(prefix_1, "-dM", dM, Flag, d_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | FlangOption | FC1Option, 0, 522 "Print macro definitions in -E mode instead of normal output", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 523OPTION(prefix_2, "/doc", _SLASH_doc, Joined, cl_Group, INVALID, nullptr, NoXarchOption, CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 524OPTION(prefix_3, "--driver-mode=", driver_mode, Joined, internal_driver_Group, INVALID, nullptr, NoXarchOption | HelpHidden, DefaultVis | FlangOption | CLOption | DXCOption, 0, 525 "Set the driver mode to either 'gcc', 'g++', 'cpp', 'cl' or 'flang'", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 526OPTION(prefix_1, "-dsym-dir", dsym_dir, JoinedOrSeparate, INVALID, INVALID, nullptr, NoXarchOption | RenderAsInput, DefaultVis, 0, 527 "Directory to output dSYM's (if any) to", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "<dir>", nullptr) 528OPTION(prefix_1, "-dump-coverage-mapping", dump_coverage_mapping, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 529 "Dump the coverage mapping records, for testing", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 530OPTION(prefix_1, "-dump-deserialized-decls", dump_deserialized_pch_decls, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 531 "Dump declarations that are deserialized from PCH, for testing", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 532OPTION(prefix_1, "-dump-raw-tokens", dump_raw_tokens, Flag, Action_Group, INVALID, nullptr, 0, CC1Option, 0, 533 "Lex file in raw mode and dump raw tokens", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 534OPTION(prefix_1, "-dump-tokens", dump_tokens, Flag, Action_Group, INVALID, nullptr, 0, CC1Option, 0, 535 "Run preprocessor, dump internal rep of tokens", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 536OPTION(prefix_1, "-dumpdir", dumpdir, Separate, INVALID, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 537 "Use <dumpfpx> as a prefix to form auxiliary and dump file names", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "<dumppfx>", nullptr) 538OPTION(prefix_1, "-dumpmachine", dumpmachine, Flag, INVALID, INVALID, nullptr, 0, DefaultVis | FlangOption, 0, 539 "Display the compiler's target processor", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 540OPTION(prefix_1, "-dumpspecs", dumpspecs, Flag, INVALID, INVALID, nullptr, Unsupported, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 541OPTION(prefix_1, "-dumpversion", dumpversion, Flag, INVALID, INVALID, nullptr, 0, DefaultVis | FlangOption, 0, 542 "Display the version of the compiler", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 543OPTION(prefix_1, "-dwarf-debug-flags", dwarf_debug_flags, Separate, INVALID, INVALID, nullptr, 0, CC1Option | CC1AsOption, 0, 544 "The string to embed in the Dwarf debug flags record.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 545OPTION(prefix_1, "-dwarf-debug-producer", dwarf_debug_producer, Separate, INVALID, INVALID, nullptr, 0, CC1AsOption, 0, 546 "The string to embed in the Dwarf debug AT_producer record.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 547OPTION(prefix_1, "-dwarf-explicit-import", dwarf_explicit_import, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 548 "Generate explicit import from anonymous namespace to containing scope", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 549OPTION(prefix_1, "-dwarf-ext-refs", dwarf_ext_refs, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 550 "Generate debug info with external references to clang modules or precompiled headers", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 551OPTION(prefix_1, "-dwarf-version=", dwarf_version_EQ, Joined, INVALID, INVALID, nullptr, 0, CC1Option | CC1AsOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 552OPTION(prefix_3, "--dxv-path=", dxc_validator_path_EQ, Joined, dxc_Group, INVALID, nullptr, 0, DefaultVis | DXCOption, 0, 553 "DXIL validator installation path", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 554OPTION(prefix_3, "--dyld-prefix=", _dyld_prefix_EQ, Joined, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 555OPTION(prefix_3, "--dyld-prefix", _dyld_prefix, Separate, INVALID, _dyld_prefix_EQ, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 556OPTION(prefix_1, "-dylib_file", dylib__file, Separate, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 557OPTION(prefix_1, "-dylinker_install_name", dylinker__install__name, JoinedOrSeparate, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 558OPTION(prefix_1, "-dylinker", dylinker, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 559OPTION(prefix_1, "-dynamiclib", dynamiclib, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 560OPTION(prefix_1, "-dynamic", dynamic, Flag, INVALID, INVALID, nullptr, NoArgumentUnused, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 561OPTION(prefix_1, "-D", D, JoinedOrSeparate, Preprocessor_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | FlangOption | FC1Option | DXCOption, 0, 562 "Define <macro> to <value> (or 1 if <value> omitted)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "<macro>=<value>", nullptr) 563OPTION(prefix_2, "/D", _SLASH_D, JoinedOrSeparate, cl_Group, D, nullptr, NoXarchOption, CLOption | DXCOption, 0, 564 "Define macro", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "<macro[=value]>", nullptr) 565OPTION(prefix_1, "-d", d_Flag, Flag, d_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 566OPTION(prefix_1, "-d", d_Joined, Joined, d_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 567OPTION(prefix_1, "-EB", EB, Flag, INVALID, mbig_endian, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 568OPTION(prefix_1, "-ehcontguard", ehcontguard, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 569 "Emit Windows EH Continuation Guard tables", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 570OPTION(prefix_2, "/EH", _SLASH_EH, Joined, cl_Group, INVALID, nullptr, NoXarchOption, CLOption, 0, 571 "Set exception handling model", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 572OPTION(prefix_1, "-EL", EL, Flag, INVALID, mlittle_endian, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 573OPTION(prefix_3, "--embed-dir=", embed_dir_EQ, Joined, Preprocessor_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 574 "Add directory to embed search path", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "<dir>", nullptr) 575OPTION(prefix_1, "-emit-ast", emit_ast, Flag, INVALID, INVALID, nullptr, 0, DefaultVis | CLOption | DXCOption, 0, 576 "Emit Clang AST files for source inputs", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 577OPTION(prefix_1, "-emit-cir", emit_cir, Flag, Action_Group, INVALID, nullptr, 0, CC1Option, 0, 578 "Build ASTs and then lower to ClangIR", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 579OPTION(prefix_1, "-emit-codegen-only", emit_codegen_only, Flag, Action_Group, INVALID, nullptr, 0, CC1Option, 0, 580 "Generate machine code, but discard output", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 581OPTION(prefix_3, "--emit-extension-symbol-graphs", emit_extension_symbol_graphs, Flag, INVALID, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 582 "Generate additional symbol graphs for extended modules.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 583OPTION(prefix_1, "-emit-fir", emit_fir, Flag, Action_Group, INVALID, nullptr, 0, FC1Option, 0, 584 "Build the parse tree, then lower it to FIR", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 585OPTION(prefix_1, "-emit-header-unit", emit_header_unit, Flag, Action_Group, INVALID, nullptr, 0, CC1Option, 0, 586 "Generate C++20 header units from header files", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 587OPTION(prefix_1, "-emit-hlfir", emit_hlfir, Flag, Action_Group, INVALID, nullptr, 0, FC1Option, 0, 588 "Build the parse tree, then lower it to HLFIR", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 589OPTION(prefix_1, "-emit-html", emit_html, Flag, Action_Group, INVALID, nullptr, 0, CC1Option, 0, 590 "Output input source as HTML", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 591OPTION(prefix_1, "-emit-interface-stubs", emit_interface_stubs, Flag, Action_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 592 "Generate Interface Stub Files.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 593OPTION(prefix_1, "-emit-llvm-bc", emit_llvm_bc, Flag, Action_Group, INVALID, nullptr, 0, CC1Option | FC1Option, 0, 594 "Build ASTs then convert to LLVM, emit .bc file", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 595OPTION(prefix_1, "-emit-llvm-only", emit_llvm_only, Flag, Action_Group, INVALID, nullptr, 0, CC1Option, 0, 596 "Build ASTs and convert to LLVM, discarding output", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 597OPTION(prefix_1, "-emit-llvm-uselists", emit_llvm_uselists, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 598 "Preserve order of LLVM use-lists when serializing", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 599OPTION(prefix_1, "-emit-llvm", emit_llvm, Flag, Action_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | FC1Option | FlangOption, 0, 600 "Use the LLVM representation for assembler and object files", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 601OPTION(prefix_1, "-emit-merged-ifs", emit_merged_ifs, Flag, Action_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 602 "Generate Interface Stub Files, emit merged text not binary.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 603OPTION(prefix_1, "-emit-mlir", emit_mlir, Flag, INVALID, emit_fir, nullptr, 0, FC1Option, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 604OPTION(prefix_1, "-emit-module-interface", emit_module_interface, Flag, Action_Group, INVALID, nullptr, 0, CC1Option, 0, 605 "Generate pre-compiled module file from a standard C++ module interface unit", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 606OPTION(prefix_1, "-emit-module", emit_module, Flag, Action_Group, INVALID, nullptr, 0, CC1Option, 0, 607 "Generate pre-compiled module file from a module map", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 608OPTION(prefix_1, "-emit-obj", emit_obj, Flag, Action_Group, INVALID, nullptr, 0, CC1Option | FC1Option, 0, 609 "Emit native object files", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 610OPTION(prefix_1, "-emit-pch", emit_pch, Flag, Action_Group, INVALID, nullptr, 0, CC1Option, 0, 611 "Generate pre-compiled header file", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 612OPTION(prefix_2, "/emit-pristine-llvm", emit_pristine_llvm, Flag, dxc_Group, INVALID, nullptr, 0, DXCOption | DXCOption, 0, 613 "Emit pristine LLVM IR from the frontend by not running any LLVM passes at all.Same as -S + -emit-llvm + -disable-llvm-passes.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 614OPTION(prefix_1, "-emit-reduced-module-interface", emit_reduced_module_interface, Flag, Action_Group, INVALID, nullptr, 0, CC1Option, 0, 615 "Generate reduced prebuilt module interface from a standard C++ module interface unit", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 616OPTION(prefix_3, "--emit-sgf-symbol-labels-for-testing", emit_sgf_symbol_labels_for_testing, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 617OPTION(prefix_3, "--emit-static-lib", emit_static_lib, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0, 618 "Enable linker job to emit a static library.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 619OPTION(prefix_1, "-emit-symbol-graph", emit_symbol_graph, Flag, INVALID, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 620 "Generate Extract API information as a side effect of compilation.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 621OPTION(prefix_2, "/enable-16bit-types", enable_16bit_types, Flag, dxc_Group, fnative_half_type, nullptr, 0, DXCOption | DXCOption, 0, 622 "Enable 16-bit types and disable min precision types.Available in HLSL 2018 and shader model 6.2.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 623OPTION(prefix_1, "-enable-noundef-analysis", enable_noundef_analysis, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 624 "Enable analyzing function argument and return types for mandatory definedness", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 625OPTION(prefix_1, "-enable-tlsdesc", enable_tlsdesc, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 626OPTION(prefix_3, "--encoding=", _encoding_EQ, Joined, INVALID, fencoding_EQ, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 627OPTION(prefix_3, "--encoding", _encoding, Separate, INVALID, fencoding_EQ, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 628OPTION(prefix_3, "--end-no-unused-arguments", end_no_unused_arguments, Flag, INVALID, INVALID, nullptr, 0, DefaultVis | CLOption | DXCOption, 0, 629 "Start emitting warnings for unused driver arguments", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 630OPTION(prefix_3, "--entry", _entry, Flag, INVALID, e, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 631OPTION(prefix_1, "-Eonly", Eonly, Flag, Action_Group, INVALID, nullptr, 0, CC1Option, 0, 632 "Just run preprocessor, no output (for timings)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 633OPTION(prefix_2, "/EP", _SLASH_EP, Flag, cl_Group, INVALID, nullptr, NoXarchOption, CLOption, 0, 634 "Disable linemarker output and preprocess to stdout", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 635OPTION(prefix_1, "-error-on-deserialized-decl=", error_on_deserialized_pch_decl_EQ, Joined, INVALID, error_on_deserialized_pch_decl, nullptr, 0, CC1Option, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 636OPTION(prefix_1, "-error-on-deserialized-decl", error_on_deserialized_pch_decl, Separate, INVALID, INVALID, nullptr, 0, CC1Option, 0, 637 "Emit error if a specific declaration is deserialized from PCH, for testing", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 638OPTION(prefix_2, "/errorReport", _SLASH_errorReport, Joined, cl_ignored_Group, INVALID, nullptr, NoXarchOption | HelpHidden, CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 639OPTION(prefix_1, "-exception-model=", exception_model_EQ, Joined, INVALID, exception_model, nullptr, 0, CC1Option, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 640OPTION(prefix_1, "-exception-model", exception_model, Separate, INVALID, INVALID, nullptr, 0, CC1Option, 0, 641 "The exception model", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, "dwarf,sjlj,seh,wasm") 642OPTION(prefix_2, "/execution-charset:", _SLASH_execution_charset, Joined, cl_compile_Group, fexec_charset_EQ, nullptr, NoXarchOption, CLOption, 0, 643 "Set runtime encoding, supports only UTF-8", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 644OPTION(prefix_2, "/experimental:", _SLASH_experimental, Joined, cl_Group, INVALID, nullptr, NoXarchOption, CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 645OPTION(prefix_1, "-exported_symbols_list", exported__symbols__list, Separate, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 646OPTION(prefix_2, "/exportHeader", _SLASH_exportHeader, Flag, cl_Group, INVALID, nullptr, NoXarchOption, CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 647OPTION(prefix_3, "--extdirs=", _extdirs_EQ, Joined, INVALID, fextdirs_EQ, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 648OPTION(prefix_3, "--extdirs", _extdirs, Separate, INVALID, fextdirs_EQ, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 649OPTION(prefix_2, "/external:env:", _SLASH_external_env, Joined, cl_Group, INVALID, nullptr, NoXarchOption, CLOption, 0, 650 "Add dirs in env var <var> to include search path with warnings suppressed", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "<var>", nullptr) 651OPTION(prefix_2, "/external:I", _SLASH_external_COLON_I, JoinedOrSeparate, cl_Group, isystem, nullptr, NoXarchOption, CLOption, 0, 652 "Add directory to include search path with warnings suppressed", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "<dir>", nullptr) 653OPTION(prefix_2, "/external:W0", _SLASH_external_W0, Flag, cl_Group, Wno_system_headers, nullptr, NoXarchOption, CLOption, 0, 654 "Ignore warnings from system headers (default)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 655OPTION(prefix_2, "/external:W1", _SLASH_external_W1, Flag, cl_Group, Wsystem_headers, nullptr, NoXarchOption, CLOption, 0, 656 "Enable -Wsystem-headers", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 657OPTION(prefix_2, "/external:W2", _SLASH_external_W2, Flag, cl_Group, Wsystem_headers, nullptr, NoXarchOption, CLOption, 0, 658 "Enable -Wsystem-headers", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 659OPTION(prefix_2, "/external:W3", _SLASH_external_W3, Flag, cl_Group, Wsystem_headers, nullptr, NoXarchOption, CLOption, 0, 660 "Enable -Wsystem-headers", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 661OPTION(prefix_2, "/external:W4", _SLASH_external_W4, Flag, cl_Group, Wsystem_headers, nullptr, NoXarchOption, CLOption, 0, 662 "Enable -Wsystem-headers", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 663OPTION(prefix_2, "/external:", _SLASH_external, Joined, cl_Group, INVALID, nullptr, NoXarchOption, CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 664OPTION(prefix_3, "--extra-warnings", _extra_warnings, Flag, INVALID, W_Joined, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 665OPTION(prefix_3, "--extract-api-ignores=", extract_api_ignores_EQ, CommaJoined, INVALID, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 666 "Comma separated list of files containing a new line separated list of API symbols to ignore when extracting API information.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 667OPTION(prefix_1, "-extract-api", extract_api, Flag, Action_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 668 "Extract API information", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 669OPTION(prefix_5, "--E", dxc_entrypoint, JoinedOrSeparate, dxc_Group, INVALID, nullptr, 0, DXCOption | DXCOption, 0, 670 "Entry point name", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 671OPTION(prefix_1, "-E", E, Flag, Action_Group, INVALID, nullptr, NoXarchOption, DefaultVis | CC1Option | FlangOption | FC1Option, 0, 672 "Only run the preprocessor", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 673OPTION(prefix_2, "/E", _SLASH_E, Flag, cl_Group, E, nullptr, NoXarchOption, CLOption, 0, 674 "Preprocess to stdout", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 675OPTION(prefix_1, "-e", e, Separate, Link_Group, INVALID, nullptr, LinkerInput, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 676OPTION(prefix_1, "-faapcs-bitfield-load", ForceAAPCSBitfieldLoad, Flag, m_arm_Features_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 677 "Follows the AAPCS standard that all volatile bit-field write generates at least one load. (ARM only).", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 678OPTION(prefix_1, "-faapcs-bitfield-width", faapcs_bitfield_width, Flag, m_arm_Features_Group, INVALID, nullptr, 0, DefaultVis | DefaultVis | CC1Option, 0, 679 "Follow the AAPCS standard requirement stating that volatile bit-field width is dictated by the field container type. (ARM only).", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 680OPTION(prefix_1, "-faccess-control", faccess_control, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, 681 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 682OPTION(prefix_1, "-faddress-space-map-mangling=", faddress_space_map_mangling_EQ, Joined, INVALID, INVALID, nullptr, 0, CC1Option, 0, 683 "Set the mode for address space map based mangling; OpenCL testing purposes only", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, "target,no,yes") 684OPTION(prefix_1, "-faddrsig", faddrsig, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis | CLOption, 0, 685 "Emit an address-significance table", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 686OPTION(prefix_1, "-faggressive-function-elimination", faggressive_function_elimination, Flag, gfortran_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 687OPTION(prefix_1, "-falign-commons", falign_commons, Flag, gfortran_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 688OPTION(prefix_1, "-falign-functions=", falign_functions_EQ, Joined, f_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 689OPTION(prefix_1, "-falign-functions", falign_functions, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 690OPTION(prefix_1, "-falign-jumps=", falign_jumps_EQ, Joined, clang_ignored_gcc_optimization_f_Group, INVALID, nullptr, Ignored, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 691OPTION(prefix_1, "-falign-jumps", falign_jumps, Flag, clang_ignored_gcc_optimization_f_Group, INVALID, nullptr, Ignored, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 692OPTION(prefix_1, "-falign-labels=", falign_labels_EQ, Joined, clang_ignored_gcc_optimization_f_Group, INVALID, nullptr, Ignored, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 693OPTION(prefix_1, "-falign-labels", falign_labels, Flag, clang_ignored_gcc_optimization_f_Group, INVALID, nullptr, Ignored, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 694OPTION(prefix_1, "-falign-loops=", falign_loops_EQ, Joined, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 695 "N must be a power of two. Align loops to the boundary", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "<N>", nullptr) 696OPTION(prefix_1, "-falign-loops", falign_loops, Flag, clang_ignored_gcc_optimization_f_Group, INVALID, nullptr, Ignored, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 697OPTION(prefix_1, "-faligned-alloc-unavailable", aligned_alloc_unavailable, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 698 "Aligned allocation/deallocation functions are unavailable", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 699OPTION(prefix_1, "-faligned-allocation", faligned_allocation, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | DefaultVis | CC1Option, 0, 700 "Enable C++17 aligned allocation functions", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 701OPTION(prefix_1, "-faligned-new=", faligned_new_EQ, Joined, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 702OPTION(prefix_1, "-faligned-new", anonymous_1155, Flag, INVALID, faligned_allocation, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 703OPTION(prefix_1, "-fall-intrinsics", fall_intrinsics, Flag, gfortran_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 704OPTION(prefix_1, "-fallow-editor-placeholders", fallow_editor_placeholders, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis, 0, 705 "Treat editor placeholders as valid source code", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 706OPTION(prefix_1, "-fallow-pch-with-compiler-errors", fallow_pch_with_errors, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 707 "Accept a PCH file that was created with compiler errors", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 708OPTION(prefix_1, "-fallow-pch-with-different-modules-cache-path", fallow_pch_with_different_modules_cache_path, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 709 "Accept a PCH file that was created with a different modules cache path", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 710OPTION(prefix_1, "-fallow-pcm-with-compiler-errors", fallow_pcm_with_errors, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 711 "Accept a PCM file that was created with compiler errors", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 712OPTION(prefix_1, "-fallow-unsupported", fallow_unsupported, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 713OPTION(prefix_1, "-falternative-parameter-statement", falternative_parameter_statement, Flag, f_Group, INVALID, nullptr, 0, FC1Option | FlangOption, 0, 714 "Enable the old style PARAMETER statement", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 715OPTION(prefix_1, "-faltivec-src-compat=", altivec_src_compat, Joined, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 716 "Source-level compatibility for Altivec vectors (for PowerPC targets). This includes results of vector comparison (scalar for 'xl', vector for 'gcc') as well as behavior when initializing with a scalar (splatting for 'xl', element zero only for 'gcc'). For 'mixed', the compatibility is as 'gcc' for 'vector bool/vector pixel' and as 'xl' for other types. Current default is 'mixed'.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, "mixed,gcc,xl") 717OPTION(prefix_1, "-faltivec", faltivec, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 718OPTION(prefix_1, "-fanalyzed-objects-for-unparse", fanalyzed_objects_for_unparse, Flag, f_Group, INVALID, nullptr, 0, FC1Option, 0, 719 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 720OPTION(prefix_1, "-fandroid-pad-segment", fandroid_pad_segment, Flag, f_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 721OPTION(prefix_1, "-fansi-escape-codes", fansi_escape_codes, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CLOption | DXCOption | CC1Option, 0, 722 "Use ANSI escape codes for diagnostics", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 723OPTION(prefix_1, "-fapinotes-modules", fapinotes_modules, Flag, f_clang_Group, INVALID, nullptr, 0, DefaultVis | DefaultVis | CC1Option, 0, 724 "Enable module-based external API notes support", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 725OPTION(prefix_1, "-fapinotes-swift-version=", fapinotes_swift_version, Joined, f_clang_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 726 "Specify the Swift version to use when filtering API notes", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "<version>", nullptr) 727OPTION(prefix_1, "-fapinotes", fapinotes, Flag, f_clang_Group, INVALID, nullptr, 0, DefaultVis | DefaultVis | CC1Option, 0, 728 "Enable external API notes support", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 729OPTION(prefix_1, "-fapple-kext", fapple_kext, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 730 "Use Apple's kernel extensions ABI", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 731OPTION(prefix_1, "-fapple-link-rtlib", fapple_link_rtlib, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, 732 "Force linking the clang builtins runtime library", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 733OPTION(prefix_1, "-fapple-pragma-pack", fapple_pragma_pack, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis, 0, 734 "Enable Apple gcc-compatible #pragma pack handling", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 735OPTION(prefix_1, "-fapplication-extension", fapplication_extension, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis, 0, 736 "Restrict code to those available for App Extensions", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 737OPTION(prefix_1, "-fapply-global-visibility-to-externs", fapply_global_visibility_to_externs, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 738 "Apply global symbol visibility to external declarations without an explicit visibility", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 739OPTION(prefix_1, "-fapprox-func", fapprox_func, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | FC1Option | FlangOption | DefaultVis, 0, 740 "Allow certain math function calls to be replaced with an approximately equivalent calculation", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 741OPTION(prefix_1, "-fasm-blocks", fasm_blocks, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis, 0, 742 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 743OPTION(prefix_1, "-fasm", fasm, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 744OPTION(prefix_1, "-fassociative-math", fassociative_math, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | FlangOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 745OPTION(prefix_1, "-fassume-nothrow-exception-dtor", fassume_nothrow_exception_dtor, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis, 0, 746 "Assume that exception objects' destructors are non-throwing", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 747OPTION(prefix_1, "-fassume-sane-operator-new", fassume_sane_operator_new, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 748OPTION(prefix_1, "-fassume-unique-vtables", fassume_unique_vtables, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CLOption, 0, 749 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 750OPTION(prefix_1, "-fassumptions", fassumptions, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, 751 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 752OPTION(prefix_1, "-fastcp", fastcp, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 753OPTION(prefix_1, "-fastf", fastf, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 754OPTION(prefix_1, "-fast", fast, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 755OPTION(prefix_1, "-fasync-exceptions", fasync_exceptions, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis, 0, 756 "Enable EH Asynchronous exceptions", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 757OPTION(prefix_1, "-fasynchronous-unwind-tables", fasynchronous_unwind_tables, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 758OPTION(prefix_1, "-fauto-import", fauto_import, Flag, f_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, 759 "MinGW specific. Enable code generation support for automatic dllimport, and enable support for it in the linker. Enabled by default.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 760OPTION(prefix_1, "-fauto-profile-accurate", fauto_profile_accurate, Flag, f_Group, fprofile_sample_accurate, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 761OPTION(prefix_1, "-fauto-profile=", fauto_profile_EQ, Joined, INVALID, fprofile_sample_use_EQ, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 762OPTION(prefix_1, "-fauto-profile", fauto_profile, Flag, f_Group, fprofile_sample_use, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 763OPTION(prefix_1, "-fautolink", fautolink, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, 764 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 765OPTION(prefix_1, "-fautomatic", fautomatic, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 766OPTION(prefix_2, "/favor", _SLASH_favor, Joined, cl_Group, INVALID, nullptr, NoXarchOption, CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 767OPTION(prefix_2, "/FA", _SLASH_FA, Joined, cl_Group, INVALID, nullptr, NoXarchOption, CLOption, 0, 768 "Output assembly code file during compilation", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 769OPTION(prefix_2, "/Fa", _SLASH_Fa, Joined, cl_Group, INVALID, nullptr, NoXarchOption, CLOption, 0, 770 "Set assembly output file name (with /FA)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "<file or dir/>", nullptr) 771OPTION(prefix_1, "-fbackslash", fbackslash, Flag, f_Group, INVALID, nullptr, 0, FC1Option | FlangOption, 0, 772 "Specify that backslash in string introduces an escape character", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 773OPTION(prefix_1, "-fbacktrace", fbacktrace, Flag, gfortran_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 774OPTION(prefix_1, "-fbasic-block-address-map", fbasic_block_address_map, Flag, f_Group, INVALID, nullptr, 0, CC1Option | DefaultVis, 0, 775 "Emit the basic block address map section.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 776OPTION(prefix_1, "-fbasic-block-sections=", fbasic_block_sections_EQ, Joined, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | CC1AsOption, 0, 777 "Place each function's basic blocks in unique sections (ELF Only)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, "all,labels,none,list=") 778OPTION(prefix_1, "-fbfloat16-excess-precision=", fbfloat16_excess_precision_EQ, Joined, f_Group, INVALID, nullptr, 0, CC1Option, 0, 779 "Allows control over excess precision on targets where native support for BFloat16 precision types is not available. By default, excess precision is used to calculate intermediate results following the rules specified in ISO C99.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, "standard,fast,none") 780OPTION(prefix_1, "-fbinutils-version=", fbinutils_version_EQ, Joined, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 781 "Produced object files can use all ELF features supported by this binutils version and newer. If -fno-integrated-as is specified, the generated assembly will consider GNU as support. 'none' means that all ELF features can be used, regardless of binutils support. Defaults to 2.26.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "<major.minor>", nullptr) 782OPTION(prefix_1, "-fblas-matmul-limit=", fblas_matmul_limit_EQ, Joined, gfortran_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 783OPTION(prefix_1, "-fblocks-runtime-optional", fblocks_runtime_optional, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 784 "Weakly link in the blocks runtime", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 785OPTION(prefix_1, "-fblocks", fblocks, Flag, f_Group, INVALID, nullptr, 0, CC1Option | DefaultVis | CLOption, 0, 786 "Enable the 'blocks' language feature", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 787OPTION(prefix_1, "-fbootclasspath=", fbootclasspath_EQ, Joined, f_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 788OPTION(prefix_1, "-fborland-extensions", fborland_extensions, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis, 0, 789 "Accept non-standard constructs supported by the Borland compiler", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 790OPTION(prefix_1, "-fbounds-check", fbounds_check, Flag, gfortran_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 791OPTION(prefix_1, "-fbracket-depth=", fbracket_depth_EQ, Joined, f_Group, INVALID, nullptr, 0, DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 792OPTION(prefix_1, "-fbracket-depth", fbracket_depth, Separate, INVALID, INVALID, nullptr, 0, CC1Option, 0, 793 "Maximum nesting level for parentheses, brackets, and braces", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 794OPTION(prefix_1, "-fbranch-count-reg", fbranch_count_reg, Flag, clang_ignored_gcc_optimization_f_Group, INVALID, nullptr, Ignored, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 795OPTION(prefix_1, "-fbuild-session-file=", fbuild_session_file, Joined, i_Group, INVALID, nullptr, 0, DefaultVis, 0, 796 "Use the last modification time of <file> as the build session timestamp", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "<file>", nullptr) 797OPTION(prefix_1, "-fbuild-session-timestamp=", fbuild_session_timestamp, Joined, i_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 798 "Time when the current build session started", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "<time since Epoch in seconds>", nullptr) 799OPTION(prefix_1, "-fbuiltin-headers-in-system-modules", fbuiltin_headers_in_system_modules, Flag, f_Group, INVALID, nullptr, 0, CC1Option, 0, 800 "builtin headers belong to system modules, and _Builtin_ modules are ignored for cstdlib headers", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 801OPTION(prefix_1, "-fbuiltin-module-map", fbuiltin_module_map, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, 802 "Load the clang builtins module map file.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 803OPTION(prefix_1, "-fbuiltin", fbuiltin, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CLOption | DXCOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 804OPTION(prefix_1, "-fc++-abi=", fcxx_abi_EQ, Joined, f_clang_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 805 "C++ ABI to use. This will override the target C++ ABI.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 806OPTION(prefix_1, "-fc++-static-destructors", fcxx_static_destructors, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, 807 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 808OPTION(prefix_1, "-fcall-saved-x10", fcall_saved_x10, Flag, m_aarch64_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, 809 "Make the x10 register call-saved (AArch64 only)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 810OPTION(prefix_1, "-fcall-saved-x11", fcall_saved_x11, Flag, m_aarch64_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, 811 "Make the x11 register call-saved (AArch64 only)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 812OPTION(prefix_1, "-fcall-saved-x12", fcall_saved_x12, Flag, m_aarch64_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, 813 "Make the x12 register call-saved (AArch64 only)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 814OPTION(prefix_1, "-fcall-saved-x13", fcall_saved_x13, Flag, m_aarch64_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, 815 "Make the x13 register call-saved (AArch64 only)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 816OPTION(prefix_1, "-fcall-saved-x14", fcall_saved_x14, Flag, m_aarch64_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, 817 "Make the x14 register call-saved (AArch64 only)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 818OPTION(prefix_1, "-fcall-saved-x15", fcall_saved_x15, Flag, m_aarch64_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, 819 "Make the x15 register call-saved (AArch64 only)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 820OPTION(prefix_1, "-fcall-saved-x18", fcall_saved_x18, Flag, m_aarch64_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, 821 "Make the x18 register call-saved (AArch64 only)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 822OPTION(prefix_1, "-fcall-saved-x8", fcall_saved_x8, Flag, m_aarch64_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, 823 "Make the x8 register call-saved (AArch64 only)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 824OPTION(prefix_1, "-fcall-saved-x9", fcall_saved_x9, Flag, m_aarch64_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, 825 "Make the x9 register call-saved (AArch64 only)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 826OPTION(prefix_1, "-fcaller-saves", fcaller_saves, Flag, clang_ignored_gcc_optimization_f_Group, INVALID, nullptr, Ignored, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 827OPTION(prefix_1, "-fcaret-diagnostics-max-lines=", fcaret_diagnostics_max_lines_EQ, Joined, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | CLOption | DXCOption, 0, 828 "Set the maximum number of source lines to show in a caret diagnostic (0 = no limit).", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 829OPTION(prefix_1, "-fcaret-diagnostics", fcaret_diagnostics, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, 830 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 831OPTION(prefix_1, "-fcf-protection=", fcf_protection_EQ, Joined, f_Group, INVALID, nullptr, 0, DefaultVis | CLOption | CC1Option, 0, 832 "Instrument control-flow architecture protection", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, "return,branch,full,none") 833OPTION(prefix_1, "-fcf-protection", fcf_protection, Flag, f_Group, fcf_protection_EQ, "full\0", 0, DefaultVis | CLOption | CC1Option, 0, 834 "Enable cf-protection in 'full' mode", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 835OPTION(prefix_1, "-fcf-runtime-abi=", fcf_runtime_abi_EQ, Joined, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, "unspecified,standalone,objc,swift,swift-5.0,swift-4.2,swift-4.1") 836OPTION(prefix_2, "/fcgl", fcgl, Flag, dxc_Group, emit_pristine_llvm, nullptr, 0, DXCOption | DXCOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 837OPTION(prefix_1, "-fchar8_t", fchar8__t, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | DefaultVis | CC1Option, 0, 838 "Enable C++ builtin type char8_t", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 839OPTION(prefix_1, "-fcheck-array-temporaries", fcheck_array_temporaries, Flag, gfortran_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 840OPTION(prefix_1, "-fcheck-new", fcheck_new, Flag, INVALID, INVALID, nullptr, 0, DefaultVis | DefaultVis | CC1Option, 0, 841 "Do not assume C++ operator new may not return NULL", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 842OPTION(prefix_1, "-fcheck=", fcheck_EQ, Joined, gfortran_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 843OPTION(prefix_1, "-fclang-abi-compat=", fclang_abi_compat_EQ, Joined, f_clang_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 844 "Attempt to match the ABI of Clang <version>", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "<version>", "<major>.<minor>,latest") 845OPTION(prefix_1, "-fclangir", fclangir, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis | CC1Option, 0, 846 "Use the ClangIR pipeline to compile", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 847OPTION(prefix_1, "-fclasspath=", fclasspath_EQ, Joined, f_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 848OPTION(prefix_1, "-fcoarray=", fcoarray_EQ, Joined, gfortran_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 849OPTION(prefix_1, "-fcolor-diagnostics", fcolor_diagnostics, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CLOption | DXCOption | CC1Option | FlangOption | FC1Option, 0, 850 "Enable colors in diagnostics", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 851OPTION(prefix_1, "-fcomment-block-commands=", fcomment_block_commands, CommaJoined, f_clang_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 852 "Treat each comma separated argument in <arg> as a documentation comment block command", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "<arg>", nullptr) 853OPTION(prefix_1, "-fcommon", fcommon, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CLOption | CC1Option, 0, 854 "Place uninitialized global variables in a common block", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 855OPTION(prefix_1, "-fcompatibility-qualified-id-block-type-checking", fcompatibility_qualified_id_block_param_type_checking, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 856 "Allow using blocks with parameters of more specific type than the type system guarantees when a parameter is qualified id", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 857OPTION(prefix_1, "-fcompile-resource=", fcompile_resource_EQ, Joined, f_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 858OPTION(prefix_1, "-fcomplete-member-pointers", fcomplete_member_pointers, Flag, f_clang_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis | CLOption, 0, 859 "Require member pointer base types to be complete if they would be significant under the Microsoft ABI", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 860OPTION(prefix_1, "-fcomplex-arithmetic=", fcomplex_arithmetic_EQ, Joined, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, "full,improved,promoted,basic") 861OPTION(prefix_1, "-fconst-strings", fconst_strings, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 862 "Use a const qualified type for string literals in C and ObjC", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 863OPTION(prefix_1, "-fconstant-cfstrings", fconstant_cfstrings, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, 864 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 865OPTION(prefix_1, "-fconstant-string-class=", fconstant_string_class_EQ, Joined, f_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 866OPTION(prefix_1, "-fconstant-string-class", fconstant_string_class, Separate, INVALID, INVALID, nullptr, 0, CC1Option, 0, 867 "Specify the class to use for constant Objective-C string objects.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "<class name>", nullptr) 868OPTION(prefix_1, "-fconstexpr-backtrace-limit=", fconstexpr_backtrace_limit_EQ, Joined, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 869 "Set the maximum number of entries to print in a constexpr evaluation backtrace (0 = no limit)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 870OPTION(prefix_1, "-fconstexpr-depth=", fconstexpr_depth_EQ, Joined, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 871 "Set the maximum depth of recursive constexpr function calls", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 872OPTION(prefix_1, "-fconstexpr-steps=", fconstexpr_steps_EQ, Joined, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 873 "Set the maximum number of steps in constexpr function evaluation", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 874OPTION(prefix_1, "-fconvergent-functions", fconvergent_functions, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis, 0, 875 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 876OPTION(prefix_1, "-fconvert=", fconvert_EQ, Joined, f_Group, INVALID, nullptr, 0, FC1Option | FlangOption, 0, 877 "Set endian conversion of data for unformatted files", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 878OPTION(prefix_1, "-fcoro-aligned-allocation", fcoro_aligned_allocation, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis, 0, 879 "Prefer aligned allocation for C++ Coroutines", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 880OPTION(prefix_1, "-fcoroutines", fcoroutines, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis, 0, 881 "Enable support for the C++ Coroutines", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 882OPTION(prefix_1, "-fcoverage-compilation-dir=", fcoverage_compilation_dir_EQ, Joined, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | CC1AsOption | CLOption, 0, 883 "The compilation directory to embed in the coverage mapping.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 884OPTION(prefix_1, "-fcoverage-mapping", fcoverage_mapping, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis | CLOption, 0, 885 "Generate coverage mapping to enable code coverage analysis", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 886OPTION(prefix_1, "-fcoverage-mcdc", fmcdc_coverage, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis | CLOption, 0, 887 "Enable MC/DC criteria when generating code coverage", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 888OPTION(prefix_1, "-fcoverage-prefix-map=", fcoverage_prefix_map_EQ, Joined, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 889 "remap file source paths <old> to <new> in coverage mapping. If there are multiple options, prefix replacement is applied in reverse order starting from the last one", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "<old>=<new>", nullptr) 890OPTION(prefix_1, "-fcrash-diagnostics-dir=", fcrash_diagnostics_dir, Joined, f_clang_Group, INVALID, nullptr, NoArgumentUnused, DefaultVis | CLOption | DXCOption, 0, 891 "Put crash-report files in <dir>", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "<dir>", nullptr) 892OPTION(prefix_1, "-fcrash-diagnostics=", fcrash_diagnostics_EQ, Joined, f_clang_Group, INVALID, nullptr, NoArgumentUnused, DefaultVis | CLOption | DXCOption, 0, 893 "Set level of crash diagnostic reporting, (option: off, compiler, all)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 894OPTION(prefix_1, "-fcrash-diagnostics", fcrash_diagnostics, Flag, f_clang_Group, fcrash_diagnostics_EQ, "compiler\0", NoArgumentUnused, DefaultVis | CLOption | DXCOption, 0, 895 "Enable crash diagnostic reporting (default)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 896OPTION(prefix_1, "-fcray-pointer", fcray_pointer, Flag, gfortran_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 897OPTION(prefix_1, "-fcreate-profile", fcreate_profile, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 898OPTION(prefix_1, "-fcs-profile-generate=", fcs_profile_generate_EQ, Joined, f_Group, INVALID, nullptr, 0, DefaultVis | CLOption, 0, 899 "Generate instrumented code to collect context sensitive execution counts into <directory>/default.profraw (overridden by LLVM_PROFILE_FILE env var)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "<directory>", nullptr) 900OPTION(prefix_1, "-fcs-profile-generate", fcs_profile_generate, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CLOption, 0, 901 "Generate instrumented code to collect context sensitive execution counts into default.profraw (overridden by LLVM_PROFILE_FILE env var)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 902OPTION(prefix_1, "-fctor-dtor-return-this", fctor_dtor_return_this, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 903 "Change the C++ ABI to returning `this` pointer from constructors and non-deleting destructors. (No effect on Microsoft ABI)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 904OPTION(prefix_1, "-fcuda-allow-variadic-functions", fcuda_allow_variadic_functions, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 905 "Allow variadic functions in CUDA device code.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 906OPTION(prefix_1, "-fcuda-approx-transcendentals", anonymous_2170, Flag, INVALID, fgpu_approx_transcendentals, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 907OPTION(prefix_1, "-fcuda-flush-denormals-to-zero", fcuda_flush_denormals_to_zero, Flag, cuda_Group, fgpu_flush_denormals_to_zero, nullptr, 0, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 908OPTION(prefix_1, "-fcuda-include-gpubinary", fcuda_include_gpubinary, Separate, INVALID, INVALID, nullptr, 0, CC1Option, 0, 909 "Incorporate CUDA device-side binary into host object file.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 910OPTION(prefix_1, "-fcuda-is-device", fcuda_is_device, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 911 "Generate code for CUDA device", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 912OPTION(prefix_1, "-fcuda-rdc", anonymous_151, Flag, cuda_Group, fgpu_rdc, nullptr, 0, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 913OPTION(prefix_1, "-fcuda-short-ptr", fcuda_short_ptr, Flag, cuda_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis | DefaultVis | CLOption, 0, 914 "Use 32-bit pointers for accessing const/local/shared address spaces", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 915OPTION(prefix_1, "-fcx-fortran-rules", fcx_fortran_rules, Flag, INVALID, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis, 0, 916 "Range reduction is enabled for complex arithmetic operations.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 917OPTION(prefix_1, "-fcx-limited-range", fcx_limited_range, Flag, INVALID, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis, 0, 918 "Basic algebraic expansions of complex arithmetic operations involving are enabled.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 919OPTION(prefix_1, "-fcxx-exceptions", fcxx_exceptions, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis, 0, 920 "Enable C++ exceptions", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 921OPTION(prefix_1, "-fcxx-modules", fcxx_modules, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, 922 "Enable modules for C++", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 923OPTION(prefix_2, "/FC", _SLASH_FC, Flag, cl_ignored_Group, INVALID, nullptr, NoXarchOption, CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 924OPTION(prefix_2, "/Fc", dxc_Fc, JoinedOrSeparate, dxc_Group, INVALID, nullptr, 0, DXCOption | DXCOption, 0, 925 "Output assembly listing file", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 926OPTION(prefix_1, "-fd-lines-as-code", fd_lines_as_code, Flag, gfortran_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 927OPTION(prefix_1, "-fd-lines-as-comments", fd_lines_as_comments, Flag, gfortran_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 928OPTION(prefix_1, "-fdata-sections", fdata_sections, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis, 0, 929 "Place each data in its own section", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 930OPTION(prefix_1, "-fdebug-compilation-dir=", fdebug_compilation_dir_EQ, Joined, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | CC1AsOption | CLOption | DXCOption, 0, 931 "The compilation directory to embed in the debug info", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 932OPTION(prefix_1, "-fdebug-compilation-dir", fdebug_compilation_dir, Separate, f_Group, fdebug_compilation_dir_EQ, nullptr, 0, DefaultVis | CC1Option | CC1AsOption | CLOption | DXCOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 933OPTION(prefix_1, "-fdebug-default-version=", fdebug_default_version, Joined, f_Group, INVALID, nullptr, 0, DefaultVis, 0, 934 "Default DWARF version to use, if a -g option caused DWARF debug info to be produced", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 935OPTION(prefix_1, "-fdebug-dump-all", fdebug_dump_all, Flag, Action_Group, INVALID, nullptr, 0, FC1Option, 0, 936 "Dump symbols and the parse tree after the semantic checks", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 937OPTION(prefix_1, "-fdebug-dump-parse-tree-no-sema", fdebug_dump_parse_tree_no_sema, Flag, Action_Group, INVALID, nullptr, 0, FC1Option, 0, 938 "Dump the parse tree (skips the semantic checks)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 939OPTION(prefix_1, "-fdebug-dump-parse-tree", fdebug_dump_parse_tree, Flag, Action_Group, INVALID, nullptr, 0, FC1Option, 0, 940 "Dump the parse tree", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 941OPTION(prefix_1, "-fdebug-dump-parsing-log", fdebug_dump_parsing_log, Flag, Action_Group, INVALID, nullptr, 0, FC1Option, 0, 942 "Run instrumented parse and dump the parsing log", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 943OPTION(prefix_1, "-fdebug-dump-pft", fdebug_dump_pft, Flag, Action_Group, INVALID, nullptr, 0, FC1Option, 0, 944 "Dump the pre-fir parse tree", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 945OPTION(prefix_1, "-fdebug-dump-provenance", fdebug_dump_provenance, Flag, Action_Group, INVALID, nullptr, 0, FC1Option, 0, 946 "Dump provenance", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 947OPTION(prefix_1, "-fdebug-dump-symbols", fdebug_dump_symbols, Flag, Action_Group, INVALID, nullptr, 0, FC1Option, 0, 948 "Dump symbols after the semantic analysis", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 949OPTION(prefix_1, "-fdebug-info-for-profiling", fdebug_info_for_profiling, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis, 0, 950 "Emit extra debug info to make sample profile more accurate", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 951OPTION(prefix_1, "-fdebug-macro", fdebug_macro, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CLOption | DXCOption, 0, 952 "Emit macro debug information", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 953OPTION(prefix_1, "-fdebug-measure-parse-tree", fdebug_measure_parse_tree, Flag, Action_Group, INVALID, nullptr, 0, FC1Option, 0, 954 "Measure the parse tree", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 955OPTION(prefix_1, "-fdebug-module-writer", fdebug_module_writer, Flag, INVALID, INVALID, nullptr, 0, FC1Option, 0, 956 "Enable debug messages while writing module files", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 957OPTION(prefix_1, "-fdebug-pass-arguments", fdebug_pass_arguments, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 958OPTION(prefix_1, "-fdebug-pass-manager", fdebug_pass_manager, Flag, INVALID, INVALID, nullptr, 0, CC1Option | FC1Option, 0, 959 "Prints debug information for the new pass manager", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 960OPTION(prefix_1, "-fdebug-pass-structure", fdebug_pass_structure, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 961OPTION(prefix_1, "-fdebug-pre-fir-tree", fdebug_pre_fir_tree, Flag, Action_Group, INVALID, nullptr, 0, FC1Option, 0, 962 "Dump the pre-FIR tree", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 963OPTION(prefix_1, "-fdebug-prefix-map=", fdebug_prefix_map_EQ, Joined, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | CC1AsOption, 0, 964 "For paths in debug info, remap directory <old> to <new>. If multiple options match a path, the last option wins", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "<old>=<new>", nullptr) 965OPTION(prefix_1, "-fdebug-ranges-base-address", fdebug_ranges_base_address, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis, 0, 966 "Use DWARF base address selection entries in .debug_ranges", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 967OPTION(prefix_1, "-fdebug-types-section", fdebug_types_section, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, 968 "Place debug types in their own section (ELF Only)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 969OPTION(prefix_1, "-fdebug-unparse-no-sema", fdebug_unparse_no_sema, Flag, Action_Group, INVALID, nullptr, 0, FC1Option, 0, 970 "Unparse and stop (skips the semantic checks)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 971OPTION(prefix_1, "-fdebug-unparse-with-modules", fdebug_unparse_with_modules, Flag, Action_Group, INVALID, nullptr, 0, FC1Option, 0, 972 "Unparse with dependent modules and stop.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 973OPTION(prefix_1, "-fdebug-unparse-with-symbols", fdebug_unparse_with_symbols, Flag, Action_Group, INVALID, nullptr, 0, FC1Option, 0, 974 "Unparse with symbols and stop.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 975OPTION(prefix_1, "-fdebug-unparse", fdebug_unparse, Flag, Action_Group, INVALID, nullptr, 0, FC1Option, 0, 976 "Unparse and stop.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 977OPTION(prefix_1, "-fdebugger-cast-result-to-id", fdebugger_cast_result_to_id, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 978 "Enable casting unknown expression results to id", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 979OPTION(prefix_1, "-fdebugger-objc-literal", fdebugger_objc_literal, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 980 "Enable special debugger support for Objective-C subscripting and literals", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 981OPTION(prefix_1, "-fdebugger-support", fdebugger_support, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 982 "Enable special debugger support behavior", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 983OPTION(prefix_1, "-fdeclare-opencl-builtins", fdeclare_opencl_builtins, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 984 "Add OpenCL builtin function declarations (experimental)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 985OPTION(prefix_1, "-fdeclspec", fdeclspec, Flag, f_clang_Group, INVALID, nullptr, 0, DefaultVis | DefaultVis | CC1Option, 0, 986 "Allow __declspec as a keyword", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 987OPTION(prefix_1, "-fdefault-calling-conv=", fdefault_calling_conv_EQ, Joined, INVALID, INVALID, nullptr, 0, CC1Option, 0, 988 "Set default calling convention", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, "cdecl,fastcall,stdcall,vectorcall,regcall,rtdcall") 989OPTION(prefix_1, "-fdefault-double-8", fdefault_double_8, Flag, f_Group, INVALID, nullptr, 0, FC1Option | FlangOption, 0, 990 "Set the default double precision kind to an 8 byte wide type", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 991OPTION(prefix_1, "-fdefault-inline", fdefault_inline, Flag, clang_ignored_gcc_optimization_f_Group, INVALID, nullptr, Ignored, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 992OPTION(prefix_1, "-fdefault-integer-8", fdefault_integer_8, Flag, f_Group, INVALID, nullptr, 0, FC1Option | FlangOption, 0, 993 "Set the default integer and logical kind to an 8 byte wide type", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 994OPTION(prefix_1, "-fdefault-real-8", fdefault_real_8, Flag, f_Group, INVALID, nullptr, 0, FC1Option | FlangOption, 0, 995 "Set the default real kind to an 8 byte wide type", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 996OPTION(prefix_1, "-fdefer-pop", anonymous_543, Flag, clang_ignored_gcc_optimization_f_Group, INVALID, nullptr, Ignored, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 997OPTION(prefix_1, "-fdefine-target-os-macros", fdefine_target_os_macros, Flag, f_Group, INVALID, nullptr, 0, CC1Option | DefaultVis | CC1Option, 0, 998 "Enable predefined target OS macros", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 999OPTION(prefix_1, "-fdelayed-template-parsing", fdelayed_template_parsing, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis | CLOption, 0, 1000 "Parse templated function definitions at the end of the translation unit", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1001OPTION(prefix_1, "-fdelete-null-pointer-checks", fdelete_null_pointer_checks, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | DefaultVis | CLOption, 0, 1002 "Treat usage of null pointers as undefined behavior (default)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1003OPTION(prefix_1, "-fdenormal-fp-math-f32=", fdenormal_fp_math_f32_EQ, Joined, f_Group, INVALID, nullptr, 0, CC1Option, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1004OPTION(prefix_1, "-fdenormal-fp-math=", fdenormal_fp_math_EQ, Joined, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1005OPTION(prefix_1, "-fdepfile-entry=", fdepfile_entry, Joined, f_clang_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1006OPTION(prefix_1, "-fdeprecated-macro", fdeprecated_macro, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 1007 "Defines the __DEPRECATED macro", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1008OPTION(prefix_1, "-fdevirtualize-speculatively", fdevirtualize_speculatively, Flag, clang_ignored_gcc_optimization_f_Group, INVALID, nullptr, Ignored, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1009OPTION(prefix_1, "-fdevirtualize", fdevirtualize, Flag, clang_ignored_gcc_optimization_f_Group, INVALID, nullptr, Ignored, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1010OPTION(prefix_1, "-fdiagnostics-absolute-paths", fdiagnostics_absolute_paths, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | CLOption | DXCOption, 0, 1011 "Print absolute paths in diagnostics", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1012OPTION(prefix_1, "-fdiagnostics-color=", fdiagnostics_color_EQ, Joined, f_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1013OPTION(prefix_1, "-fdiagnostics-color", anonymous_407, Flag, f_Group, fcolor_diagnostics, nullptr, 0, DefaultVis | CLOption | DXCOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1014OPTION(prefix_1, "-fdiagnostics-fixit-info", fdiagnostics_fixit_info, Flag, f_clang_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1015OPTION(prefix_1, "-fdiagnostics-format=", fdiagnostics_format_EQ, Joined, f_clang_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1016OPTION(prefix_1, "-fdiagnostics-format", fdiagnostics_format, Separate, INVALID, INVALID, nullptr, 0, CC1Option, 0, 1017 "Change diagnostic formatting to match IDE and command line tools", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, "clang,msvc,vi,sarif,SARIF") 1018OPTION(prefix_1, "-fdiagnostics-hotness-threshold=", fdiagnostics_hotness_threshold_EQ, Joined, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 1019 "Prevent optimization remarks from being output if they do not have at least this profile count. Use 'auto' to apply the threshold from profile summary", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "<value>", nullptr) 1020OPTION(prefix_1, "-fdiagnostics-misexpect-tolerance=", fdiagnostics_misexpect_tolerance_EQ, Joined, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 1021 "Prevent misexpect diagnostics from being output if the profile counts are within N% of the expected. ", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "<value>", nullptr) 1022OPTION(prefix_1, "-fdiagnostics-parseable-fixits", fdiagnostics_parseable_fixits, Flag, f_clang_Group, INVALID, nullptr, 0, DefaultVis | CLOption | DXCOption | CC1Option, 0, 1023 "Print fix-its in machine parseable form", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1024OPTION(prefix_1, "-fdiagnostics-print-source-range-info", fdiagnostics_print_source_range_info, Flag, f_clang_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 1025 "Print source range spans in numeric form", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1026OPTION(prefix_1, "-fdiagnostics-show-category=", fdiagnostics_show_category_EQ, Joined, f_clang_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1027OPTION(prefix_1, "-fdiagnostics-show-category", fdiagnostics_show_category, Separate, INVALID, INVALID, nullptr, 0, CC1Option, 0, 1028 "Print diagnostic category", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, "none,id,name") 1029OPTION(prefix_1, "-fdiagnostics-show-hotness", fdiagnostics_show_hotness, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis, 0, 1030 "Enable profile hotness information in diagnostic line", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1031OPTION(prefix_1, "-fdiagnostics-show-line-numbers", fdiagnostics_show_line_numbers, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, 1032 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1033OPTION(prefix_1, "-fdiagnostics-show-location=", fdiagnostics_show_location_EQ, Joined, clang_ignored_f_Group, INVALID, nullptr, Ignored, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1034OPTION(prefix_1, "-fdiagnostics-show-note-include-stack", fdiagnostics_show_note_include_stack, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | DefaultVis | CC1Option, 0, 1035 "Display include stacks for diagnostic notes", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1036OPTION(prefix_1, "-fdiagnostics-show-option", fdiagnostics_show_option, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | DefaultVis, 0, 1037 "Print option name with mappable diagnostics", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1038OPTION(prefix_1, "-fdiagnostics-show-template-tree", fdiagnostics_show_template_tree, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 1039 "Print a template comparison tree for differing templates", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1040OPTION(prefix_1, "-fdigraphs", fdigraphs, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | DefaultVis | CC1Option, 0, 1041 "Enable alternative token representations '<:', ':>', '<%', '%>', '%:', '%:%:' (default)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1042OPTION(prefix_1, "-fdirect-access-external-data", fdirect_access_external_data, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 1043 "Don't use GOT indirection to reference external data symbols", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1044OPTION(prefix_1, "-fdirectives-only", fdirectives_only, Flag, f_Group, INVALID, nullptr, 0, CC1Option | DefaultVis, 0, 1045 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1046OPTION(prefix_1, "-fdisable-block-signature-string", fdisable_block_signature_string, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 1047 "Disable block signature string)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1048OPTION(prefix_1, "-fdisable-module-hash", fdisable_module_hash, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 1049 "Disable the module hash", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1050OPTION(prefix_1, "-fdiscard-value-names", fdiscard_value_names, Flag, f_clang_Group, INVALID, nullptr, 0, DefaultVis | DXCOption, 0, 1051 "Discard value names in LLVM IR", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1052OPTION(prefix_1, "-fdollar-ok", fdollar_ok, Flag, gfortran_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1053OPTION(prefix_1, "-fdollars-in-identifiers", fdollars_in_identifiers, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | DefaultVis | CC1Option, 0, 1054 "Allow '$' in identifiers", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1055OPTION(prefix_1, "-fdouble-square-bracket-attributes", fdouble_square_bracket_attributes, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, 1056 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1057OPTION(prefix_1, "-fdriver-only", fdriver_only, Flag, Action_Group, INVALID, nullptr, NoXarchOption, DefaultVis | CLOption | DXCOption, 0, 1058 "Only run the driver.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1059OPTION(prefix_1, "-fdump-fortran-optimized", fdump_fortran_optimized, Flag, gfortran_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1060OPTION(prefix_1, "-fdump-fortran-original", fdump_fortran_original, Flag, gfortran_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1061OPTION(prefix_1, "-fdump-parse-tree", fdump_parse_tree, Flag, gfortran_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1062OPTION(prefix_1, "-fdump-record-layouts-canonical", fdump_record_layouts_canonical, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 1063 "Dump record layout information with canonical field types", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1064OPTION(prefix_1, "-fdump-record-layouts-complete", fdump_record_layouts_complete, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 1065 "Dump record layout information for all complete types", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1066OPTION(prefix_1, "-fdump-record-layouts-simple", fdump_record_layouts_simple, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 1067 "Dump record layout information in a simple form used for testing", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1068OPTION(prefix_1, "-fdump-record-layouts", fdump_record_layouts, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 1069 "Dump record layout information", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1070OPTION(prefix_1, "-fdump-vtable-layouts", fdump_vtable_layouts, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 1071 "Dump the layouts of all vtables that will be emitted in a translation unit", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1072OPTION(prefix_1, "-fdwarf-directory-asm", fdwarf_directory_asm, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, 1073 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1074OPTION(prefix_1, "-fdwarf-exceptions", fdwarf_exceptions, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, 1075 "Use DWARF style exceptions", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1076OPTION(prefix_1, "-fdwarf2-cfi-asm", fdwarf2_cfi_asm, Flag, clang_ignored_f_Group, INVALID, nullptr, Ignored, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1077OPTION(prefix_2, "/Fd", _SLASH_Fd, Joined, cl_ignored_Group, INVALID, nullptr, NoXarchOption | HelpHidden, CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1078OPTION(prefix_2, "/Fe:", _SLASH_Fe_COLON, JoinedOrSeparate, cl_Group, _SLASH_Fe, nullptr, NoXarchOption, CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1079OPTION(prefix_1, "-felide-constructors", felide_constructors, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, 1080 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1081OPTION(prefix_1, "-feliminate-unused-debug-symbols", feliminate_unused_debug_symbols, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1082OPTION(prefix_1, "-feliminate-unused-debug-types", feliminate_unused_debug_types, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CLOption, 0, 1083 "Do not emit debug info for defined but unused types", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1084OPTION(prefix_1, "-fembed-bitcode-marker", fembed_bitcode_marker, Flag, INVALID, fembed_bitcode_EQ, "marker\0", 0, DefaultVis, 0, 1085 "Embed placeholder LLVM IR data as a marker", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1086OPTION(prefix_1, "-fembed-bitcode=", fembed_bitcode_EQ, Joined, f_Group, INVALID, nullptr, NoXarchOption, DefaultVis | CC1Option | CC1AsOption, 0, 1087 "Embed LLVM bitcode", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "<option>", "off,all,bitcode,marker") 1088OPTION(prefix_1, "-fembed-bitcode", fembed_bitcode, Flag, f_Group, fembed_bitcode_EQ, "all\0", 0, DefaultVis, 0, 1089 "Embed LLVM IR bitcode as data", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1090OPTION(prefix_1, "-fembed-offload-object=", fembed_offload_object_EQ, Joined, f_Group, INVALID, nullptr, NoXarchOption, DefaultVis | CC1Option | FC1Option, 0, 1091 "Embed Offloading device-side binary into host object file as a section.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1092OPTION(prefix_1, "-femit-all-decls", femit_all_decls, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 1093 "Emit all declarations, even if unused", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1094OPTION(prefix_1, "-femit-compact-unwind-non-canonical", femit_compact_unwind_non_canonical, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | CC1AsOption | DefaultVis, 0, 1095 "Try emitting Compact-Unwind for non-canonical entries. Maybe overriden by other constraints", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1096OPTION(prefix_1, "-femit-dwarf-unwind=", femit_dwarf_unwind_EQ, Joined, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | CC1AsOption, 0, 1097 "When to emit DWARF unwind (EH frame) info", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, "always,no-compact-unwind,default") 1098OPTION(prefix_1, "-femulated-tls", femulated_tls, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis, 0, 1099 "Use emutls functions to access thread_local variables", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1100OPTION(prefix_1, "-fenable-matrix", fenable_matrix, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 1101 "Enable matrix data type and related builtin functions", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1102OPTION(prefix_1, "-fencode-extended-block-signature", fencode_extended_block_signature, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 1103 "enable extended encoding of block type signature", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1104OPTION(prefix_1, "-fencoding=", fencoding_EQ, Joined, f_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1105OPTION(prefix_1, "-ferror-limit=", ferror_limit_EQ, Joined, f_Group, INVALID, nullptr, 0, DefaultVis | CLOption | DXCOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1106OPTION(prefix_1, "-ferror-limit", ferror_limit, Separate, INVALID, INVALID, nullptr, 0, CC1Option, 0, 1107 "Set the maximum number of errors to emit before stopping (0 = no limit).", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "<N>", nullptr) 1108OPTION(prefix_1, "-fescaping-block-tail-calls", fescaping_block_tail_calls, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, 1109 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1110OPTION(prefix_1, "-fexceptions", fexceptions, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis, 0, 1111 "Enable support for exception handling", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1112OPTION(prefix_1, "-fexcess-precision=", fexcess_precision_EQ, Joined, f_Group, INVALID, nullptr, 0, DefaultVis | CLOption, 0, 1113 "Allows control over excess precision on targets where native support for the precision types is not available. By default, excess precision is used to calculate intermediate results following the rules specified in ISO C99.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, "standard,fast,none") 1114OPTION(prefix_1, "-fexec-charset=", fexec_charset_EQ, Joined, f_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1115OPTION(prefix_1, "-fexpensive-optimizations", anonymous_541, Flag, clang_ignored_gcc_optimization_f_Group, INVALID, nullptr, Ignored, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1116OPTION(prefix_1, "-fexperimental-assignment-tracking=", fexperimental_assignment_tracking_EQ, Joined, f_Group, INVALID, nullptr, 0, CC1Option, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, "disabled,enabled,forced") 1117OPTION(prefix_1, "-fexperimental-bounds-safety", fbounds_safety, Flag, f_Group, INVALID, nullptr, 0, CC1Option | CC1Option, 0, 1118 "Enable experimental bounds safety extension for C", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1119OPTION(prefix_1, "-fexperimental-isel", fexperimental_isel, Flag, f_clang_Group, fglobal_isel, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1120OPTION(prefix_1, "-fexperimental-late-parse-attributes", fexperimental_late_parse_attributes, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | DefaultVis | CC1Option, 0, 1121 "Enable experimental late parsing of attributes", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1122OPTION(prefix_1, "-fexperimental-library", fexperimental_library, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | CLOption | DefaultVis, 0, 1123 "Control whether unstable and experimental library features are enabled. This option enables various library features that are either experimental (also known as TSes), or have been but are not stable yet in the selected Standard Library implementation. It is not recommended to use this option in production code, since neither ABI nor API stability are guaranteed. This is intended to provide a preview of features that will ship in the future for experimentation purposes", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1124OPTION(prefix_1, "-fexperimental-max-bitint-width=", fexperimental_max_bitint_width_EQ, Joined, f_Group, INVALID, nullptr, 0, CC1Option, 0, 1125 "Set the maximum bitwidth for _BitInt (this option is expected to be removed in the future)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "<N>", nullptr) 1126OPTION(prefix_1, "-fexperimental-modules-reduced-bmi", modules_reduced_bmi, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 1127 "Generate the reduced BMI", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1128OPTION(prefix_1, "-fexperimental-new-constant-interpreter", fexperimental_new_constant_interpreter, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 1129 "Enable the experimental new constant interpreter", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1130OPTION(prefix_1, "-fexperimental-omit-vtable-rtti", fexperimental_omit_vtable_rtti, Flag, f_Group, INVALID, nullptr, 0, CC1Option | CC1Option, 0, 1131 "Omit the RTTI component from virtual tables", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1132OPTION(prefix_1, "-fexperimental-openacc-macro-override=", openacc_macro_override_EQ, Joined, INVALID, openacc_macro_override, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1133OPTION(prefix_1, "-fexperimental-openacc-macro-override", openacc_macro_override, Separate, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 1134 "Overrides the _OPENACC macro value for experimental testing during OpenACC support development", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1135OPTION(prefix_1, "-fexperimental-relative-c++-abi-vtables", fexperimental_relative_cxx_abi_vtables, Flag, f_clang_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 1136 "Use the experimental C++ class ABI for classes with virtual tables", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1137OPTION(prefix_1, "-fexperimental-sanitize-metadata-ignorelist=", fexperimental_sanitize_metadata_ignorelist_EQ, Joined, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | CLOption, 0, 1138 "Disable sanitizer metadata for modules and functions that match the provided special case list", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1139OPTION(prefix_1, "-fexperimental-sanitize-metadata=atomics", fexperimental_sanitize_metadata_EQ_atomics, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 1140 "Emit PCs for atomic operations used by binary analysis sanitizers", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1141OPTION(prefix_1, "-fexperimental-sanitize-metadata=covered", fexperimental_sanitize_metadata_EQ_covered, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 1142 "Emit PCs for code covered with binary analysis sanitizers", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1143OPTION(prefix_1, "-fexperimental-sanitize-metadata=uar", fexperimental_sanitize_metadata_EQ_uar, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 1144 "Emit PCs for start of functions that are subject for use-after-return checking.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1145OPTION(prefix_1, "-fexperimental-sanitize-metadata=", fexperimental_sanitize_metadata_EQ, CommaJoined, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | CLOption, 0, 1146 "Specify the type of metadata to emit for binary analysis sanitizers", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1147OPTION(prefix_1, "-fexperimental-strict-floating-point", fexperimental_strict_floating_point, Flag, f_clang_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 1148 "Enables the use of non-default rounding modes and non-default exception handling on targets that are not currently ready.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1149OPTION(prefix_1, "-fextdirs=", fextdirs_EQ, Joined, f_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1150OPTION(prefix_1, "-fextend-arguments=", fextend_args_EQ, Joined, f_Group, INVALID, nullptr, NoArgumentUnused, DefaultVis | CC1Option, 0, 1151 "Controls how scalar integer arguments are extended in calls to unprototyped and varargs functions", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, "32,64") 1152OPTION(prefix_1, "-fextended-identifiers", anonymous_545, Flag, clang_ignored_f_Group, INVALID, nullptr, Ignored, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1153OPTION(prefix_1, "-fexternal-blas", fexternal_blas, Flag, gfortran_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1154OPTION(prefix_1, "-fexternc-nounwind", fexternc_nounwind, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 1155 "Assume all functions with C linkage do not unwind", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1156OPTION(prefix_2, "/Fe", _SLASH_Fe, Joined, cl_Group, INVALID, nullptr, NoXarchOption, CLOption, 0, 1157 "Set output executable file name", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "<file or dir/>", nullptr) 1158OPTION(prefix_1, "-ff2c", ff2c, Flag, gfortran_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1159OPTION(prefix_1, "-ffake-address-space-map", ffake_address_space_map, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 1160 "Use a fake address space map; OpenCL testing purposes only", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1161OPTION(prefix_1, "-ffast-math", ffast_math, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | FC1Option | FlangOption | DefaultVis, 0, 1162 "Allow aggressive, lossy floating-point optimizations", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1163OPTION(prefix_1, "-ffat-lto-objects", ffat_lto_objects, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis | CC1Option, 0, 1164 "Enable fat LTO object support", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1165OPTION(prefix_1, "-ffile-compilation-dir=", ffile_compilation_dir_EQ, Joined, f_Group, INVALID, nullptr, 0, DefaultVis | CLOption | DXCOption, 0, 1166 "The compilation directory to embed in the debug info and coverage mapping.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1167OPTION(prefix_1, "-ffile-prefix-map=", ffile_prefix_map_EQ, Joined, f_Group, INVALID, nullptr, 0, DefaultVis, 0, 1168 "remap file source paths in debug info, predefined preprocessor macros and __builtin_FILE(). Implies -ffile-reproducible.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1169OPTION(prefix_1, "-ffile-reproducible", ffile_reproducible, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CLOption | CC1Option, 0, 1170 "Use the target's platform-specific path separator character when expanding the __FILE__ macro", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1171OPTION(prefix_1, "-ffine-grained-bitfield-accesses", ffine_grained_bitfield_accesses, Flag, f_clang_Group, INVALID, nullptr, 0, DefaultVis | DefaultVis | CC1Option, 0, 1172 "Use separate accesses for consecutive bitfield runs with legal widths and alignments.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1173OPTION(prefix_1, "-ffinite-loops", ffinite_loops, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 1174 "Assume all non-trivial loops are finite.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1175OPTION(prefix_1, "-ffinite-math-only", ffinite_math_only, Flag, INVALID, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis, 0, 1176 "Allow floating-point optimizations that assume arguments and results are not NaNs or +-inf. This defines the \\_\\_FINITE\\_MATH\\_ONLY\\_\\_ preprocessor macro.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1177OPTION(prefix_1, "-ffixed-a0", ffixed_a0, Flag, m_m68k_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, 1178 "Reserve the a0 register (M68k only)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1179OPTION(prefix_1, "-ffixed-a1", ffixed_a1, Flag, m_m68k_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, 1180 "Reserve the a1 register (M68k only)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1181OPTION(prefix_1, "-ffixed-a2", ffixed_a2, Flag, m_m68k_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, 1182 "Reserve the a2 register (M68k only)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1183OPTION(prefix_1, "-ffixed-a3", ffixed_a3, Flag, m_m68k_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, 1184 "Reserve the a3 register (M68k only)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1185OPTION(prefix_1, "-ffixed-a4", ffixed_a4, Flag, m_m68k_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, 1186 "Reserve the a4 register (M68k only)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1187OPTION(prefix_1, "-ffixed-a5", ffixed_a5, Flag, m_m68k_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, 1188 "Reserve the a5 register (M68k only)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1189OPTION(prefix_1, "-ffixed-a6", ffixed_a6, Flag, m_m68k_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, 1190 "Reserve the a6 register (M68k only)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1191OPTION(prefix_1, "-ffixed-d0", ffixed_d0, Flag, m_m68k_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, 1192 "Reserve the d0 register (M68k only)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1193OPTION(prefix_1, "-ffixed-d1", ffixed_d1, Flag, m_m68k_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, 1194 "Reserve the d1 register (M68k only)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1195OPTION(prefix_1, "-ffixed-d2", ffixed_d2, Flag, m_m68k_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, 1196 "Reserve the d2 register (M68k only)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1197OPTION(prefix_1, "-ffixed-d3", ffixed_d3, Flag, m_m68k_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, 1198 "Reserve the d3 register (M68k only)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1199OPTION(prefix_1, "-ffixed-d4", ffixed_d4, Flag, m_m68k_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, 1200 "Reserve the d4 register (M68k only)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1201OPTION(prefix_1, "-ffixed-d5", ffixed_d5, Flag, m_m68k_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, 1202 "Reserve the d5 register (M68k only)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1203OPTION(prefix_1, "-ffixed-d6", ffixed_d6, Flag, m_m68k_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, 1204 "Reserve the d6 register (M68k only)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1205OPTION(prefix_1, "-ffixed-d7", ffixed_d7, Flag, m_m68k_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, 1206 "Reserve the d7 register (M68k only)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1207OPTION(prefix_1, "-ffixed-form", ffixed_form, Flag, f_Group, INVALID, nullptr, 0, FC1Option | FlangOption, 0, 1208 "Process source files in fixed form", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1209OPTION(prefix_1, "-ffixed-g1", ffixed_g1, Flag, m_sparc_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, 1210 "Reserve the G1 register (SPARC only)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1211OPTION(prefix_1, "-ffixed-g2", ffixed_g2, Flag, m_sparc_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, 1212 "Reserve the G2 register (SPARC only)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1213OPTION(prefix_1, "-ffixed-g3", ffixed_g3, Flag, m_sparc_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, 1214 "Reserve the G3 register (SPARC only)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1215OPTION(prefix_1, "-ffixed-g4", ffixed_g4, Flag, m_sparc_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, 1216 "Reserve the G4 register (SPARC only)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1217OPTION(prefix_1, "-ffixed-g5", ffixed_g5, Flag, m_sparc_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, 1218 "Reserve the G5 register (SPARC only)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1219OPTION(prefix_1, "-ffixed-g6", ffixed_g6, Flag, m_sparc_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, 1220 "Reserve the G6 register (SPARC only)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1221OPTION(prefix_1, "-ffixed-g7", ffixed_g7, Flag, m_sparc_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, 1222 "Reserve the G7 register (SPARC only)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1223OPTION(prefix_1, "-ffixed-i0", ffixed_i0, Flag, m_sparc_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, 1224 "Reserve the I0 register (SPARC only)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1225OPTION(prefix_1, "-ffixed-i1", ffixed_i1, Flag, m_sparc_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, 1226 "Reserve the I1 register (SPARC only)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1227OPTION(prefix_1, "-ffixed-i2", ffixed_i2, Flag, m_sparc_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, 1228 "Reserve the I2 register (SPARC only)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1229OPTION(prefix_1, "-ffixed-i3", ffixed_i3, Flag, m_sparc_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, 1230 "Reserve the I3 register (SPARC only)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1231OPTION(prefix_1, "-ffixed-i4", ffixed_i4, Flag, m_sparc_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, 1232 "Reserve the I4 register (SPARC only)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1233OPTION(prefix_1, "-ffixed-i5", ffixed_i5, Flag, m_sparc_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, 1234 "Reserve the I5 register (SPARC only)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1235OPTION(prefix_1, "-ffixed-l0", ffixed_l0, Flag, m_sparc_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, 1236 "Reserve the L0 register (SPARC only)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1237OPTION(prefix_1, "-ffixed-l1", ffixed_l1, Flag, m_sparc_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, 1238 "Reserve the L1 register (SPARC only)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1239OPTION(prefix_1, "-ffixed-l2", ffixed_l2, Flag, m_sparc_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, 1240 "Reserve the L2 register (SPARC only)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1241OPTION(prefix_1, "-ffixed-l3", ffixed_l3, Flag, m_sparc_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, 1242 "Reserve the L3 register (SPARC only)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1243OPTION(prefix_1, "-ffixed-l4", ffixed_l4, Flag, m_sparc_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, 1244 "Reserve the L4 register (SPARC only)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1245OPTION(prefix_1, "-ffixed-l5", ffixed_l5, Flag, m_sparc_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, 1246 "Reserve the L5 register (SPARC only)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1247OPTION(prefix_1, "-ffixed-l6", ffixed_l6, Flag, m_sparc_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, 1248 "Reserve the L6 register (SPARC only)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1249OPTION(prefix_1, "-ffixed-l7", ffixed_l7, Flag, m_sparc_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, 1250 "Reserve the L7 register (SPARC only)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1251OPTION(prefix_1, "-ffixed-line-length-", ffixed_line_length_VALUE, Joined, f_Group, ffixed_line_length_EQ, nullptr, 0, FC1Option | FlangOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1252OPTION(prefix_1, "-ffixed-line-length=", ffixed_line_length_EQ, Joined, f_Group, INVALID, nullptr, 0, FC1Option | FlangOption, 0, 1253 "Use <value> as character line width in fixed mode", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1254OPTION(prefix_1, "-ffixed-o0", ffixed_o0, Flag, m_sparc_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, 1255 "Reserve the O0 register (SPARC only)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1256OPTION(prefix_1, "-ffixed-o1", ffixed_o1, Flag, m_sparc_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, 1257 "Reserve the O1 register (SPARC only)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1258OPTION(prefix_1, "-ffixed-o2", ffixed_o2, Flag, m_sparc_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, 1259 "Reserve the O2 register (SPARC only)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1260OPTION(prefix_1, "-ffixed-o3", ffixed_o3, Flag, m_sparc_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, 1261 "Reserve the O3 register (SPARC only)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1262OPTION(prefix_1, "-ffixed-o4", ffixed_o4, Flag, m_sparc_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, 1263 "Reserve the O4 register (SPARC only)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1264OPTION(prefix_1, "-ffixed-o5", ffixed_o5, Flag, m_sparc_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, 1265 "Reserve the O5 register (SPARC only)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1266OPTION(prefix_1, "-ffixed-point", ffixed_point, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis, 0, 1267 "Enable fixed point types", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1268OPTION(prefix_1, "-ffixed-r19", ffixed_r19, Flag, f_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, 1269 "Reserve register r19 (Hexagon only)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1270OPTION(prefix_1, "-ffixed-r9", ffixed_r9, Flag, m_arm_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, 1271 "Reserve the r9 register (ARM only)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1272OPTION(prefix_1, "-ffixed-x10", ffixed_x10, Flag, m_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, 1273 "Reserve the x10 register (AArch64/RISC-V only)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1274OPTION(prefix_1, "-ffixed-x11", ffixed_x11, Flag, m_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, 1275 "Reserve the x11 register (AArch64/RISC-V only)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1276OPTION(prefix_1, "-ffixed-x12", ffixed_x12, Flag, m_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, 1277 "Reserve the x12 register (AArch64/RISC-V only)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1278OPTION(prefix_1, "-ffixed-x13", ffixed_x13, Flag, m_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, 1279 "Reserve the x13 register (AArch64/RISC-V only)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1280OPTION(prefix_1, "-ffixed-x14", ffixed_x14, Flag, m_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, 1281 "Reserve the x14 register (AArch64/RISC-V only)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1282OPTION(prefix_1, "-ffixed-x15", ffixed_x15, Flag, m_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, 1283 "Reserve the x15 register (AArch64/RISC-V only)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1284OPTION(prefix_1, "-ffixed-x16", ffixed_x16, Flag, m_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, 1285 "Reserve the x16 register (AArch64/RISC-V only)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1286OPTION(prefix_1, "-ffixed-x17", ffixed_x17, Flag, m_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, 1287 "Reserve the x17 register (AArch64/RISC-V only)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1288OPTION(prefix_1, "-ffixed-x18", ffixed_x18, Flag, m_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, 1289 "Reserve the x18 register (AArch64/RISC-V only)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1290OPTION(prefix_1, "-ffixed-x19", ffixed_x19, Flag, m_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, 1291 "Reserve the x19 register (AArch64/RISC-V only)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1292OPTION(prefix_1, "-ffixed-x1", ffixed_x1, Flag, m_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, 1293 "Reserve the x1 register (AArch64/RISC-V only)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1294OPTION(prefix_1, "-ffixed-x20", ffixed_x20, Flag, m_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, 1295 "Reserve the x20 register (AArch64/RISC-V only)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1296OPTION(prefix_1, "-ffixed-x21", ffixed_x21, Flag, m_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, 1297 "Reserve the x21 register (AArch64/RISC-V only)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1298OPTION(prefix_1, "-ffixed-x22", ffixed_x22, Flag, m_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, 1299 "Reserve the x22 register (AArch64/RISC-V only)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1300OPTION(prefix_1, "-ffixed-x23", ffixed_x23, Flag, m_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, 1301 "Reserve the x23 register (AArch64/RISC-V only)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1302OPTION(prefix_1, "-ffixed-x24", ffixed_x24, Flag, m_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, 1303 "Reserve the x24 register (AArch64/RISC-V only)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1304OPTION(prefix_1, "-ffixed-x25", ffixed_x25, Flag, m_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, 1305 "Reserve the x25 register (AArch64/RISC-V only)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1306OPTION(prefix_1, "-ffixed-x26", ffixed_x26, Flag, m_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, 1307 "Reserve the x26 register (AArch64/RISC-V only)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1308OPTION(prefix_1, "-ffixed-x27", ffixed_x27, Flag, m_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, 1309 "Reserve the x27 register (AArch64/RISC-V only)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1310OPTION(prefix_1, "-ffixed-x28", ffixed_x28, Flag, m_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, 1311 "Reserve the x28 register (AArch64/RISC-V only)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1312OPTION(prefix_1, "-ffixed-x29", ffixed_x29, Flag, m_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, 1313 "Reserve the x29 register (AArch64/RISC-V only)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1314OPTION(prefix_1, "-ffixed-x2", ffixed_x2, Flag, m_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, 1315 "Reserve the x2 register (AArch64/RISC-V only)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1316OPTION(prefix_1, "-ffixed-x30", ffixed_x30, Flag, m_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, 1317 "Reserve the x30 register (AArch64/RISC-V only)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1318OPTION(prefix_1, "-ffixed-x31", ffixed_x31, Flag, m_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, 1319 "Reserve the x31 register (AArch64/RISC-V only)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1320OPTION(prefix_1, "-ffixed-x3", ffixed_x3, Flag, m_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, 1321 "Reserve the x3 register (AArch64/RISC-V only)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1322OPTION(prefix_1, "-ffixed-x4", ffixed_x4, Flag, m_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, 1323 "Reserve the x4 register (AArch64/RISC-V only)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1324OPTION(prefix_1, "-ffixed-x5", ffixed_x5, Flag, m_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, 1325 "Reserve the x5 register (AArch64/RISC-V only)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1326OPTION(prefix_1, "-ffixed-x6", ffixed_x6, Flag, m_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, 1327 "Reserve the x6 register (AArch64/RISC-V only)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1328OPTION(prefix_1, "-ffixed-x7", ffixed_x7, Flag, m_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, 1329 "Reserve the x7 register (AArch64/RISC-V only)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1330OPTION(prefix_1, "-ffixed-x8", ffixed_x8, Flag, m_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, 1331 "Reserve the x8 register (AArch64/RISC-V only)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1332OPTION(prefix_1, "-ffixed-x9", ffixed_x9, Flag, m_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, 1333 "Reserve the x9 register (AArch64/RISC-V only)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1334OPTION(prefix_1, "-ffloat-store", ffloat_store, Flag, clang_ignored_gcc_optimization_f_Group, INVALID, nullptr, Ignored, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1335OPTION(prefix_1, "-ffloat16-excess-precision=", ffloat16_excess_precision_EQ, Joined, f_Group, INVALID, nullptr, 0, CC1Option, 0, 1336 "Allows control over excess precision on targets where native support for Float16 precision types is not available. By default, excess precision is used to calculate intermediate results following the rules specified in ISO C99.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, "standard,fast,none") 1337OPTION(prefix_1, "-ffor-scope", ffor_scope, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1338OPTION(prefix_1, "-fforbid-guard-variables", fforbid_guard_variables, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 1339 "Emit an error if a C++ static local initializer would need a guard variable", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1340OPTION(prefix_1, "-fforce-addr", force_addr, Joined, clang_ignored_f_Group, INVALID, nullptr, Ignored, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1341OPTION(prefix_1, "-fforce-check-cxx20-modules-input-files", fforce_check_cxx20_modules_input_files, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 1342 "Check the input source files from C++20 modules explicitly", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1343OPTION(prefix_1, "-fforce-dwarf-frame", fforce_dwarf_frame, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis, 0, 1344 "Always emit a debug frame section", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1345OPTION(prefix_1, "-fforce-emit-vtables", fforce_emit_vtables, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis | CLOption, 0, 1346 "Emits more virtual tables to improve devirtualization", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1347OPTION(prefix_1, "-fforce-enable-int128", fforce_enable_int128, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis, 0, 1348 "Enable support for int128_t type", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1349OPTION(prefix_1, "-ffp-contract=", ffp_contract, Joined, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | FC1Option | FlangOption, 0, 1350 "Form fused FP ops (e.g. FMAs)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, "fast,on,off,fast-honor-pragmas") 1351OPTION(prefix_1, "-ffp-eval-method=", ffp_eval_method_EQ, Joined, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 1352 "Specifies the evaluation method to use for floating-point arithmetic.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, "source,double,extended") 1353OPTION(prefix_1, "-ffp-exception-behavior=", ffp_exception_behavior_EQ, Joined, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 1354 "Specifies the exception behavior of floating-point operations.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, "ignore,maytrap,strict") 1355OPTION(prefix_1, "-ffp-model=", ffp_model_EQ, Joined, f_Group, INVALID, nullptr, 0, DefaultVis, 0, 1356 "Controls the semantics of floating-point calculations.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1357OPTION(prefix_1, "-ffpe-trap=", ffpe_trap_EQ, Joined, gfortran_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1358OPTION(prefix_1, "-ffree-form", ffree_form, Flag, f_Group, INVALID, nullptr, 0, FC1Option | FlangOption, 0, 1359 "Process source files in free form", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1360OPTION(prefix_1, "-ffree-line-length-", ffree_line_length_VALUE, Joined, gfortran_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1361OPTION(prefix_1, "-ffreestanding", ffreestanding, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 1362 "Assert that the compilation takes place in a freestanding environment", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1363OPTION(prefix_1, "-ffriend-injection", ffriend_injection, Flag, clang_ignored_f_Group, INVALID, nullptr, Ignored, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1364OPTION(prefix_1, "-ffrontend-optimize", ffrontend_optimize, Flag, gfortran_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1365OPTION(prefix_1, "-ffuchsia-api-level=", ffuchsia_api_level_EQ, Joined, m_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis | CLOption, 0, 1366 "Set Fuchsia API level", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1367OPTION(prefix_1, "-ffunction-attribute-list", ffunction_attribute_list, Flag, clang_ignored_f_Group, INVALID, nullptr, Ignored, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1368OPTION(prefix_1, "-ffunction-sections", ffunction_sections, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis, 0, 1369 "Place each function in its own section", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1370OPTION(prefix_1, "-fgcse-after-reload", fgcse_after_reload, Flag, clang_ignored_gcc_optimization_f_Group, INVALID, nullptr, Ignored, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1371OPTION(prefix_1, "-fgcse-las", fgcse_las, Flag, clang_ignored_gcc_optimization_f_Group, INVALID, nullptr, Ignored, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1372OPTION(prefix_1, "-fgcse-sm", fgcse_sm, Flag, clang_ignored_gcc_optimization_f_Group, INVALID, nullptr, Ignored, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1373OPTION(prefix_1, "-fgcse", fgcse, Flag, clang_ignored_gcc_optimization_f_Group, INVALID, nullptr, Ignored, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1374OPTION(prefix_1, "-fget-definition", fget_definition, MultiArg, Action_Group, INVALID, nullptr, 0, FC1Option, 3, 1375 "Get the symbol definition from <line> <start-column> <end-column>", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1376OPTION(prefix_1, "-fget-symbols-sources", fget_symbols_sources, Flag, Action_Group, INVALID, nullptr, 0, FC1Option, 0, 1377 "Dump symbols and their source code locations", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1378OPTION(prefix_1, "-fglobal-isel", fglobal_isel, Flag, f_clang_Group, INVALID, nullptr, 0, DefaultVis, 0, 1379 "Enables the global instruction selector", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1380OPTION(prefix_1, "-fgnu-inline-asm", fgnu_inline_asm, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, 1381 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1382OPTION(prefix_1, "-fgnu-keywords", fgnu_keywords, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | DefaultVis | CC1Option, 0, 1383 "Allow GNU-extension keywords regardless of language standard", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1384OPTION(prefix_1, "-fgnu-runtime", fgnu_runtime, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, 1385 "Generate output compatible with the standard GNU Objective-C runtime", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1386OPTION(prefix_1, "-fgnu89-inline", fgnu89_inline, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis, 0, 1387 "Use the gnu89 inline semantics", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1388OPTION(prefix_1, "-fgnuc-version=", fgnuc_version_EQ, Joined, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | CLOption, 0, 1389 "Sets various macros to claim compatibility with the given GCC version (default is 4.2.1)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1390OPTION(prefix_1, "-fgnu", fgnu, Flag, clang_ignored_f_Group, INVALID, nullptr, Ignored, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1391OPTION(prefix_1, "-fgpu-allow-device-init", fgpu_allow_device_init, Flag, hip_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis | DefaultVis | CLOption, 0, 1392 "Allow device side init function in HIP (experimental)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1393OPTION(prefix_1, "-fgpu-approx-transcendentals", fgpu_approx_transcendentals, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis, 0, 1394 "Use approximate transcendental functions", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1395OPTION(prefix_1, "-fgpu-default-stream=", fgpu_default_stream_EQ, Joined, offload_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis | CLOption, 0, 1396 "Specify default stream. The default value is 'legacy'. (CUDA/HIP only)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, "legacy,per-thread") 1397OPTION(prefix_1, "-fgpu-defer-diag", fgpu_defer_diag, Flag, offload_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis | DefaultVis | CLOption, 0, 1398 "Defer host/device related diagnostic messages for CUDA/HIP", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1399OPTION(prefix_1, "-fgpu-exclude-wrong-side-overloads", fgpu_exclude_wrong_side_overloads, Flag, offload_Group, INVALID, nullptr, HelpHidden, DefaultVis | CC1Option | DefaultVis | CLOption, 0, 1400 "Always exclude wrong side overloads in overloading resolution for CUDA/HIP", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1401OPTION(prefix_1, "-fgpu-flush-denormals-to-zero", fgpu_flush_denormals_to_zero, Flag, offload_Group, INVALID, nullptr, 0, DefaultVis | DefaultVis | CLOption, 0, 1402 "Flush denormal floating point values to zero in CUDA/HIP device mode.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1403OPTION(prefix_1, "-fgpu-inline-threshold=", fgpu_inline_threshold_EQ, Joined, offload_Group, INVALID, nullptr, HelpHidden, DefaultVis | DefaultVis | CLOption, 0, 1404 "Inline threshold for device compilation for CUDA/HIP", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1405OPTION(prefix_1, "-fgpu-rdc", fgpu_rdc, Flag, offload_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis | DefaultVis | CLOption, 0, 1406 "Generate relocatable device code, also known as separate compilation mode", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1407OPTION(prefix_1, "-fgpu-sanitize", fgpu_sanitize, Flag, offload_Group, INVALID, nullptr, 0, DefaultVis | DefaultVis | CLOption, 0, 1408 "Enable sanitizer for supported offloading devices", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1409OPTION(prefix_1, "-fhalf-no-semantic-interposition", fhalf_no_semantic_interposition, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 1410 "Like -fno-semantic-interposition but don't use local aliases", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1411OPTION(prefix_1, "-fheinous-gnu-extensions", fheinous_gnu_extensions, Flag, INVALID, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1412OPTION(prefix_1, "-fhermetic-module-files", fhermetic_module_files, Flag, f_Group, INVALID, nullptr, 0, FC1Option | FlangOption, 0, 1413 "Emit hermetic module files (no nested USE association)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1414OPTION(prefix_1, "-fhip-dump-offload-linker-script", fhip_dump_offload_linker_script, Flag, hip_Group, INVALID, nullptr, NoArgumentUnused | HelpHidden, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1415OPTION(prefix_1, "-fhip-emit-relocatable", fhip_emit_relocatable, Flag, hip_Group, INVALID, nullptr, 0, DefaultVis | DefaultVis | CLOption, 0, 1416 "Compile HIP source to relocatable", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1417OPTION(prefix_1, "-fhip-fp32-correctly-rounded-divide-sqrt", fhip_fp32_correctly_rounded_divide_sqrt, Flag, hip_Group, INVALID, nullptr, 0, DefaultVis | DefaultVis | DefaultVis | CLOption, 0, 1418 "Specify that single precision floating-point divide and sqrt used in the program source are correctly rounded (HIP device compilation only)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1419OPTION(prefix_1, "-fhip-kernel-arg-name", fhip_kernel_arg_name, Flag, hip_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis | DefaultVis | CLOption, 0, 1420 "Specify that kernel argument names are preserved (HIP only)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1421OPTION(prefix_1, "-fhip-new-launch-api", fhip_new_launch_api, Flag, hip_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis | DefaultVis | CLOption, 0, 1422 "Use new kernel launching API for HIP", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1423OPTION(prefix_1, "-fhlsl-strict-availability", fhlsl_strict_availability, Flag, hlsl_Group, INVALID, nullptr, 0, CC1Option | DefaultVis, 0, 1424 "Enables strict availability diagnostic mode for HLSL built-in functions.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1425OPTION(prefix_1, "-fhonor-infinites", anonymous_737, Flag, INVALID, fhonor_infinities, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1426OPTION(prefix_1, "-fhonor-infinities", fhonor_infinities, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | FlangOption, 0, 1427 "Specify that floating-point optimizations are not allowed that assume arguments and results are not +-inf.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1428OPTION(prefix_1, "-fhonor-nans", fhonor_nans, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | FlangOption, 0, 1429 "Specify that floating-point optimizations are not allowed that assume arguments and results are not NANs.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1430OPTION(prefix_1, "-fhosted", fhosted, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1431OPTION(prefix_2, "/Fi:", _SLASH_Fi_COLON, JoinedOrSeparate, cl_Group, _SLASH_Fi, nullptr, NoXarchOption, CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1432OPTION(prefix_1, "-fident", anonymous_39, Flag, f_Group, Qy, nullptr, 0, DefaultVis | CLOption | DXCOption | CC1Option, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1433OPTION(prefix_1, "-fignore-exceptions", fignore_exceptions, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 1434 "Enable support for ignoring exception handling constructs", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1435OPTION(prefix_1, "-filelist", filelist, Separate, Link_Group, INVALID, nullptr, LinkerInput, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1436OPTION(prefix_1, "-filetype", filetype, Separate, INVALID, INVALID, nullptr, 0, CC1AsOption, 0, 1437 "Specify the output file type ('asm', 'null', or 'obj')", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1438OPTION(prefix_1, "-fimplement-inlines", fimplement_inlines, Flag, clang_ignored_f_Group, INVALID, nullptr, Ignored, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1439OPTION(prefix_1, "-fimplicit-module-maps", fimplicit_module_maps, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | CLOption, 0, 1440 "Implicitly search the file system for module map files.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1441OPTION(prefix_1, "-fimplicit-modules-use-lock", ffimplicit_modules_use_lock, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 1442 "Use filesystem locks for implicit modules builds to avoid duplicating work in competing clang invocations.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1443OPTION(prefix_1, "-fimplicit-modules", fimplicit_modules, Flag, f_Group, INVALID, nullptr, NoXarchOption, DefaultVis | CLOption, 0, 1444 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1445OPTION(prefix_1, "-fimplicit-none", fimplicit_none, Flag, f_Group, INVALID, nullptr, 0, FC1Option | FlangOption, 0, 1446 "No implicit typing allowed unless overridden by IMPLICIT statements", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1447OPTION(prefix_1, "-fimplicit-templates", fimplicit_templates, Flag, clang_ignored_f_Group, INVALID, nullptr, Ignored, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1448OPTION(prefix_1, "-finclude-default-header", finclude_default_header, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 1449 "Include default header file for OpenCL and HLSL", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1450OPTION(prefix_1, "-fincremental-extensions", fincremental_extensions, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 1451 "Enable incremental processing extensions such as processingstatements on the global scope.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1452OPTION(prefix_1, "-findirect-virtual-calls", anonymous_804, Flag, INVALID, fapple_kext, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1453OPTION(prefix_1, "-finit-character=", finit_character_EQ, Joined, gfortran_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1454OPTION(prefix_1, "-finit-integer=", finit_integer_EQ, Joined, gfortran_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1455OPTION(prefix_1, "-finit-local-zero", finit_local_zero, Flag, gfortran_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1456OPTION(prefix_1, "-finit-logical=", finit_logical_EQ, Joined, gfortran_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1457OPTION(prefix_1, "-finit-real=", finit_real_EQ, Joined, gfortran_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1458OPTION(prefix_1, "-finline-functions-called-once", finline_functions_called_once, Flag, clang_ignored_gcc_optimization_f_Group, INVALID, nullptr, Ignored, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1459OPTION(prefix_1, "-finline-functions", finline_functions, Flag, f_clang_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 1460 "Inline suitable functions", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1461OPTION(prefix_1, "-finline-hint-functions", finline_hint_functions, Flag, f_clang_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 1462 "Inline functions which are (explicitly or implicitly) marked inline", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1463OPTION(prefix_1, "-finline-limit=", finline_limit_EQ, Joined, clang_ignored_gcc_optimization_f_Group, INVALID, nullptr, Ignored, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1464OPTION(prefix_1, "-finline-limit", ffinline_limit, Flag, clang_ignored_gcc_optimization_f_Group, INVALID, nullptr, Ignored, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1465OPTION(prefix_1, "-finline-max-stacksize=", finline_max_stacksize_EQ, Joined, f_Group, INVALID, nullptr, 0, DefaultVis | CLOption | CC1Option, 0, 1466 "Suppress inlining of functions whose stack size exceeds the given value", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1467OPTION(prefix_1, "-finline-small-functions", finline_small_functions, Flag, clang_ignored_gcc_optimization_f_Group, INVALID, nullptr, Ignored, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1468OPTION(prefix_1, "-finline", finline, Flag, clang_ignored_f_Group, INVALID, nullptr, Ignored, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1469OPTION(prefix_1, "-finput-charset=", finput_charset_EQ, Joined, f_Group, INVALID, nullptr, 0, DefaultVis | FlangOption | FC1Option, 0, 1470 "Specify the default character set for source files", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1471OPTION(prefix_1, "-finstrument-function-entry-bare", finstrument_function_entry_bare, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 1472 "Instrument function entry only, after inlining, without arguments to the instrumentation call", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1473OPTION(prefix_1, "-finstrument-functions-after-inlining", finstrument_functions_after_inlining, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 1474 "Like -finstrument-functions, but insert the calls after inlining", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1475OPTION(prefix_1, "-finstrument-functions", finstrument_functions, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 1476 "Generate calls to instrument function entry and exit", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1477OPTION(prefix_1, "-finteger-4-integer-8", finteger_4_integer_8, Flag, gfortran_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1478OPTION(prefix_1, "-fintegrated-as", fintegrated_as, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | FlangOption | DefaultVis, 0, 1479 "Enable the integrated assembler", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1480OPTION(prefix_1, "-fintegrated-cc1", fintegrated_cc1, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CLOption | DXCOption, 0, 1481 "Run cc1 in-process", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1482OPTION(prefix_1, "-fintegrated-objemitter", fintegrated_objemitter, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CLOption, 0, 1483 "Use internal machine object code emitter.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1484OPTION(prefix_1, "-fintrinsic-modules-path", fintrinsic_modules_path, Separate, f_Group, INVALID, nullptr, 0, FC1Option | FlangOption, 0, 1485 "Specify where to find the compiled intrinsic modules", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "<dir>", nullptr) 1486OPTION(prefix_1, "-fipa-cp", fipa_cp, Flag, clang_ignored_gcc_optimization_f_Group, INVALID, nullptr, Ignored, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1487OPTION(prefix_1, "-fivopts", fivopts, Flag, clang_ignored_gcc_optimization_f_Group, INVALID, nullptr, Ignored, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1488OPTION(prefix_1, "-fix-only-warnings", fix_only_warnings, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 1489 "Apply fix-it advice only for warnings, not errors", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1490OPTION(prefix_1, "-fix-what-you-can", fix_what_you_can, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 1491 "Apply fix-it advice even in the presence of unfixable errors", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1492OPTION(prefix_1, "-fixit-recompile", fixit_recompile, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 1493 "Apply fix-it changes and recompile", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1494OPTION(prefix_1, "-fixit-to-temporary", fixit_to_temp, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 1495 "Apply fix-it changes to temporary files", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1496OPTION(prefix_1, "-fixit=", fixit_EQ, Joined, Action_Group, INVALID, nullptr, 0, CC1Option, 0, 1497 "Apply fix-it advice creating a file with the given suffix", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1498OPTION(prefix_1, "-fixit", fixit, Flag, Action_Group, INVALID, nullptr, 0, CC1Option, 0, 1499 "Apply fix-it advice to the input source", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1500OPTION(prefix_2, "/FI", _SLASH_FI, JoinedOrSeparate, cl_Group, include, nullptr, NoXarchOption, CLOption, 0, 1501 "Include file before parsing", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1502OPTION(prefix_2, "/Fi", _SLASH_Fi, Joined, cl_compile_Group, INVALID, nullptr, NoXarchOption, CLOption, 0, 1503 "Set preprocess output file name (with /P)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "<file>", nullptr) 1504OPTION(prefix_1, "-fjmc", fjmc, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis, 0, 1505 "Enable just-my-code debugging", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1506OPTION(prefix_1, "-fjump-tables", fjump_tables, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | DefaultVis, 0, 1507 "Use jump tables for lowering switches", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1508OPTION(prefix_1, "-fkeep-inline-functions", fanonymous_1757, Flag, clang_ignored_gcc_optimization_f_Group, INVALID, nullptr, Ignored, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1509OPTION(prefix_1, "-fkeep-persistent-storage-variables", fkeep_persistent_storage_variables, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 1510 "Enable keeping all variables that have a persistent storage duration, including global, static and thread-local variables, to guarantee that they can be directly addressed", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1511OPTION(prefix_1, "-fkeep-static-consts", fkeep_static_consts, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 1512 "Keep static const variables even if unused", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1513OPTION(prefix_1, "-fkeep-system-includes", fkeep_system_includes, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis, 0, 1514 "Instead of expanding system headers when emitting preprocessor output, preserve the #include directive. Useful when producing preprocessed output for test case reduction. May produce incorrect output if preprocessor symbols that control the included content (e.g. _XOPEN_SOURCE) are defined in the including source file. The portability of the resulting source to other compilation environments is not guaranteed.\n\nOnly valid with -E.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1515OPTION(prefix_1, "-flang-deprecated-no-hlfir", flang_deprecated_no_hlfir, Flag, INVALID, INVALID, nullptr, HelpHidden, FlangOption | FC1Option, 0, 1516 "Do not use HLFIR lowering (deprecated)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1517OPTION(prefix_1, "-flang-experimental-hlfir", flang_experimental_hlfir, Flag, INVALID, INVALID, nullptr, HelpHidden, FlangOption | FC1Option, 0, 1518 "Use HLFIR lowering (experimental)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1519OPTION(prefix_1, "-flang-experimental-integer-overflow", flang_experimental_integer_overflow, Flag, INVALID, INVALID, nullptr, HelpHidden, FlangOption | FC1Option, 0, 1520 "Add nsw flag to internal operations such as do-variable increment (experimental)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1521OPTION(prefix_1, "-flarge-sizes", flarge_sizes, Flag, f_Group, INVALID, nullptr, 0, FC1Option | FlangOption, 0, 1522 "Use INTEGER(KIND=8) for the result type in size-related intrinsics", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1523OPTION(prefix_1, "-flat_namespace", flat__namespace, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1524OPTION(prefix_1, "-flax-vector-conversions=", flax_vector_conversions_EQ, Joined, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 1525 "Enable implicit vector bit-casts", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, "none,integer,all") 1526OPTION(prefix_1, "-flax-vector-conversions", flax_vector_conversions, Flag, f_Group, flax_vector_conversions_EQ, "integer\0", 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1527OPTION(prefix_1, "-flimit-debug-info", flimit_debug_info, Flag, INVALID, fno_standalone_debug, nullptr, 0, DefaultVis | CLOption | DXCOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1528OPTION(prefix_1, "-flimited-precision=", flimited_precision_EQ, Joined, f_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1529OPTION(prefix_1, "-flogical-abbreviations", flogical_abbreviations, Flag, f_Group, INVALID, nullptr, 0, FC1Option | FlangOption, 0, 1530 "Enable logical abbreviations", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1531OPTION(prefix_1, "-flto-jobs=", flto_jobs_EQ, Joined, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 1532 "Controls the backend parallelism of -flto=thin (default of 0 means the number of threads will be derived from the number of CPUs detected)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1533OPTION(prefix_1, "-flto-unit", flto_unit, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 1534 "Emit IR to support LTO unit features (CFI, whole program vtable opt)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1535OPTION(prefix_1, "-flto-visibility-public-std", flto_visibility_public_std, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 1536 "Use public LTO visibility for classes in std and stdext namespaces", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1537OPTION(prefix_1, "-flto=auto", flto_EQ_auto, Flag, f_Group, flto_EQ, "full\0", 0, DefaultVis | FlangOption, 0, 1538 "Enable LTO in 'full' mode", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1539OPTION(prefix_1, "-flto=jobserver", flto_EQ_jobserver, Flag, f_Group, flto_EQ, "full\0", 0, DefaultVis | FlangOption, 0, 1540 "Enable LTO in 'full' mode", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1541OPTION(prefix_1, "-flto=", flto_EQ, Joined, f_Group, INVALID, nullptr, 0, DefaultVis | CLOption | CC1Option | FC1Option | FlangOption, 0, 1542 "Set LTO mode", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, "thin,full") 1543OPTION(prefix_1, "-flto", flto, Flag, f_Group, flto_EQ, "full\0", 0, DefaultVis | CLOption | CC1Option | FC1Option | FlangOption, 0, 1544 "Enable LTO in 'full' mode", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1545OPTION(prefix_1, "-fmacro-backtrace-limit=", fmacro_backtrace_limit_EQ, Joined, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | CLOption, 0, 1546 "Set the maximum number of entries to print in a macro expansion backtrace (0 = no limit)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1547OPTION(prefix_1, "-fmacro-prefix-map=", fmacro_prefix_map_EQ, Joined, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 1548 "remap file source paths in predefined preprocessor macros and __builtin_FILE(). Implies -ffile-reproducible.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1549OPTION(prefix_1, "-fmath-errno", fmath_errno, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis, 0, 1550 "Require math functions to indicate errors by setting errno", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1551OPTION(prefix_1, "-fmax-array-constructor=", fmax_array_constructor_EQ, Joined, gfortran_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1552OPTION(prefix_1, "-fmax-errors=", fmax_errors_EQ, Joined, gfortran_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1553OPTION(prefix_1, "-fmax-identifier-length", fmax_identifier_length, Flag, gfortran_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1554OPTION(prefix_1, "-fmax-stack-var-size=", fmax_stack_var_size_EQ, Joined, gfortran_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1555OPTION(prefix_1, "-fmax-subrecord-length=", fmax_subrecord_length_EQ, Joined, gfortran_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1556OPTION(prefix_1, "-fmax-tokens=", fmax_tokens_EQ, Joined, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 1557 "Max total number of preprocessed tokens for -Wmax-tokens.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1558OPTION(prefix_1, "-fmax-type-align=", fmax_type_align_EQ, Joined, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 1559 "Specify the maximum alignment to enforce on pointers lacking an explicit alignment", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1560OPTION(prefix_1, "-fmcdc-max-conditions=", fmcdc_max_conditions_EQ, Joined, f_Group, INVALID, nullptr, 0, CC1Option, 0, 1561 "Maximum number of conditions in MC/DC coverage", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1562OPTION(prefix_1, "-fmcdc-max-test-vectors=", fmcdc_max_test_vectors_EQ, Joined, f_Group, INVALID, nullptr, 0, CC1Option, 0, 1563 "Maximum number of test vectors in MC/DC coverage", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1564OPTION(prefix_1, "-fmemory-profile-use=", fmemory_profile_use_EQ, Joined, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | CLOption, 0, 1565 "Use memory profile for profile-guided memory optimization", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "<pathname>", nullptr) 1566OPTION(prefix_1, "-fmemory-profile=", fmemory_profile_EQ, Joined, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 1567 "Enable heap memory profiling and dump results into <directory>", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "<directory>", nullptr) 1568OPTION(prefix_1, "-fmemory-profile", fmemory_profile, Flag, f_Group, INVALID, nullptr, 0, CC1Option | DefaultVis, 0, 1569 "Enable heap memory profiling", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1570OPTION(prefix_1, "-fmerge-all-constants", fmerge_all_constants, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | CLOption | DefaultVis, 0, 1571 "Allow merging of constants", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1572OPTION(prefix_1, "-fmerge-constants", fmerge_constants, Flag, clang_ignored_gcc_optimization_f_Group, INVALID, nullptr, Ignored, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1573OPTION(prefix_1, "-fmerge-functions", fmerge_functions, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 1574 "Permit merging of identical functions when optimizing.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1575OPTION(prefix_1, "-fmessage-length=", fmessage_length_EQ, Joined, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 1576 "Format message diagnostics so that they fit within N columns", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1577OPTION(prefix_1, "-fminimize-whitespace", fminimize_whitespace, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis, 0, 1578 "Ignore the whitespace from the input file when emitting preprocessor output. It will only contain whitespace when necessary, e.g. to keep two minus signs from merging into to an increment operator. Useful with the -P option to normalize whitespace such that two files with only formatting changes are equal.\n\nOnly valid with -E on C-like inputs and incompatible with -traditional-cpp.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1579OPTION(prefix_1, "-fmodule-feature", fmodule_feature, Separate, INVALID, INVALID, nullptr, 0, CC1Option, 0, 1580 "Enable <feature> in module map requires declarations", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "<feature>", nullptr) 1581OPTION(prefix_1, "-fmodule-file-deps", fmodule_file_deps, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1582OPTION(prefix_1, "-fmodule-file-home-is-cwd", fmodule_file_home_is_cwd, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 1583 "Use the current working directory as the base directory of compiled module files.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1584OPTION(prefix_1, "-fmodule-file=", fmodule_file, Joined, i_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | CLOption, 0, 1585 "Specify the mapping of module name to precompiled module file, or load a module file if name is omitted.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "[<name>=]<file>", nullptr) 1586OPTION(prefix_1, "-fmodule-format=", fmodule_format_EQ, Joined, INVALID, INVALID, nullptr, 0, CC1Option, 0, 1587 "Select the container format for clang modules and PCH. Supported options are 'raw' and 'obj'.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1588OPTION(prefix_1, "-fmodule-header=", fmodule_header_EQ, Joined, f_Group, INVALID, nullptr, 0, DefaultVis | CLOption, 0, 1589 "Build a C++20 Header Unit from a header that should be found in the user (fmodule-header=user) or system (fmodule-header=system) search path.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "<kind>", nullptr) 1590OPTION(prefix_1, "-fmodule-header", fmodule_header, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CLOption, 0, 1591 "Build a C++20 Header Unit from a header", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1592OPTION(prefix_1, "-fmodule-implementation-of", fmodule_implementation_of, Separate, INVALID, fmodule_name_EQ, nullptr, 0, DefaultVis | CC1Option | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1593OPTION(prefix_1, "-fmodule-map-file-home-is-cwd", fmodule_map_file_home_is_cwd, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 1594 "Use the current working directory as the home directory of module maps specified by -fmodule-map-file=<FILE>", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1595OPTION(prefix_1, "-fmodule-map-file=", fmodule_map_file, Joined, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | CLOption, 0, 1596 "Load this module map file", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "<file>", nullptr) 1597OPTION(prefix_1, "-fmodule-maps", fmodule_maps, Flag, INVALID, fimplicit_module_maps, nullptr, 0, DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1598OPTION(prefix_1, "-fmodule-name=", fmodule_name_EQ, Joined, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | CLOption, 0, 1599 "Specify the name of the module to build", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "<name>", nullptr) 1600OPTION(prefix_1, "-fmodule-output=", fmodule_output_EQ, Joined, INVALID, INVALID, nullptr, NoXarchOption, DefaultVis | CLOption | CC1Option, 0, 1601 "Save intermediate module file results when compiling a standard C++ module unit.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1602OPTION(prefix_1, "-fmodule-output", fmodule_output, Flag, INVALID, INVALID, nullptr, NoXarchOption, DefaultVis | CLOption | CC1Option, 0, 1603 "Save intermediate module file results when compiling a standard C++ module unit.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1604OPTION(prefix_1, "-fmodule-private", fmodule_private, Flag, gfortran_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1605OPTION(prefix_1, "-fmodulemap-allow-subdirectory-search", fmodulemap_allow_subdirectory_search, Flag, f_Group, INVALID, nullptr, NoXarchOption, DefaultVis | CC1Option, 0, 1606 "Allow to search for module maps in subdirectories of search paths", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1607OPTION(prefix_1, "-fmodules-cache-path=", fmodules_cache_path, Joined, i_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 1608 "Specify the module cache path", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "<directory>", nullptr) 1609OPTION(prefix_1, "-fmodules-codegen", fmodules_codegen, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 1610 "Generate code for uses of this module that assumes an explicit object file will be built for the module", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1611OPTION(prefix_1, "-fmodules-debuginfo", fmodules_debuginfo, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 1612 "Generate debug info for types in an object file built from this module and do not generate them elsewhere", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1613OPTION(prefix_1, "-fmodules-decluse", fmodules_decluse, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis | CLOption, 0, 1614 "Require declaration of modules used within a module", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1615OPTION(prefix_1, "-fmodules-disable-diagnostic-validation", fmodules_disable_diagnostic_validation, Flag, i_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 1616 "Disable validation of the diagnostic options when loading the module", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1617OPTION(prefix_1, "-fmodules-embed-all-files", fmodules_embed_all_files, Joined, INVALID, INVALID, nullptr, 0, CC1Option, 0, 1618 "Embed the contents of all files read by this compilation into the produced module file.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1619OPTION(prefix_1, "-fmodules-embed-file=", fmodules_embed_file_EQ, Joined, INVALID, INVALID, nullptr, 0, CC1Option, 0, 1620 "Embed the contents of the specified file into the module file being compiled.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "<file>", nullptr) 1621OPTION(prefix_1, "-fmodules-hash-content", fmodules_hash_content, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 1622 "Enable hashing the content of a module file", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1623OPTION(prefix_1, "-fmodules-ignore-macro=", fmodules_ignore_macro, Joined, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | CLOption, 0, 1624 "Ignore the definition of the given macro when building and loading modules", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1625OPTION(prefix_1, "-fmodules-local-submodule-visibility", fmodules_local_submodule_visibility, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 1626 "Enforce name visibility rules across submodules of the same top-level module.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1627OPTION(prefix_1, "-fmodules-prune-after=", fmodules_prune_after, Joined, i_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 1628 "Specify the interval (in seconds) after which a module file will be considered unused", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "<seconds>", nullptr) 1629OPTION(prefix_1, "-fmodules-prune-interval=", fmodules_prune_interval, Joined, i_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 1630 "Specify the interval (in seconds) between attempts to prune the module cache", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "<seconds>", nullptr) 1631OPTION(prefix_1, "-fmodules-search-all", fmodules_search_all, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | DefaultVis | CC1Option | CLOption, 0, 1632 "Search even non-imported modules to resolve references", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1633OPTION(prefix_1, "-fmodules-skip-diagnostic-options", fmodules_skip_diagnostic_options, Flag, f_Group, INVALID, nullptr, 0, CC1Option, 0, 1634 "Disable writing diagnostic options", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1635OPTION(prefix_1, "-fmodules-skip-header-search-paths", fmodules_skip_header_search_paths, Flag, f_Group, INVALID, nullptr, 0, CC1Option, 0, 1636 "Disable writing header search paths", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1637OPTION(prefix_1, "-fmodules-strict-context-hash", fmodules_strict_context_hash, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 1638 "Enable hashing of all compiler options that could impact the semantics of a module in an implicit build", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1639OPTION(prefix_1, "-fmodules-strict-decluse", fmodules_strict_decluse, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | CLOption, 0, 1640 "Like -fmodules-decluse but requires all headers to be in modules", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1641OPTION(prefix_1, "-fmodules-user-build-path", fmodules_user_build_path, Separate, i_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 1642 "Specify the module user build path", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "<directory>", nullptr) 1643OPTION(prefix_1, "-fmodules-validate-input-files-content", fmodules_validate_input_files_content, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, 1644 "Validate PCM input files based on content if mtime differs", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1645OPTION(prefix_1, "-fmodules-validate-once-per-build-session", fmodules_validate_once_per_build_session, Flag, i_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 1646 "Don't verify input files for the modules if the module has been successfully validated or loaded during this build session", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1647OPTION(prefix_1, "-fmodules-validate-system-headers", fmodules_validate_system_headers, Flag, i_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis, 0, 1648 "Validate the system headers that a module depends on when loading the module", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1649OPTION(prefix_1, "-fmodules", fmodules, Flag, f_Group, INVALID, nullptr, NoXarchOption, DefaultVis | CC1Option | DefaultVis | CLOption, 0, 1650 "Enable the 'modules' language feature", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1651OPTION(prefix_1, "-fmodulo-sched-allow-regmoves", fmodulo_sched_allow_regmoves, Flag, clang_ignored_gcc_optimization_f_Group, INVALID, nullptr, Ignored, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1652OPTION(prefix_1, "-fmodulo-sched", fmodulo_sched, Flag, clang_ignored_gcc_optimization_f_Group, INVALID, nullptr, Ignored, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1653OPTION(prefix_1, "-fms-compatibility-version=", fms_compatibility_version, Joined, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | CLOption, 0, 1654 "Dot-separated value representing the Microsoft compiler version number to report in _MSC_VER (0 = don't define it (default))", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1655OPTION(prefix_1, "-fms-compatibility", fms_compatibility, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | CLOption, 0, 1656 "Enable full Microsoft Visual C++ compatibility", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1657OPTION(prefix_1, "-fms-define-stdc", fms_define_stdc, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | CLOption, 0, 1658 "Define '__STDC__' to '1' in MSVC Compatibility mode", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1659OPTION(prefix_1, "-fms-extensions", fms_extensions, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | CLOption, 0, 1660 "Accept some non-standard constructs supported by the Microsoft compiler", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1661OPTION(prefix_1, "-fms-hotpatch", fms_hotpatch, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | CLOption, 0, 1662 "Ensure that all functions can be hotpatched at runtime", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1663OPTION(prefix_1, "-fms-kernel", fms_kernel, Flag, f_Group, INVALID, nullptr, 0, CC1Option, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1664OPTION(prefix_1, "-fms-memptr-rep=", fms_memptr_rep_EQ, Joined, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, "single,multiple,virtual") 1665OPTION(prefix_1, "-fms-omit-default-lib", fms_omit_default_lib, Joined, f_Group, INVALID, nullptr, 0, DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1666OPTION(prefix_1, "-fms-runtime-lib=", fms_runtime_lib_EQ, Joined, f_Group, INVALID, nullptr, 0, DefaultVis | CLOption | FlangOption, 0, 1667 "Select Windows run-time library", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, "static,static_dbg,dll,dll_dbg") 1668OPTION(prefix_1, "-fms-volatile", fms_volatile, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis, 0, 1669 "Volatile loads and stores have acquire and release semantics", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1670OPTION(prefix_1, "-fmsc-version=", fmsc_version, Joined, f_Group, INVALID, nullptr, 0, DefaultVis | CLOption, 0, 1671 "Microsoft compiler version number to report in _MSC_VER (0 = don't define it (default))", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1672OPTION(prefix_1, "-fmudflapth", fmudflapth, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1673OPTION(prefix_1, "-fmudflap", fmudflap, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1674OPTION(prefix_2, "/Fm", _SLASH_Fm, Joined, cl_Group, INVALID, nullptr, NoXarchOption, CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1675OPTION(prefix_1, "-fnative-half-arguments-and-returns", fnative_half_arguments_and_returns, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 1676 "Use the native __fp16 type for arguments and returns (and skip ABI-specific lowering)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1677OPTION(prefix_1, "-fnative-half-type", fnative_half_type, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 1678 "Use the native half type for __fp16 instead of promoting to float", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1679OPTION(prefix_1, "-fnested-functions", fnested_functions, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1680OPTION(prefix_1, "-fnew-alignment=", fnew_alignment_EQ, Joined, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 1681 "Specifies the largest alignment guaranteed by '::operator new(size_t)'", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "<align>", nullptr) 1682OPTION(prefix_1, "-fnew-alignment", anonymous_1154, Separate, INVALID, fnew_alignment_EQ, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1683OPTION(prefix_1, "-fnew-infallible", fnew_infallible, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | DefaultVis | CC1Option, 0, 1684 "Enable treating throwing global C++ operator new as always returning valid memory (annotates with __attribute__((returns_nonnull)) and throw()). This is detectable in source.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1685OPTION(prefix_1, "-fnext-runtime", fnext_runtime, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1686OPTION(prefix_1, "-fno-aapcs-bitfield-width", fno_aapcs_bitfield_width, Flag, m_arm_Features_Group, INVALID, nullptr, 0, DefaultVis | DefaultVis | CC1Option, 0, 1687 "Do not follow the AAPCS standard requirement stating that volatile bit-field width is dictated by the field container type. (ARM only).", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1688OPTION(prefix_1, "-fno-access-control", fno_access_control, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis, 0, 1689 "Disable C++ access control", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1690OPTION(prefix_1, "-fno-addrsig", fno_addrsig, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | DefaultVis | CLOption, 0, 1691 "Don't emit an address-significance table", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1692OPTION(prefix_1, "-fno-aggressive-function-elimination", fno_aggressive_function_elimination, Flag, gfortran_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1693OPTION(prefix_1, "-fno-align-commons", fno_align_commons, Flag, gfortran_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1694OPTION(prefix_1, "-fno-align-functions", fno_align_functions, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1695OPTION(prefix_1, "-fno-align-jumps", fno_align_jumps, Flag, clang_ignored_gcc_optimization_f_Group, INVALID, nullptr, Ignored, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1696OPTION(prefix_1, "-fno-align-labels", fno_align_labels, Flag, clang_ignored_gcc_optimization_f_Group, INVALID, nullptr, Ignored, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1697OPTION(prefix_1, "-fno-align-loops", fno_align_loops, Flag, clang_ignored_gcc_optimization_f_Group, INVALID, nullptr, Ignored, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1698OPTION(prefix_1, "-fno-aligned-allocation", fno_aligned_allocation, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 1699 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1700OPTION(prefix_1, "-fno-aligned-new", anonymous_1156, Flag, INVALID, fno_aligned_allocation, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1701OPTION(prefix_1, "-fno-all-intrinsics", fno_all_intrinsics, Flag, gfortran_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1702OPTION(prefix_1, "-fno-allow-editor-placeholders", fno_allow_editor_placeholders, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, 1703 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1704OPTION(prefix_1, "-fno-altivec", fno_altivec, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1705OPTION(prefix_1, "-fno-analyzed-objects-for-unparse", fno_analyzed_objects_for_unparse, Flag, f_Group, INVALID, nullptr, 0, FC1Option, 0, 1706 "Do not use the analyzed objects when unparsing", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1707OPTION(prefix_1, "-fno-android-pad-segment", fno_android_pad_segment, Flag, f_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1708OPTION(prefix_1, "-fno-apinotes-modules", fno_apinotes_modules, Flag, f_clang_Group, INVALID, nullptr, 0, DefaultVis | DefaultVis | CC1Option, 0, 1709 "Disable module-based external API notes support", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1710OPTION(prefix_1, "-fno-apinotes", fno_apinotes, Flag, f_clang_Group, INVALID, nullptr, 0, DefaultVis | DefaultVis | CC1Option, 0, 1711 "Disable external API notes support", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1712OPTION(prefix_1, "-fno-apple-pragma-pack", fno_apple_pragma_pack, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, 1713 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1714OPTION(prefix_1, "-fno-application-extension", fno_application_extension, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, 1715 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1716OPTION(prefix_1, "-fno-approx-func", fno_approx_func, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | FC1Option | FlangOption | DefaultVis, 0, 1717 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1718OPTION(prefix_1, "-fno-asm-blocks", fno_asm_blocks, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, 1719 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1720OPTION(prefix_1, "-fno-asm", fno_asm, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1721OPTION(prefix_1, "-fno-associative-math", fno_associative_math, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | FlangOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1722OPTION(prefix_1, "-fno-assume-nothrow-exception-dtor", fno_assume_nothrow_exception_dtor, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, 1723 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1724OPTION(prefix_1, "-fno-assume-sane-operator-new", fno_assume_sane_operator_new, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 1725 "Don't assume that C++'s global operator new can't alias any pointer", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1726OPTION(prefix_1, "-fno-assume-unique-vtables", fno_assume_unique_vtables, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis | CLOption, 0, 1727 "Disable optimizations based on vtable pointer identity", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1728OPTION(prefix_1, "-fno-assumptions", fno_assumptions, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis, 0, 1729 "Disable codegen and compile-time checks for C++23's [[assume]] attribute", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1730OPTION(prefix_1, "-fno-async-exceptions", fno_async_exceptions, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, 1731 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1732OPTION(prefix_1, "-fno-asynchronous-unwind-tables", fno_asynchronous_unwind_tables, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1733OPTION(prefix_1, "-fno-auto-import", fno_auto_import, Flag, f_Group, INVALID, nullptr, TargetSpecific, DefaultVis | CC1Option | DefaultVis, 0, 1734 "MinGW specific. Disable support for automatic dllimport in code generation and linking", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1735OPTION(prefix_1, "-fno-auto-profile-accurate", fno_auto_profile_accurate, Flag, f_Group, fno_profile_sample_accurate, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1736OPTION(prefix_1, "-fno-auto-profile", fno_auto_profile, Flag, f_Group, fno_profile_sample_use, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1737OPTION(prefix_1, "-fno-autolink", fno_autolink, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis, 0, 1738 "Disable generation of linker directives for automatic library linking", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1739OPTION(prefix_1, "-fno-automatic", fno_automatic, Flag, f_Group, INVALID, nullptr, 0, FC1Option | FlangOption, 0, 1740 "Implies the SAVE attribute for non-automatic local objects in subprograms unless RECURSIVE", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1741OPTION(prefix_1, "-fno-backslash", fno_backslash, Flag, f_Group, INVALID, nullptr, 0, FC1Option | FlangOption, 0, 1742 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1743OPTION(prefix_1, "-fno-backtrace", fno_backtrace, Flag, gfortran_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1744OPTION(prefix_1, "-fno-basic-block-address-map", fno_basic_block_address_map, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, 1745 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1746OPTION(prefix_1, "-fno-bitfield-type-align", fno_bitfield_type_align, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 1747 "Ignore bit-field types when aligning structures", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1748OPTION(prefix_1, "-fno-blocks", fno_blocks, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CLOption, 0, 1749 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1750OPTION(prefix_1, "-fno-borland-extensions", fno_borland_extensions, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, 1751 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1752OPTION(prefix_1, "-fno-bounds-check", fno_bounds_check, Flag, gfortran_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1753OPTION(prefix_1, "-fno-branch-count-reg", fno_branch_count_reg, Flag, clang_ignored_gcc_optimization_f_Group, INVALID, nullptr, Ignored, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1754OPTION(prefix_1, "-fno-builtin-", fno_builtin_, Joined, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | CLOption | DXCOption, 0, 1755 "Disable implicit builtin knowledge of a specific function", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1756OPTION(prefix_1, "-fno-builtin", fno_builtin, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | CLOption | DXCOption, 0, 1757 "Disable implicit builtin knowledge of functions", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1758OPTION(prefix_1, "-fno-c++-static-destructors", fno_cxx_static_destructors, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis, 0, 1759 "Disable C++ static destructor registration", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1760OPTION(prefix_1, "-fno-caller-saves", fno_caller_saves, Flag, clang_ignored_gcc_optimization_f_Group, INVALID, nullptr, Ignored, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1761OPTION(prefix_1, "-fno-caret-diagnostics", fno_caret_diagnostics, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis, 0, 1762 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1763OPTION(prefix_1, "-fno-char8_t", fno_char8__t, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | DefaultVis | CC1Option, 0, 1764 "Disable C++ builtin type char8_t", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1765OPTION(prefix_1, "-fno-check-array-temporaries", fno_check_array_temporaries, Flag, gfortran_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1766OPTION(prefix_1, "-fno-check-new", fno_check_new, Flag, INVALID, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 1767 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1768OPTION(prefix_1, "-fno-clangir", fno_clangir, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis | CC1Option, 0, 1769 "Use the AST -> LLVM pipeline to compile", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1770OPTION(prefix_1, "-fno-color-diagnostics", fno_color_diagnostics, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CLOption | DXCOption | FlangOption, 0, 1771 "Disable colors in diagnostics", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1772OPTION(prefix_1, "-fno-common", fno_common, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 1773 "Compile common globals like normal definitions", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1774OPTION(prefix_1, "-fno-complete-member-pointers", fno_complete_member_pointers, Flag, f_clang_Group, INVALID, nullptr, 0, DefaultVis | DefaultVis | CLOption, 0, 1775 "Do not require member pointer base types to be complete if they would be significant under the Microsoft ABI", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1776OPTION(prefix_1, "-fno-const-strings", fno_const_strings, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 1777 "Don't use a const qualified type for string literals in C and ObjC", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1778OPTION(prefix_1, "-fno-constant-cfstrings", fno_constant_cfstrings, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis, 0, 1779 "Disable creation of CodeFoundation-type constant strings", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1780OPTION(prefix_1, "-fno-convergent-functions", fno_convergent_functions, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | DefaultVis, 0, 1781 "Assume all functions may be convergent.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1782OPTION(prefix_1, "-fno-coro-aligned-allocation", fno_coro_aligned_allocation, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, 1783 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1784OPTION(prefix_1, "-fno-coroutines", fno_coroutines, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, 1785 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1786OPTION(prefix_1, "-fno-coverage-mapping", fno_coverage_mapping, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | DefaultVis | CLOption, 0, 1787 "Disable code coverage analysis", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1788OPTION(prefix_1, "-fno-coverage-mcdc", fno_mcdc_coverage, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | DefaultVis | CLOption, 0, 1789 "Disable MC/DC coverage criteria", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1790OPTION(prefix_1, "-fno-crash-diagnostics", fno_crash_diagnostics, Flag, f_clang_Group, gen_reproducer_eq, "off\0", NoArgumentUnused, DefaultVis | CLOption | DXCOption, 0, 1791 "Disable auto-generation of preprocessed source files and a script for reproduction during a clang crash", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1792OPTION(prefix_1, "-fno-cray-pointer", fno_cray_pointer, Flag, gfortran_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1793OPTION(prefix_1, "-fno-cuda-approx-transcendentals", anonymous_2171, Flag, INVALID, fno_gpu_approx_transcendentals, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1794OPTION(prefix_1, "-fno-cuda-flush-denormals-to-zero", fno_cuda_flush_denormals_to_zero, Flag, cuda_Group, fno_gpu_flush_denormals_to_zero, nullptr, 0, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1795OPTION(prefix_1, "-fno-cuda-host-device-constexpr", fno_cuda_host_device_constexpr, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 1796 "Don't treat unattributed constexpr functions as __host__ __device__.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1797OPTION(prefix_1, "-fno-cuda-rdc", anonymous_152, Flag, cuda_Group, fno_gpu_rdc, nullptr, 0, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1798OPTION(prefix_1, "-fno-cuda-short-ptr", fno_cuda_short_ptr, Flag, cuda_Group, INVALID, nullptr, 0, DefaultVis | DefaultVis | CLOption, 0, 1799 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1800OPTION(prefix_1, "-fno-cx-fortran-rules", fno_cx_fortran_rules, Flag, INVALID, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis, 0, 1801 "Range reduction is disabled for complex arithmetic operations", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1802OPTION(prefix_1, "-fno-cx-limited-range", fno_cx_limited_range, Flag, INVALID, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis, 0, 1803 "Basic algebraic expansions of complex arithmetic operations involving are disabled.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1804OPTION(prefix_1, "-fno-cxx-exceptions", fno_cxx_exceptions, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, 1805 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1806OPTION(prefix_1, "-fno-cxx-modules", fno_cxx_modules, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 1807 "Disable modules for C++", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1808OPTION(prefix_1, "-fno-d-lines-as-code", fno_d_lines_as_code, Flag, gfortran_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1809OPTION(prefix_1, "-fno-d-lines-as-comments", fno_d_lines_as_comments, Flag, gfortran_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1810OPTION(prefix_1, "-fno-data-sections", fno_data_sections, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, 1811 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1812OPTION(prefix_1, "-fno-debug-info-for-profiling", fno_debug_info_for_profiling, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, 1813 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1814OPTION(prefix_1, "-fno-debug-macro", fno_debug_macro, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CLOption | DXCOption, 0, 1815 "Do not emit macro debug information", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1816OPTION(prefix_1, "-fno-debug-pass-manager", fno_debug_pass_manager, Flag, INVALID, INVALID, nullptr, 0, CC1Option | FC1Option, 0, 1817 "Disables debug printing for the new pass manager", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1818OPTION(prefix_1, "-fno-debug-ranges-base-address", fno_debug_ranges_base_address, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, 1819 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1820OPTION(prefix_1, "-fno-debug-types-section", fno_debug_types_section, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1821OPTION(prefix_1, "-fno-declspec", fno_declspec, Flag, f_clang_Group, INVALID, nullptr, 0, DefaultVis | DefaultVis | CC1Option, 0, 1822 "Disallow __declspec as a keyword", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1823OPTION(prefix_1, "-fno-default-inline", fno_default_inline, Flag, clang_ignored_gcc_optimization_f_Group, INVALID, nullptr, Ignored, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1824OPTION(prefix_1, "-fno-defer-pop", anonymous_544, Flag, clang_ignored_gcc_optimization_f_Group, INVALID, nullptr, Ignored, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1825OPTION(prefix_1, "-fno-define-target-os-macros", fno_define_target_os_macros, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 1826 "Disable predefined target OS macros", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1827OPTION(prefix_1, "-fno-delayed-template-parsing", fno_delayed_template_parsing, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CLOption, 0, 1828 "Disable delayed template parsing", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1829OPTION(prefix_1, "-fno-delete-null-pointer-checks", fno_delete_null_pointer_checks, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis | CLOption, 0, 1830 "Do not treat usage of null pointers as undefined behavior", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1831OPTION(prefix_1, "-fno-deprecated-macro", fno_deprecated_macro, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 1832 "Undefines the __DEPRECATED macro", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1833OPTION(prefix_1, "-fno-devirtualize-speculatively", fno_devirtualize_speculatively, Flag, clang_ignored_gcc_optimization_f_Group, INVALID, nullptr, Ignored, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1834OPTION(prefix_1, "-fno-devirtualize", fno_devirtualize, Flag, clang_ignored_gcc_optimization_f_Group, INVALID, nullptr, Ignored, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1835OPTION(prefix_1, "-fno-diagnostics-color", anonymous_408, Flag, f_Group, fno_color_diagnostics, nullptr, 0, DefaultVis | CLOption | DXCOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1836OPTION(prefix_1, "-fno-diagnostics-fixit-info", fno_diagnostics_fixit_info, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 1837 "Do not include fixit information in diagnostics", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1838OPTION(prefix_1, "-fno-diagnostics-show-hotness", fno_diagnostics_show_hotness, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, 1839 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1840OPTION(prefix_1, "-fno-diagnostics-show-line-numbers", fno_diagnostics_show_line_numbers, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis, 0, 1841 "Show line numbers in diagnostic code snippets", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1842OPTION(prefix_1, "-fno-diagnostics-show-note-include-stack", fno_diagnostics_show_note_include_stack, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 1843 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1844OPTION(prefix_1, "-fno-diagnostics-show-option", fno_diagnostics_show_option, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis, 0, 1845 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1846OPTION(prefix_1, "-fno-diagnostics-use-presumed-location", fno_diagnostics_use_presumed_location, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 1847 "Ignore #line directives when displaying diagnostic locations", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1848OPTION(prefix_1, "-fno-digraphs", fno_digraphs, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | DefaultVis | CC1Option, 0, 1849 "Disallow alternative token representations '<:', ':>', '<%', '%>', '%:', '%:%:'", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1850OPTION(prefix_1, "-fno-direct-access-external-data", fno_direct_access_external_data, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 1851 "Use GOT indirection to reference external data symbols", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1852OPTION(prefix_1, "-fno-directives-only", fno_directives_only, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, 1853 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1854OPTION(prefix_1, "-fno-disable-block-signature-string", fno_disable_block_signature_string, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 1855 "Don't disable block signature string)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1856OPTION(prefix_1, "-fno-discard-value-names", fno_discard_value_names, Flag, f_clang_Group, INVALID, nullptr, 0, DefaultVis | DXCOption, 0, 1857 "Do not discard value names in LLVM IR", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1858OPTION(prefix_1, "-fno-dllexport-inlines", fno_dllexport_inlines, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1859OPTION(prefix_1, "-fno-dollar-ok", fno_dollar_ok, Flag, gfortran_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1860OPTION(prefix_1, "-fno-dollars-in-identifiers", fno_dollars_in_identifiers, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | DefaultVis | CC1Option, 0, 1861 "Disallow '$' in identifiers", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1862OPTION(prefix_1, "-fno-double-square-bracket-attributes", fno_double_square_bracket_attributes, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, 1863 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1864OPTION(prefix_1, "-fno-dump-fortran-optimized", fno_dump_fortran_optimized, Flag, gfortran_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1865OPTION(prefix_1, "-fno-dump-fortran-original", fno_dump_fortran_original, Flag, gfortran_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1866OPTION(prefix_1, "-fno-dump-parse-tree", fno_dump_parse_tree, Flag, gfortran_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1867OPTION(prefix_1, "-fno-dwarf-directory-asm", fno_dwarf_directory_asm, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis, 0, 1868 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1869OPTION(prefix_1, "-fno-dwarf2-cfi-asm", fno_dwarf2_cfi_asm, Flag, clang_ignored_f_Group, INVALID, nullptr, Ignored, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1870OPTION(prefix_1, "-fno-elide-constructors", fno_elide_constructors, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis, 0, 1871 "Disable C++ copy constructor elision", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1872OPTION(prefix_1, "-fno-elide-type", fno_elide_type, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 1873 "Do not elide types when printing diagnostics", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1874OPTION(prefix_1, "-fno-eliminate-unused-debug-symbols", fno_eliminate_unused_debug_symbols, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1875OPTION(prefix_1, "-fno-eliminate-unused-debug-types", fno_eliminate_unused_debug_types, Flag, f_Group, INVALID, nullptr, 0, CC1Option | DefaultVis | CLOption, 0, 1876 "Emit debug info for defined but unused types", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1877OPTION(prefix_1, "-fno-emit-compact-unwind-non-canonical", fno_emit_compact_unwind_non_canonical, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, 1878 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1879OPTION(prefix_1, "-fno-emulated-tls", fno_emulated_tls, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, 1880 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1881OPTION(prefix_1, "-fno-escaping-block-tail-calls", fno_escaping_block_tail_calls, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis, 0, 1882 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1883OPTION(prefix_1, "-fno-exceptions", fno_exceptions, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | DefaultVis, 0, 1884 "Disable support for exception handling", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1885OPTION(prefix_1, "-fno-expensive-optimizations", anonymous_542, Flag, clang_ignored_gcc_optimization_f_Group, INVALID, nullptr, Ignored, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1886OPTION(prefix_1, "-fno-experimental-bounds-safety", fno_bounds_safety, Flag, f_Group, INVALID, nullptr, 0, CC1Option | CC1Option, 0, 1887 "Disable experimental bounds safety extension for C", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1888OPTION(prefix_1, "-fno-experimental-isel", fno_experimental_isel, Flag, f_clang_Group, fno_global_isel, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1889OPTION(prefix_1, "-fno-experimental-late-parse-attributes", fno_experimental_late_parse_attributes, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | DefaultVis | CC1Option, 0, 1890 "Disable experimental late parsing of attributes", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1891OPTION(prefix_1, "-fno-experimental-library", fno_experimental_library, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, 1892 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1893OPTION(prefix_1, "-fno-experimental-omit-vtable-rtti", fno_experimental_omit_vtable_rtti, Flag, f_Group, INVALID, nullptr, 0, CC1Option | CC1Option, 0, 1894 "Do not omit the RTTI component from virtual tables", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1895OPTION(prefix_1, "-fno-experimental-relative-c++-abi-vtables", fno_experimental_relative_cxx_abi_vtables, Flag, f_clang_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 1896 "Do not use the experimental C++ class ABI for classes with virtual tables", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1897OPTION(prefix_1, "-fno-experimental-sanitize-metadata=", fno_experimental_sanitize_metadata_EQ, CommaJoined, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | CLOption, 0, 1898 "Disable emitting metadata for binary analysis sanitizers", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1899OPTION(prefix_1, "-fno-extended-identifiers", anonymous_546, Flag, f_Group, INVALID, nullptr, Unsupported, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1900OPTION(prefix_1, "-fno-external-blas", fno_external_blas, Flag, gfortran_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1901OPTION(prefix_1, "-fno-f2c", fno_f2c, Flag, gfortran_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1902OPTION(prefix_1, "-fno-fast-math", fno_fast_math, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | FC1Option | FlangOption | DefaultVis, 0, 1903 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1904OPTION(prefix_1, "-fno-fat-lto-objects", fno_fat_lto_objects, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis | CC1Option, 0, 1905 "Disable fat LTO object support", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1906OPTION(prefix_1, "-fno-file-reproducible", fno_file_reproducible, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CLOption | CC1Option, 0, 1907 "Use the host's platform-specific path separator character when expanding the __FILE__ macro", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1908OPTION(prefix_1, "-fno-fine-grained-bitfield-accesses", fno_fine_grained_bitfield_accesses, Flag, f_clang_Group, INVALID, nullptr, 0, DefaultVis | DefaultVis | CC1Option, 0, 1909 "Use large-integer access for consecutive bitfield runs.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1910OPTION(prefix_1, "-fno-finite-loops", fno_finite_loops, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 1911 "Do not assume that any loop is finite.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1912OPTION(prefix_1, "-fno-finite-math-only", fno_finite_math_only, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0, 1913 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1914OPTION(prefix_1, "-fno-fixed-point", fno_fixed_point, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | DefaultVis, 0, 1915 "Disable fixed point types", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1916OPTION(prefix_1, "-fno-float-store", fno_float_store, Flag, clang_ignored_gcc_optimization_f_Group, INVALID, nullptr, Ignored, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1917OPTION(prefix_1, "-fno-for-scope", fno_for_scope, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1918OPTION(prefix_1, "-fno-force-dwarf-frame", fno_force_dwarf_frame, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, 1919 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1920OPTION(prefix_1, "-fno-force-emit-vtables", fno_force_emit_vtables, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CLOption, 0, 1921 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1922OPTION(prefix_1, "-fno-force-enable-int128", fno_force_enable_int128, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | DefaultVis, 0, 1923 "Disable support for int128_t type", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1924OPTION(prefix_1, "-fno-friend-injection", fno_friend_injection, Flag, clang_ignored_f_Group, INVALID, nullptr, Ignored, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1925OPTION(prefix_1, "-fno-frontend-optimize", fno_frontend_optimize, Flag, gfortran_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1926OPTION(prefix_1, "-fno-function-attribute-list", fno_function_attribute_list, Flag, clang_ignored_f_Group, INVALID, nullptr, Ignored, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1927OPTION(prefix_1, "-fno-function-sections", fno_function_sections, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, 1928 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1929OPTION(prefix_1, "-fno-gcse-after-reload", fno_gcse_after_reload, Flag, clang_ignored_gcc_optimization_f_Group, INVALID, nullptr, Ignored, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1930OPTION(prefix_1, "-fno-gcse-las", fno_gcse_las, Flag, clang_ignored_gcc_optimization_f_Group, INVALID, nullptr, Ignored, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1931OPTION(prefix_1, "-fno-gcse-sm", fno_gcse_sm, Flag, clang_ignored_gcc_optimization_f_Group, INVALID, nullptr, Ignored, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1932OPTION(prefix_1, "-fno-gcse", fno_gcse, Flag, clang_ignored_gcc_optimization_f_Group, INVALID, nullptr, Ignored, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1933OPTION(prefix_1, "-fno-global-isel", fno_global_isel, Flag, f_clang_Group, INVALID, nullptr, 0, DefaultVis, 0, 1934 "Disables the global instruction selector", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1935OPTION(prefix_1, "-fno-gnu-inline-asm", fno_gnu_inline_asm, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis, 0, 1936 "Disable GNU style inline asm", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1937OPTION(prefix_1, "-fno-gnu-keywords", fno_gnu_keywords, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 1938 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1939OPTION(prefix_1, "-fno-gnu89-inline", fno_gnu89_inline, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, 1940 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1941OPTION(prefix_1, "-fno-gnu", fno_gnu, Flag, clang_ignored_f_Group, INVALID, nullptr, Ignored, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1942OPTION(prefix_1, "-fno-gpu-allow-device-init", fno_gpu_allow_device_init, Flag, hip_Group, INVALID, nullptr, 0, DefaultVis | DefaultVis | DefaultVis | CLOption, 0, 1943 "Don't allow device side init function in HIP (experimental)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1944OPTION(prefix_1, "-fno-gpu-approx-transcendentals", fno_gpu_approx_transcendentals, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | DefaultVis, 0, 1945 "Don't use approximate transcendental functions", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1946OPTION(prefix_1, "-fno-gpu-defer-diag", fno_gpu_defer_diag, Flag, offload_Group, INVALID, nullptr, 0, DefaultVis | DefaultVis | DefaultVis | CLOption, 0, 1947 "Don't defer host/device related diagnostic messages for CUDA/HIP", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1948OPTION(prefix_1, "-fno-gpu-exclude-wrong-side-overloads", fno_gpu_exclude_wrong_side_overloads, Flag, offload_Group, INVALID, nullptr, HelpHidden, DefaultVis | DefaultVis | CLOption, 0, 1949 "Exclude wrong side overloads only if there are same side overloads in overloading resolution for CUDA/HIP", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1950OPTION(prefix_1, "-fno-gpu-flush-denormals-to-zero", fno_gpu_flush_denormals_to_zero, Flag, offload_Group, INVALID, nullptr, 0, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1951OPTION(prefix_1, "-fno-gpu-rdc", fno_gpu_rdc, Flag, offload_Group, INVALID, nullptr, 0, DefaultVis | DefaultVis | CLOption, 0, 1952 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1953OPTION(prefix_1, "-fno-gpu-sanitize", fno_gpu_sanitize, Flag, offload_Group, INVALID, nullptr, 0, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1954OPTION(prefix_1, "-fno-hip-emit-relocatable", fno_hip_emit_relocatable, Flag, hip_Group, INVALID, nullptr, 0, DefaultVis | DefaultVis | CLOption, 0, 1955 "Do not override toolchain to compile HIP source to relocatable", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1956OPTION(prefix_1, "-fno-hip-fp32-correctly-rounded-divide-sqrt", fno_hip_fp32_correctly_rounded_divide_sqrt, Flag, hip_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis | DefaultVis | CLOption, 0, 1957 "Don't specify that single precision floating-point divide and sqrt used in the program source are correctly rounded (HIP device compilation only)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1958OPTION(prefix_1, "-fno-hip-kernel-arg-name", fno_hip_kernel_arg_name, Flag, hip_Group, INVALID, nullptr, 0, DefaultVis | DefaultVis | DefaultVis | CLOption, 0, 1959 "Don't specify that kernel argument names are preserved (HIP only)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1960OPTION(prefix_1, "-fno-hip-new-launch-api", fno_hip_new_launch_api, Flag, hip_Group, INVALID, nullptr, 0, DefaultVis | DefaultVis | DefaultVis | CLOption, 0, 1961 "Don't use new kernel launching API for HIP", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1962OPTION(prefix_1, "-fno-honor-infinites", anonymous_738, Flag, INVALID, fno_honor_infinities, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1963OPTION(prefix_1, "-fno-honor-infinities", fno_honor_infinities, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | FlangOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1964OPTION(prefix_1, "-fno-honor-nans", fno_honor_nans, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | FlangOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1965OPTION(prefix_1, "-fno-ident", anonymous_40, Flag, f_Group, Qn, nullptr, 0, DefaultVis | CLOption | DXCOption | CC1Option, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1966OPTION(prefix_1, "-fno-implement-inlines", fno_implement_inlines, Flag, clang_ignored_f_Group, INVALID, nullptr, Ignored, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1967OPTION(prefix_1, "-fno-implicit-module-maps", fno_implicit_module_maps, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1968OPTION(prefix_1, "-fno-implicit-modules-use-lock", fno_fimplicit_modules_use_lock, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 1969 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1970OPTION(prefix_1, "-fno-implicit-modules", fno_implicit_modules, Flag, f_Group, INVALID, nullptr, NoXarchOption, DefaultVis | CC1Option | DefaultVis | CLOption, 0, 1971 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1972OPTION(prefix_1, "-fno-implicit-none", fno_implicit_none, Flag, f_Group, INVALID, nullptr, 0, FC1Option | FlangOption, 0, 1973 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1974OPTION(prefix_1, "-fno-implicit-templates", fno_implicit_templates, Flag, clang_ignored_f_Group, INVALID, nullptr, Ignored, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1975OPTION(prefix_1, "-fno-init-local-zero", fno_init_local_zero, Flag, gfortran_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1976OPTION(prefix_1, "-fno-inline-functions-called-once", fno_inline_functions_called_once, Flag, clang_ignored_gcc_optimization_f_Group, INVALID, nullptr, Ignored, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1977OPTION(prefix_1, "-fno-inline-functions", fno_inline_functions, Flag, f_clang_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1978OPTION(prefix_1, "-fno-inline-limit", fno_finline_limit, Flag, clang_ignored_gcc_optimization_f_Group, INVALID, nullptr, Ignored, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1979OPTION(prefix_1, "-fno-inline-small-functions", fno_inline_small_functions, Flag, clang_ignored_gcc_optimization_f_Group, INVALID, nullptr, Ignored, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1980OPTION(prefix_1, "-fno-inline", fno_inline, Flag, f_clang_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1981OPTION(prefix_1, "-fno-integer-4-integer-8", fno_integer_4_integer_8, Flag, gfortran_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1982OPTION(prefix_1, "-fno-integrated-as", fno_integrated_as, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | FlangOption | DefaultVis, 0, 1983 "Disable the integrated assembler", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1984OPTION(prefix_1, "-fno-integrated-cc1", fno_integrated_cc1, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CLOption | DXCOption, 0, 1985 "Spawn a separate process for each cc1", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1986OPTION(prefix_1, "-fno-integrated-objemitter", fno_integrated_objemitter, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CLOption, 0, 1987 "Use external machine object code emitter.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1988OPTION(prefix_1, "-fno-ipa-cp", fno_ipa_cp, Flag, clang_ignored_gcc_optimization_f_Group, INVALID, nullptr, Ignored, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1989OPTION(prefix_1, "-fno-ivopts", fno_ivopts, Flag, clang_ignored_gcc_optimization_f_Group, INVALID, nullptr, Ignored, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1990OPTION(prefix_1, "-fno-jmc", fno_jmc, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, 1991 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1992OPTION(prefix_1, "-fno-jump-tables", fno_jump_tables, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis, 0, 1993 "Do not use jump tables for lowering switches", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1994OPTION(prefix_1, "-fno-keep-inline-functions", fno_anonymous_1757, Flag, clang_ignored_gcc_optimization_f_Group, INVALID, nullptr, Ignored, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1995OPTION(prefix_1, "-fno-keep-persistent-storage-variables", fno_keep_persistent_storage_variables, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, 1996 "Disable keeping all variables that have a persistent storage duration, including global, static and thread-local variables, to guarantee that they can be directly addressed", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1997OPTION(prefix_1, "-fno-keep-static-consts", fno_keep_static_consts, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, 1998 "Don't keep static const variables even if unused", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 1999OPTION(prefix_1, "-fno-keep-system-includes", fno_keep_system_includes, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, 2000 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2001OPTION(prefix_1, "-fno-knr-functions", fno_knr_functions, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | CLOption, 0, 2002 "Disable support for K&R C function declarations", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2003OPTION(prefix_1, "-fno-lax-vector-conversions", fno_lax_vector_conversions, Flag, f_Group, flax_vector_conversions_EQ, "none\0", 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2004OPTION(prefix_1, "-fno-limit-debug-info", fno_limit_debug_info, Flag, INVALID, fstandalone_debug, nullptr, 0, DefaultVis | CLOption | DXCOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2005OPTION(prefix_1, "-fno-logical-abbreviations", fno_logical_abbreviations, Flag, f_Group, INVALID, nullptr, 0, FC1Option | FlangOption, 0, 2006 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2007OPTION(prefix_1, "-fno-lto-unit", fno_lto_unit, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 2008 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2009OPTION(prefix_1, "-fno-lto", fno_lto, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CLOption | DXCOption | CC1Option | FlangOption, 0, 2010 "Disable LTO mode (default)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2011OPTION(prefix_1, "-fno-math-builtin", fno_math_builtin, Flag, INVALID, INVALID, nullptr, 0, CC1Option | CC1AsOption, 0, 2012 "Disable implicit builtin knowledge of math functions", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2013OPTION(prefix_1, "-fno-math-errno", fno_math_errno, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, 2014 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2015OPTION(prefix_1, "-fno-max-identifier-length", fno_max_identifier_length, Flag, gfortran_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2016OPTION(prefix_1, "-fno-max-type-align", fno_max_type_align, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2017OPTION(prefix_1, "-fno-memory-profile", fno_memory_profile, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, 2018 "Disable heap memory profiling", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2019OPTION(prefix_1, "-fno-merge-all-constants", fno_merge_all_constants, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | DefaultVis, 0, 2020 "Disallow merging of constants", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2021OPTION(prefix_1, "-fno-merge-constants", fno_merge_constants, Flag, clang_ignored_gcc_optimization_f_Group, INVALID, nullptr, Ignored, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2022OPTION(prefix_1, "-fno-minimize-whitespace", fno_minimize_whitespace, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, 2023 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2024OPTION(prefix_1, "-fno-module-file-deps", fno_module_file_deps, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2025OPTION(prefix_1, "-fno-module-maps", fno_module_maps, Flag, INVALID, fno_implicit_module_maps, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2026OPTION(prefix_1, "-fno-module-private", fno_module_private, Flag, gfortran_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2027OPTION(prefix_1, "-fno-modulemap-allow-subdirectory-search", fno_modulemap_allow_subdirectory_search, Flag, f_Group, INVALID, nullptr, NoXarchOption, DefaultVis | CC1Option, 0, 2028 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2029OPTION(prefix_1, "-fno-modules-check-relocated", fno_modules_check_relocated, Joined, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 2030 "Skip checks for relocated modules when loading PCM files", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2031OPTION(prefix_1, "-fno-modules-decluse", fno_modules_decluse, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CLOption, 0, 2032 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2033OPTION(prefix_1, "-fno-modules-error-recovery", fno_modules_error_recovery, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 2034 "Do not automatically import modules for error recovery", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2035OPTION(prefix_1, "-fno-modules-global-index", fno_modules_global_index, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 2036 "Do not automatically generate or update the global module index", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2037OPTION(prefix_1, "-fno-modules-prune-non-affecting-module-map-files", fno_modules_prune_non_affecting_module_map_files, Flag, f_Group, INVALID, nullptr, 0, CC1Option, 0, 2038 "Do not prune non-affecting module map files when writing module files", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2039OPTION(prefix_1, "-fno-modules-search-all", fno_modules_search_all, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | CLOption, 0, 2040 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2041OPTION(prefix_1, "-fno-modules-share-filemanager", fno_modules_share_filemanager, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 2042 "Disable sharing the FileManager when building a module implicitly", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2043OPTION(prefix_1, "-fno-modules-skip-diagnostic-options", fno_modules_skip_diagnostic_options, Flag, f_Group, INVALID, nullptr, 0, CC1Option, 0, 2044 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2045OPTION(prefix_1, "-fno-modules-skip-header-search-paths", fno_modules_skip_header_search_paths, Flag, f_Group, INVALID, nullptr, 0, CC1Option, 0, 2046 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2047OPTION(prefix_1, "-fno-modules-validate-system-headers", fno_modules_validate_system_headers, Flag, i_Group, INVALID, nullptr, 0, DefaultVis, 0, 2048 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2049OPTION(prefix_1, "-fno-modules-validate-textual-header-includes", fno_modules_validate_textual_header_includes, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 2050 "Do not enforce -fmodules-decluse and private header restrictions for textual headers. This flag will be removed in a future Clang release.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2051OPTION(prefix_1, "-fno-modules", fno_modules, Flag, f_Group, INVALID, nullptr, NoXarchOption, DefaultVis | CLOption, 0, 2052 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2053OPTION(prefix_1, "-fno-modulo-sched-allow-regmoves", fno_modulo_sched_allow_regmoves, Flag, clang_ignored_gcc_optimization_f_Group, INVALID, nullptr, Ignored, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2054OPTION(prefix_1, "-fno-modulo-sched", fno_modulo_sched, Flag, clang_ignored_gcc_optimization_f_Group, INVALID, nullptr, Ignored, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2055OPTION(prefix_1, "-fno-ms-compatibility", fno_ms_compatibility, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2056OPTION(prefix_1, "-fno-ms-extensions", fno_ms_extensions, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2057OPTION(prefix_1, "-fno-ms-volatile", fno_ms_volatile, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, 2058 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2059OPTION(prefix_1, "-fno-new-infallible", fno_new_infallible, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | DefaultVis | CC1Option, 0, 2060 "Disable treating throwing global C++ operator new as always returning valid memory (annotates with __attribute__((returns_nonnull)) and throw()). This is detectable in source.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2061OPTION(prefix_1, "-fno-non-call-exceptions", fno_non_call_exceptions, Flag, clang_ignored_f_Group, INVALID, nullptr, Ignored, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2062OPTION(prefix_1, "-fno-objc-arc-exceptions", fno_objc_arc_exceptions, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, 2063 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2064OPTION(prefix_1, "-fno-objc-arc", fno_objc_arc, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2065OPTION(prefix_1, "-fno-objc-avoid-heapify-local-blocks", fno_objc_avoid_heapify_local_blocks, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 2066 "Don't try to avoid heapifying local blocks", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2067OPTION(prefix_1, "-fno-objc-convert-messages-to-runtime-calls", fno_objc_convert_messages_to_runtime_calls, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis, 0, 2068 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2069OPTION(prefix_1, "-fno-objc-encode-cxx-class-template-spec", fno_objc_encode_cxx_class_template_spec, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, 2070 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2071OPTION(prefix_1, "-fno-objc-exceptions", fno_objc_exceptions, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, 2072 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2073OPTION(prefix_1, "-fno-objc-infer-related-result-type", fno_objc_infer_related_result_type, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis, 0, 2074 "do not infer Objective-C related result type based on method family", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2075OPTION(prefix_1, "-fno-objc-legacy-dispatch", fno_objc_legacy_dispatch, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2076OPTION(prefix_1, "-fno-objc-nonfragile-abi", fno_objc_nonfragile_abi, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2077OPTION(prefix_1, "-fno-objc-weak", fno_objc_weak, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2078OPTION(prefix_1, "-fno-offload-implicit-host-device-templates", fno_offload_implicit_host_device_templates, Flag, offload_Group, INVALID, nullptr, 0, DefaultVis | DefaultVis | CLOption, 0, 2079 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2080OPTION(prefix_1, "-fno-offload-lto", fno_offload_lto, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CLOption, 0, 2081 "Disable LTO mode (default) for offload compilation", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2082OPTION(prefix_1, "-fno-offload-uniform-block", fno_offload_uniform_block, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis, 0, 2083 "Don't assume that kernels are launched with uniform block sizes (default true for CUDA/HIP and false otherwise)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2084OPTION(prefix_1, "-fno-offload-via-llvm", fno_offload_via_llvm, Flag, offload_Group, INVALID, nullptr, 0, DefaultVis | DefaultVis | DefaultVis | CLOption, 0, 2085 "Don't use LLVM/Offload as portable offloading runtime.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2086OPTION(prefix_1, "-fno-omit-frame-pointer", fno_omit_frame_pointer, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | FlangOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2087OPTION(prefix_1, "-fno-openmp-assume-teams-oversubscription", fno_openmp_assume_teams_oversubscription, Flag, f_Group, INVALID, nullptr, NoArgumentUnused | HelpHidden, DefaultVis | CC1Option | FC1Option | FlangOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2088OPTION(prefix_1, "-fno-openmp-assume-threads-oversubscription", fno_openmp_assume_threads_oversubscription, Flag, f_Group, INVALID, nullptr, NoArgumentUnused | HelpHidden, DefaultVis | CC1Option | FC1Option | FlangOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2089OPTION(prefix_1, "-fno-openmp-cuda-mode", fno_openmp_cuda_mode, Flag, f_Group, INVALID, nullptr, NoArgumentUnused | HelpHidden, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2090OPTION(prefix_1, "-fno-openmp-extensions", fno_openmp_extensions, Flag, f_Group, INVALID, nullptr, NoArgumentUnused, DefaultVis | CC1Option | DefaultVis, 0, 2091 "Disable all Clang extensions for OpenMP directives and clauses", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2092OPTION(prefix_1, "-fno-openmp-new-driver", fno_openmp_new_driver, Flag, INVALID, INVALID, nullptr, HelpHidden, DefaultVis, 0, 2093 "Don't use the new driver for OpenMP offloading.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2094OPTION(prefix_1, "-fno-openmp-optimistic-collapse", fno_openmp_optimistic_collapse, Flag, f_Group, INVALID, nullptr, NoArgumentUnused | HelpHidden, 0, 0, 2095 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2096OPTION(prefix_1, "-fno-openmp-simd", fno_openmp_simd, Flag, f_Group, INVALID, nullptr, NoArgumentUnused, DefaultVis | CC1Option, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2097OPTION(prefix_1, "-fno-openmp-target-debug", fno_openmp_target_debug, Flag, f_Group, INVALID, nullptr, NoArgumentUnused, DefaultVis | CC1Option | FC1Option | FlangOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2098OPTION(prefix_1, "-fno-openmp-target-jit", fno_openmp_target_jit, Flag, f_Group, INVALID, nullptr, NoArgumentUnused | HelpHidden, DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2099OPTION(prefix_1, "-fno-openmp-target-new-runtime", fno_openmp_target_new_runtime, Flag, f_Group, INVALID, nullptr, HelpHidden, DefaultVis | CC1Option, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2100OPTION(prefix_1, "-fno-openmp", fno_openmp, Flag, f_Group, INVALID, nullptr, NoArgumentUnused, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2101OPTION(prefix_1, "-fno-operator-names", fno_operator_names, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis, 0, 2102 "Do not treat C++ operator name keywords as synonyms for operators", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2103OPTION(prefix_1, "-fno-optimize-sibling-calls", fno_optimize_sibling_calls, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 2104 "Disable tail call optimization, keeping the call stack accurate", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2105OPTION(prefix_1, "-fno-pack-derived", fno_pack_derived, Flag, gfortran_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2106OPTION(prefix_1, "-fno-pack-struct", fno_pack_struct, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2107OPTION(prefix_1, "-fno-padding-on-unsigned-fixed-point", fno_padding_on_unsigned_fixed_point, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 2108 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2109OPTION(prefix_1, "-fno-pascal-strings", fno_pascal_strings, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, 2110 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2111OPTION(prefix_1, "-fno-pch-codegen", fno_pch_codegen, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, 2112 "Do not generate code for uses of this PCH that assumes an explicit object file will be built for the PCH", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2113OPTION(prefix_1, "-fno-pch-debuginfo", fno_pch_debuginfo, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, 2114 "Do not generate debug info for types in an object file built from this PCH and do not generate them elsewhere", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2115OPTION(prefix_1, "-fno-pch-instantiate-templates", fno_pch_instantiate_templates, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | CLOption, 0, 2116 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2117OPTION(prefix_1, "-fno-pch-timestamp", fno_pch_timestamp, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 2118 "Disable inclusion of timestamp in precompiled headers", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2119OPTION(prefix_1, "-fno-peel-loops", fno_peel_loops, Flag, clang_ignored_gcc_optimization_f_Group, INVALID, nullptr, Ignored, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2120OPTION(prefix_1, "-fno-permissive", fno_permissive, Flag, clang_ignored_f_Group, INVALID, nullptr, Ignored, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2121OPTION(prefix_1, "-fno-PIC", fno_PIC, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | FlangOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2122OPTION(prefix_1, "-fno-pic", fno_pic, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | FlangOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2123OPTION(prefix_1, "-fno-PIE", fno_PIE, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | FlangOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2124OPTION(prefix_1, "-fno-pie", fno_pie, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | FlangOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2125OPTION(prefix_1, "-fno-plt", fno_plt, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis, 0, 2126 "Use GOT indirection instead of PLT to make external function calls (x86 only)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2127OPTION(prefix_1, "-fno-pointer-tbaa", fno_pointer_tbaa, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2128OPTION(prefix_1, "-fno-ppc-native-vector-element-order", fno_ppc_native_vec_elem_order, Flag, INVALID, INVALID, nullptr, 0, FC1Option | FlangOption, 0, 2129 "Specifies PowerPC non-native vector element order", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2130OPTION(prefix_1, "-fno-prebuilt-implicit-modules", fno_prebuilt_implicit_modules, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 2131 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2132OPTION(prefix_1, "-fno-prefetch-loop-arrays", fno_prefetch_loop_arrays, Flag, clang_ignored_gcc_optimization_f_Group, INVALID, nullptr, Ignored, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2133OPTION(prefix_1, "-fno-preserve-as-comments", fno_preserve_as_comments, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis, 0, 2134 "Do not preserve comments in inline assembly", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2135OPTION(prefix_1, "-fno-printf", fno_printf, Flag, clang_ignored_f_Group, INVALID, nullptr, Ignored, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2136OPTION(prefix_1, "-fno-profile-arcs", fno_profile_arcs, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2137OPTION(prefix_1, "-fno-profile-correction", fno_profile_correction, Flag, clang_ignored_gcc_optimization_f_Group, INVALID, nullptr, Ignored, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2138OPTION(prefix_1, "-fno-profile-generate-sampling", fno_profile_generate_sampling, Flag, clang_ignored_f_Group, INVALID, nullptr, Ignored, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2139OPTION(prefix_1, "-fno-profile-generate", fno_profile_generate, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CLOption, 0, 2140 "Disable generation of profile instrumentation.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2141OPTION(prefix_1, "-fno-profile-instr-generate", fno_profile_instr_generate, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CLOption, 0, 2142 "Disable generation of profile instrumentation.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2143OPTION(prefix_1, "-fno-profile-instr-use", fno_profile_instr_use, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CLOption, 0, 2144 "Disable using instrumentation data for profile-guided optimization", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2145OPTION(prefix_1, "-fno-profile-reusedist", fno_profile_reusedist, Flag, clang_ignored_f_Group, INVALID, nullptr, Ignored, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2146OPTION(prefix_1, "-fno-profile-sample-accurate", fno_profile_sample_accurate, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2147OPTION(prefix_1, "-fno-profile-sample-use", fno_profile_sample_use, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2148OPTION(prefix_1, "-fno-profile-use", fno_profile_use, Flag, INVALID, fno_profile_instr_use, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2149OPTION(prefix_1, "-fno-profile-values", fno_profile_values, Flag, clang_ignored_gcc_optimization_f_Group, INVALID, nullptr, Ignored, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2150OPTION(prefix_1, "-fno-profile", fno_profile, Flag, clang_ignored_f_Group, INVALID, nullptr, Ignored, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2151OPTION(prefix_1, "-fno-protect-parens", fno_protect_parens, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, 2152 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2153OPTION(prefix_1, "-fno-pseudo-probe-for-profiling", fno_pseudo_probe_for_profiling, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | DefaultVis | CC1Option, 0, 2154 "Do not emit pseudo probes for sample profiling", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2155OPTION(prefix_1, "-fno-ptrauth-auth-traps", fno_ptrauth_auth_traps, Flag, f_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, 2156 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2157OPTION(prefix_1, "-fno-ptrauth-calls", fno_ptrauth_calls, Flag, f_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, 2158 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2159OPTION(prefix_1, "-fno-ptrauth-function-pointer-type-discrimination", fno_ptrauth_function_pointer_type_discrimination, Flag, f_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, 2160 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2161OPTION(prefix_1, "-fno-ptrauth-indirect-gotos", fno_ptrauth_indirect_gotos, Flag, f_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, 2162 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2163OPTION(prefix_1, "-fno-ptrauth-init-fini-address-discrimination", fno_ptrauth_init_fini_address_discrimination, Flag, f_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, 2164 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2165OPTION(prefix_1, "-fno-ptrauth-init-fini", fno_ptrauth_init_fini, Flag, f_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, 2166 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2167OPTION(prefix_1, "-fno-ptrauth-intrinsics", fno_ptrauth_intrinsics, Flag, f_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, 2168 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2169OPTION(prefix_1, "-fno-ptrauth-returns", fno_ptrauth_returns, Flag, f_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, 2170 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2171OPTION(prefix_1, "-fno-ptrauth-type-info-vtable-pointer-discrimination", fno_ptrauth_type_info_vtable_pointer_discrimination, Flag, f_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, 2172 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2173OPTION(prefix_1, "-fno-ptrauth-vtable-pointer-address-discrimination", fno_ptrauth_vtable_pointer_address_discrimination, Flag, f_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, 2174 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2175OPTION(prefix_1, "-fno-ptrauth-vtable-pointer-type-discrimination", fno_ptrauth_vtable_pointer_type_discrimination, Flag, f_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, 2176 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2177OPTION(prefix_1, "-fno-range-check", fno_range_check, Flag, gfortran_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2178OPTION(prefix_1, "-fno-raw-string-literals", fno_raw_string_literals, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 2179 "Disable raw string literals", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2180OPTION(prefix_1, "-fno-real-4-real-10", fno_real_4_real_10, Flag, gfortran_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2181OPTION(prefix_1, "-fno-real-4-real-16", fno_real_4_real_16, Flag, gfortran_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2182OPTION(prefix_1, "-fno-real-4-real-8", fno_real_4_real_8, Flag, gfortran_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2183OPTION(prefix_1, "-fno-real-8-real-10", fno_real_8_real_10, Flag, gfortran_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2184OPTION(prefix_1, "-fno-real-8-real-16", fno_real_8_real_16, Flag, gfortran_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2185OPTION(prefix_1, "-fno-real-8-real-4", fno_real_8_real_4, Flag, gfortran_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2186OPTION(prefix_1, "-fno-realloc-lhs", fno_realloc_lhs, Flag, gfortran_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2187OPTION(prefix_1, "-fno-reciprocal-math", fno_reciprocal_math, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | FC1Option | FlangOption | DefaultVis, 0, 2188 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2189OPTION(prefix_1, "-fno-record-command-line", fno_record_command_line, Flag, f_clang_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2190OPTION(prefix_1, "-fno-record-gcc-switches", anonymous_413, Flag, INVALID, fno_record_command_line, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2191OPTION(prefix_1, "-fno-recovery-ast-type", fno_recovery_ast_type, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 2192 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2193OPTION(prefix_1, "-fno-recovery-ast", fno_recovery_ast, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 2194 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2195OPTION(prefix_1, "-fno-recursive", fno_recursive, Flag, gfortran_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2196OPTION(prefix_1, "-fno-reformat", fno_reformat, Flag, Preprocessor_Group, INVALID, nullptr, 0, FC1Option, 0, 2197 "Dump the cooked character stream in -E mode", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2198OPTION(prefix_1, "-fno-register-global-dtors-with-atexit", fno_register_global_dtors_with_atexit, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | DefaultVis, 0, 2199 "Don't use atexit or __cxa_atexit to register global destructors", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2200OPTION(prefix_1, "-fno-regs-graph", fno_regs_graph, Flag, clang_ignored_f_Group, INVALID, nullptr, Ignored, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2201OPTION(prefix_1, "-fno-relaxed-template-template-args", fno_relaxed_template_template_args, Flag, f_Group, INVALID, nullptr, 0, CC1Option | DefaultVis, 0, 2202 "Disable C++17 relaxed template template argument matching", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2203OPTION(prefix_1, "-fno-rename-registers", fno_rename_registers, Flag, clang_ignored_gcc_optimization_f_Group, INVALID, nullptr, Ignored, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2204OPTION(prefix_1, "-fno-reorder-blocks", fno_reorder_blocks, Flag, clang_ignored_gcc_optimization_f_Group, INVALID, nullptr, Ignored, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2205OPTION(prefix_1, "-fno-repack-arrays", fno_repack_arrays, Flag, gfortran_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2206OPTION(prefix_1, "-fno-retain-subst-template-type-parm-type-ast-nodes", fno_retain_subst_template_type_parm_type_ast_nodes, Flag, f_Group, INVALID, nullptr, 0, 0, 0, 2207 "Disable retain SubstTemplateTypeParmType nodes in the AST's representation of alias template specializations", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2208OPTION(prefix_1, "-fno-rewrite-imports", fno_rewrite_imports, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, 2209 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2210OPTION(prefix_1, "-fno-rewrite-includes", fno_rewrite_includes, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, 2211 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2212OPTION(prefix_1, "-fno-ripa", fno_ripa, Flag, clang_ignored_f_Group, INVALID, nullptr, Ignored, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2213OPTION(prefix_1, "-fno-ropi", fno_ropi, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | FlangOption | CC1Option | DefaultVis, 0, 2214 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2215OPTION(prefix_1, "-fno-rounding-math", fno_rounding_math, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2216OPTION(prefix_1, "-fno-rtlib-add-rpath", fno_rtlib_add_rpath, Flag, INVALID, INVALID, nullptr, NoArgumentUnused, DefaultVis | FlangOption, 0, 2217 "Do not add -rpath with architecture-specific resource directory to the linker flags. When --hip-link is specified, do not add -rpath with HIP runtime library directory to the linker flags", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2218OPTION(prefix_1, "-fno-rtlib-defaultlib", fno_rtlib_defaultlib, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CLOption, 0, 2219 "On Windows, do not emit /defaultlib: directives to link compiler-rt libraries", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2220OPTION(prefix_1, "-fno-rtti-data", fno_rtti_data, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis, 0, 2221 "Disable generation of RTTI data", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2222OPTION(prefix_1, "-fno-rtti", fno_rtti, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis, 0, 2223 "Disable generation of rtti information", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2224OPTION(prefix_1, "-fno-rwpi", fno_rwpi, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | FlangOption | CC1Option | DefaultVis, 0, 2225 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2226OPTION(prefix_1, "-fno-safe-buffer-usage-suggestions", fno_safe_buffer_usage_suggestions, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, 2227 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2228OPTION(prefix_1, "-fno-sanitize-address-globals-dead-stripping", fno_sanitize_address_globals_dead_stripping, Flag, f_clang_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | CLOption, 0, 2229 "Disable linker dead stripping of globals in AddressSanitizer", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2230OPTION(prefix_1, "-fno-sanitize-address-outline-instrumentation", fno_sanitize_address_outline_instrumentation, Flag, f_clang_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | CLOption, 0, 2231 "Use default code inlining logic for the address sanitizer", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2232OPTION(prefix_1, "-fno-sanitize-address-poison-custom-array-cookie", fno_sanitize_address_poison_custom_array_cookie, Flag, f_clang_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | CLOption, 0, 2233 "Disable poisoning array cookies when using custom operator new[] in AddressSanitizer", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2234OPTION(prefix_1, "-fno-sanitize-address-use-after-scope", fno_sanitize_address_use_after_scope, Flag, f_clang_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | CLOption, 0, 2235 "Disable use-after-scope detection in AddressSanitizer", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2236OPTION(prefix_1, "-fno-sanitize-address-use-odr-indicator", fno_sanitize_address_use_odr_indicator, Flag, f_clang_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | CLOption, 0, 2237 "Disable ODR indicator globals", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2238OPTION(prefix_2, "/fno-sanitize-address-vcasan-lib", _SLASH_fno_sanitize_address_vcasan_lib, Joined, cl_Group, INVALID, nullptr, NoXarchOption, CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2239OPTION(prefix_1, "-fno-sanitize-blacklist", anonymous_618, Flag, f_clang_Group, fno_sanitize_ignorelist, nullptr, HelpHidden, DefaultVis | CC1Option | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2240OPTION(prefix_1, "-fno-sanitize-cfi-canonical-jump-tables", fno_sanitize_cfi_canonical_jump_tables, Flag, f_clang_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | CLOption, 0, 2241 "Do not make the jump table addresses canonical in the symbol table", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2242OPTION(prefix_1, "-fno-sanitize-cfi-cross-dso", fno_sanitize_cfi_cross_dso, Flag, f_clang_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | CLOption, 0, 2243 "Disable control flow integrity (CFI) checks for cross-DSO calls.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2244OPTION(prefix_1, "-fno-sanitize-coverage=", fno_sanitize_coverage, CommaJoined, f_clang_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | CLOption, 0, 2245 "Disable features of coverage instrumentation for Sanitizers", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, "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") 2246OPTION(prefix_1, "-fno-sanitize-hwaddress-experimental-aliasing", fno_sanitize_hwaddress_experimental_aliasing, Flag, f_clang_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | CLOption, 0, 2247 "Disable aliasing mode in HWAddressSanitizer", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2248OPTION(prefix_1, "-fno-sanitize-ignorelist", fno_sanitize_ignorelist, Flag, f_clang_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | CLOption, 0, 2249 "Don't use ignorelist file for sanitizers", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2250OPTION(prefix_1, "-fno-sanitize-link-c++-runtime", fno_sanitize_link_cxx_runtime, Flag, f_clang_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2251OPTION(prefix_1, "-fno-sanitize-link-runtime", fno_sanitize_link_runtime, Flag, f_clang_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2252OPTION(prefix_1, "-fno-sanitize-memory-param-retval", fno_sanitize_memory_param_retval, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | CLOption, 0, 2253 "Disable detection of uninitialized parameters and return values", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2254OPTION(prefix_1, "-fno-sanitize-memory-track-origins", fno_sanitize_memory_track_origins, Flag, f_clang_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | CLOption, 0, 2255 "Disable origins tracking in MemorySanitizer", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2256OPTION(prefix_1, "-fno-sanitize-memory-use-after-dtor", fno_sanitize_memory_use_after_dtor, Flag, f_clang_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | CLOption, 0, 2257 "Disable use-after-destroy detection in MemorySanitizer", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2258OPTION(prefix_1, "-fno-sanitize-minimal-runtime", fno_sanitize_minimal_runtime, Flag, f_clang_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | CLOption, 0, 2259 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2260OPTION(prefix_1, "-fno-sanitize-recover=", fno_sanitize_recover_EQ, CommaJoined, f_clang_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | CLOption, 0, 2261 "Disable recovery for specified sanitizers", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2262OPTION(prefix_1, "-fno-sanitize-recover", fno_sanitize_recover, Flag, f_clang_Group, fno_sanitize_recover_EQ, "all\0", 0, DefaultVis | CC1Option | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2263OPTION(prefix_1, "-fno-sanitize-stable-abi", fno_sanitize_stable_abi, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | CLOption, 0, 2264 "Conventional ABI instrumentation for sanitizer runtime. Default: Conventional", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2265OPTION(prefix_1, "-fno-sanitize-stats", fno_sanitize_stats, Flag, f_clang_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | CLOption, 0, 2266 "Disable sanitizer statistics gathering.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2267OPTION(prefix_1, "-fno-sanitize-thread-atomics", fno_sanitize_thread_atomics, Flag, f_clang_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | CLOption, 0, 2268 "Disable atomic operations instrumentation in ThreadSanitizer", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2269OPTION(prefix_1, "-fno-sanitize-thread-func-entry-exit", fno_sanitize_thread_func_entry_exit, Flag, f_clang_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | CLOption, 0, 2270 "Disable function entry/exit instrumentation in ThreadSanitizer", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2271OPTION(prefix_1, "-fno-sanitize-thread-memory-access", fno_sanitize_thread_memory_access, Flag, f_clang_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | CLOption, 0, 2272 "Disable memory access instrumentation in ThreadSanitizer", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2273OPTION(prefix_1, "-fno-sanitize-trap=", fno_sanitize_trap_EQ, CommaJoined, f_clang_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | CLOption, 0, 2274 "Disable trapping for specified sanitizers", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2275OPTION(prefix_1, "-fno-sanitize-trap", fno_sanitize_trap, Flag, f_clang_Group, fno_sanitize_trap_EQ, "all\0", 0, DefaultVis | CC1Option | CLOption, 0, 2276 "Disable trapping for all sanitizers", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2277OPTION(prefix_1, "-fno-sanitize-undefined-trap-on-error", fno_sanitize_undefined_trap_on_error, Flag, f_clang_Group, fno_sanitize_trap_EQ, "undefined\0", 0, DefaultVis | CC1Option | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2278OPTION(prefix_1, "-fno-sanitize=", fno_sanitize_EQ, CommaJoined, f_clang_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2279OPTION(prefix_1, "-fno-save-optimization-record", fno_save_optimization_record, Flag, f_Group, INVALID, nullptr, NoArgumentUnused, DefaultVis | FlangOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2280OPTION(prefix_1, "-fno-schedule-insns2", fno_schedule_insns2, Flag, clang_ignored_gcc_optimization_f_Group, INVALID, nullptr, Ignored, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2281OPTION(prefix_1, "-fno-schedule-insns", fno_schedule_insns, Flag, clang_ignored_gcc_optimization_f_Group, INVALID, nullptr, Ignored, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2282OPTION(prefix_1, "-fno-second-underscore", fno_second_underscore, Flag, gfortran_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2283OPTION(prefix_1, "-fno-see", fno_see, Flag, clang_ignored_f_Group, INVALID, nullptr, Ignored, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2284OPTION(prefix_1, "-fno-semantic-interposition", fno_semantic_interposition, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, 2285 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2286OPTION(prefix_1, "-fno-separate-named-sections", fno_separate_named_sections, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, 2287 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2288OPTION(prefix_1, "-fno-short-enums", fno_short_enums, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, 2289 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2290OPTION(prefix_1, "-fno-short-wchar", fno_short_wchar, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, 2291 "Force wchar_t to be an unsigned int", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2292OPTION(prefix_1, "-fno-show-column", fno_show_column, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis, 0, 2293 "Do not include column number on diagnostics", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2294OPTION(prefix_1, "-fno-show-source-location", fno_show_source_location, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis, 0, 2295 "Do not include source location information with diagnostics", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2296OPTION(prefix_1, "-fno-sign-zero", fno_sign_zero, Flag, gfortran_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2297OPTION(prefix_1, "-fno-signaling-math", fno_signaling_math, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2298OPTION(prefix_1, "-fno-signaling-nans", fno_signaling_nans, Flag, clang_ignored_gcc_optimization_f_Group, INVALID, nullptr, Ignored, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2299OPTION(prefix_1, "-fno-signed-char", fno_signed_char, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis, 0, 2300 "char is unsigned", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2301OPTION(prefix_1, "-fno-signed-wchar", fno_signed_wchar, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 2302 "Use an unsigned type for wchar_t", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2303OPTION(prefix_1, "-fno-signed-zeros", fno_signed_zeros, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | FC1Option | FlangOption | DefaultVis, 0, 2304 "Allow optimizations that ignore the sign of floating point zeros", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2305OPTION(prefix_1, "-fno-single-precision-constant", fno_single_precision_constant, Flag, clang_ignored_gcc_optimization_f_Group, INVALID, nullptr, Ignored, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2306OPTION(prefix_1, "-fno-sized-deallocation", fno_sized_deallocation, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 2307 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2308OPTION(prefix_1, "-fno-skip-odr-check-in-gmf", fno_skip_odr_check_in_gmf, Flag, f_Group, INVALID, nullptr, 0, CC1Option | DefaultVis, 0, 2309 "Perform ODR checks for decls in the global module fragment.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2310OPTION(prefix_1, "-fno-slp-vectorize-aggressive", anonymous_4, Flag, clang_ignored_legacy_options_Group, INVALID, nullptr, Ignored, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2311OPTION(prefix_1, "-fno-slp-vectorize", fno_slp_vectorize, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2312OPTION(prefix_1, "-fno-spec-constr-count", fno_spec_constr_count, Flag, clang_ignored_f_Group, INVALID, nullptr, Ignored, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2313OPTION(prefix_1, "-fno-spell-checking", fno_spell_checking, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis, 0, 2314 "Disable spell-checking", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2315OPTION(prefix_1, "-fno-split-dwarf-inlining", fno_split_dwarf_inlining, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | DefaultVis, 0, 2316 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2317OPTION(prefix_1, "-fno-split-lto-unit", fno_split_lto_unit, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CLOption, 0, 2318 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2319OPTION(prefix_1, "-fno-split-machine-functions", fno_split_machine_functions, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | DefaultVis, 0, 2320 "Disable late function splitting using profile information (x86 ELF)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2321OPTION(prefix_1, "-fno-split-stack", fno_split_stack, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | DefaultVis, 0, 2322 "Wouldn't use segmented stack", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2323OPTION(prefix_1, "-fno-stack-arrays", fno_stack_arrays, Flag, INVALID, INVALID, nullptr, 0, FC1Option | FlangOption, 0, 2324 "Allocate array temporaries on the heap (default)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2325OPTION(prefix_1, "-fno-stack-check", fno_stack_check, Flag, clang_ignored_f_Group, INVALID, nullptr, Ignored, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2326OPTION(prefix_1, "-fno-stack-clash-protection", fno_stack_clash_protection, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | DefaultVis, 0, 2327 "Disable stack clash protection", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2328OPTION(prefix_1, "-fno-stack-protector", fno_stack_protector, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, 2329 "Disable the use of stack protectors", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2330OPTION(prefix_1, "-fno-stack-size-section", fno_stack_size_section, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, 2331 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2332OPTION(prefix_1, "-fno-standalone-debug", fno_standalone_debug, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CLOption | DXCOption, 0, 2333 "Limit debug information produced to reduce size of debug binary", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2334OPTION(prefix_1, "-fno-strength-reduce", fno_strength_reduce, Flag, clang_ignored_gcc_optimization_f_Group, INVALID, nullptr, Ignored, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2335OPTION(prefix_1, "-fno-strict-aliasing", fno_strict_aliasing, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CLOption | DXCOption, 0, 2336 "Disable optimizations based on strict aliasing rules", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2337OPTION(prefix_1, "-fno-strict-enums", fno_strict_enums, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2338OPTION(prefix_1, "-fno-strict-float-cast-overflow", fno_strict_float_cast_overflow, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis, 0, 2339 "Relax language rules and try to match the behavior of the target's native float-to-int conversion instructions", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2340OPTION(prefix_1, "-fno-strict-modules-decluse", fno_modules_strict_decluse, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2341OPTION(prefix_1, "-fno-strict-overflow", fno_strict_overflow, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2342OPTION(prefix_1, "-fno-strict-return", fno_strict_return, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis, 0, 2343 "Don't treat control flow paths that fall off the end of a non-void function as unreachable", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2344OPTION(prefix_1, "-fno-strict-vtable-pointers", fno_strict_vtable_pointers, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, 2345 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2346OPTION(prefix_1, "-fno-struct-path-tbaa", fno_struct_path_tbaa, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2347OPTION(prefix_1, "-fno-sycl", fno_sycl, Flag, sycl_Group, INVALID, nullptr, 0, DefaultVis | CLOption, 0, 2348 "Disables SYCL kernels compilation for device", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2349OPTION(prefix_1, "-fno-temp-file", fno_temp_file, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | CLOption | DXCOption, 0, 2350 "Directly create compilation output files. This may lead to incorrect incremental builds if the compiler crashes", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2351OPTION(prefix_1, "-fno-test-coverage", fno_test_coverage, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2352OPTION(prefix_1, "-fno-threadsafe-statics", fno_threadsafe_statics, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis, 0, 2353 "Do not emit code to make initialization of local statics thread safe", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2354OPTION(prefix_1, "-fno-tls-model", fno_tls_model, Flag, clang_ignored_f_Group, INVALID, nullptr, Ignored, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2355OPTION(prefix_1, "-fno-tracer", fno_tracer, Flag, clang_ignored_gcc_optimization_f_Group, INVALID, nullptr, Ignored, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2356OPTION(prefix_1, "-fno-trapping-math", fno_trapping_math, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2357OPTION(prefix_1, "-fno-tree-dce", fno_tree_dce, Flag, clang_ignored_gcc_optimization_f_Group, INVALID, nullptr, Ignored, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2358OPTION(prefix_1, "-fno-tree-salias", fno_tree_salias, Flag, clang_ignored_f_Group, INVALID, nullptr, Ignored, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2359OPTION(prefix_1, "-fno-tree-slp-vectorize", anonymous_1359, Flag, INVALID, fno_slp_vectorize, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2360OPTION(prefix_1, "-fno-tree-ter", fno_tree_ter, Flag, clang_ignored_gcc_optimization_f_Group, INVALID, nullptr, Ignored, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2361OPTION(prefix_1, "-fno-tree-vectorizer-verbose", fno_tree_vectorizer_verbose, Flag, clang_ignored_f_Group, INVALID, nullptr, Ignored, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2362OPTION(prefix_1, "-fno-tree-vectorize", anonymous_1357, Flag, INVALID, fno_vectorize, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2363OPTION(prefix_1, "-fno-tree-vrp", fno_tree_vrp, Flag, clang_ignored_gcc_optimization_f_Group, INVALID, nullptr, Ignored, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2364OPTION(prefix_1, "-fno-trigraphs", fno_trigraphs, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 2365 "Do not process trigraph sequences", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2366OPTION(prefix_1, "-fno-underscoring", fno_underscoring, Flag, f_Group, INVALID, nullptr, 0, FC1Option | FlangOption, 0, 2367 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2368OPTION(prefix_1, "-fno-unified-lto", fno_unified_lto, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | DefaultVis | CC1Option, 0, 2369 "Use distinct LTO pipelines", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2370OPTION(prefix_1, "-fno-unique-basic-block-section-names", fno_unique_basic_block_section_names, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, 2371 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2372OPTION(prefix_1, "-fno-unique-internal-linkage-names", fno_unique_internal_linkage_names, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, 2373 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2374OPTION(prefix_1, "-fno-unique-section-names", fno_unique_section_names, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis, 0, 2375 "Don't use unique names for text and data sections", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2376OPTION(prefix_1, "-fno-unit-at-a-time", fno_anonymous_1767, Flag, clang_ignored_gcc_optimization_f_Group, INVALID, nullptr, Ignored, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2377OPTION(prefix_1, "-fno-unroll-all-loops", fno_unroll_all_loops, Flag, clang_ignored_gcc_optimization_f_Group, INVALID, nullptr, Ignored, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2378OPTION(prefix_1, "-fno-unroll-loops", fno_unroll_loops, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 2379 "Turn off loop unroller", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2380OPTION(prefix_1, "-fno-unsafe-loop-optimizations", fno_unsafe_loop_optimizations, Flag, clang_ignored_gcc_optimization_f_Group, INVALID, nullptr, Ignored, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2381OPTION(prefix_1, "-fno-unsafe-math-optimizations", fno_unsafe_math_optimizations, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2382OPTION(prefix_1, "-fno-unsigned-char", fno_unsigned_char, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2383OPTION(prefix_1, "-fno-unswitch-loops", fno_unswitch_loops, Flag, clang_ignored_gcc_optimization_f_Group, INVALID, nullptr, Ignored, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2384OPTION(prefix_1, "-fno-unwind-tables", fno_unwind_tables, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2385OPTION(prefix_1, "-fno-use-ctor-homing", fno_use_ctor_homing, Flag, INVALID, INVALID, nullptr, 0, CC1Option | CC1AsOption, 0, 2386 "Don't use constructor homing for debug info", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2387OPTION(prefix_1, "-fno-use-cxa-atexit", fno_use_cxa_atexit, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis, 0, 2388 "Don't use __cxa_atexit for calling destructors", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2389OPTION(prefix_1, "-fno-use-init-array", fno_use_init_array, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis, 0, 2390 "Use .ctors/.dtors instead of .init_array/.fini_array", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2391OPTION(prefix_1, "-fno-use-line-directives", fno_use_line_directives, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, 2392 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2393OPTION(prefix_1, "-fno-use-linker-plugin", fno_use_linker_plugin, Flag, clang_ignored_gcc_optimization_f_Group, INVALID, nullptr, Ignored, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2394OPTION(prefix_1, "-fno-validate-pch", fno_validate_pch, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 2395 "Disable validation of precompiled headers", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2396OPTION(prefix_1, "-fno-var-tracking", fno_var_tracking, Flag, clang_ignored_f_Group, INVALID, nullptr, Ignored, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2397OPTION(prefix_1, "-fno-variable-expansion-in-unroller", fno_variable_expansion_in_unroller, Flag, clang_ignored_gcc_optimization_f_Group, INVALID, nullptr, Ignored, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2398OPTION(prefix_1, "-fno-vect-cost-model", fno_vect_cost_model, Flag, clang_ignored_gcc_optimization_f_Group, INVALID, nullptr, Ignored, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2399OPTION(prefix_1, "-fno-vectorize", fno_vectorize, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2400OPTION(prefix_1, "-fno-verbose-asm", fno_verbose_asm, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2401OPTION(prefix_1, "-fno-verify-intermediate-code", fno_verify_intermediate_code, Flag, f_clang_Group, INVALID, nullptr, 0, DefaultVis | CLOption | DXCOption, 0, 2402 "Disable verification of LLVM IR", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2403OPTION(prefix_1, "-fno-version-loops-for-stride", fno_loop_versioning, Flag, INVALID, INVALID, nullptr, 0, FC1Option | FlangOption, 0, 2404 "Do not create unit-strided loops (default)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2405OPTION(prefix_1, "-fno-virtual-function-elimination", fno_virtual_function_elimination, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CLOption, 0, 2406 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2407OPTION(prefix_1, "-fno-visibility-from-dllstorageclass", fno_visibility_from_dllstorageclass, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, 2408 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2409OPTION(prefix_1, "-fno-visibility-inlines-hidden-static-local-var", fno_visibility_inlines_hidden_static_local_var, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | DefaultVis | CC1Option, 0, 2410 "Disables -fvisibility-inlines-hidden-static-local-var (this is the default on non-darwin targets)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2411OPTION(prefix_1, "-fno-visibility-inlines-hidden", fno_visibility_inlines_hidden, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, 2412 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2413OPTION(prefix_1, "-fno-wchar", fno_wchar, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 2414 "Disable C++ builtin type wchar_t", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2415OPTION(prefix_1, "-fno-web", fno_web, Flag, clang_ignored_gcc_optimization_f_Group, INVALID, nullptr, Ignored, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2416OPTION(prefix_1, "-fno-whole-file", fno_whole_file, Flag, gfortran_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2417OPTION(prefix_1, "-fno-whole-program-vtables", fno_whole_program_vtables, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CLOption, 0, 2418 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2419OPTION(prefix_1, "-fno-whole-program", fno_whole_program, Flag, clang_ignored_gcc_optimization_f_Group, INVALID, nullptr, Ignored, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2420OPTION(prefix_1, "-fno-working-directory", fno_working_directory, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2421OPTION(prefix_1, "-fno-wrapv", fno_wrapv, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2422OPTION(prefix_1, "-fno-xl-pragma-pack", fno_xl_pragma_pack, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, 2423 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2424OPTION(prefix_1, "-fno-xor-operator", fno_xor_operator, Flag, f_Group, INVALID, nullptr, 0, FC1Option | FlangOption, 0, 2425 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2426OPTION(prefix_1, "-fno-xray-always-emit-customevents", fno_xray_always_emit_customevents, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, 2427 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2428OPTION(prefix_1, "-fno-xray-always-emit-typedevents", fno_xray_always_emit_typedevents, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, 2429 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2430OPTION(prefix_1, "-fno-xray-function-index", fno_xray_function_index, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis, 0, 2431 "Omit function index section at the expense of single-function patching performance", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2432OPTION(prefix_1, "-fno-xray-ignore-loops", fno_xray_ignore_loops, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, 2433 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2434OPTION(prefix_1, "-fno-xray-instrument", fno_xray_instrument, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, 2435 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2436OPTION(prefix_1, "-fno-xray-link-deps", fno_xray_link_deps, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2437OPTION(prefix_1, "-fno-zero-initialized-in-bss", fno_zero_initialized_in_bss, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis, 0, 2438 "Don't place zero initialized data in BSS", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2439OPTION(prefix_1, "-fno-zos-extensions", fno_zos_extensions, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 2440 "Do not accept non-standard constructs supported by the z/OS compiler", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2441OPTION(prefix_1, "-fno-zvector", fno_zvector, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, 2442 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2443OPTION(prefix_1, "-fno_modules-validate-input-files-content", fno_modules_validate_input_files_content, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2444OPTION(prefix_1, "-fno_pch-validate-input-files-content", fno_pch_validate_input_files_content, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2445OPTION(prefix_1, "-fnon-call-exceptions", fnon_call_exceptions, Flag, clang_ignored_f_Group, INVALID, nullptr, Ignored, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2446OPTION(prefix_1, "-fnoopenmp-relocatable-target", fnoopenmp_relocatable_target, Flag, f_Group, INVALID, nullptr, NoArgumentUnused | HelpHidden, DefaultVis | CC1Option, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2447OPTION(prefix_1, "-fnoopenmp-use-tls", fnoopenmp_use_tls, Flag, f_Group, INVALID, nullptr, NoArgumentUnused | HelpHidden, DefaultVis | CC1Option, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2448OPTION(prefix_2, "/Fo:", _SLASH_Fo_COLON, JoinedOrSeparate, cl_compile_Group, _SLASH_Fo, nullptr, NoXarchOption, CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2449OPTION(prefix_1, "-fobjc-abi-version=", fobjc_abi_version_EQ, Joined, f_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2450OPTION(prefix_1, "-fobjc-arc-cxxlib=", fobjc_arc_cxxlib_EQ, Joined, INVALID, INVALID, nullptr, 0, CC1Option, 0, 2451 "Objective-C++ Automatic Reference Counting standard library kind", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, "libc++,libstdc++,none") 2452OPTION(prefix_1, "-fobjc-arc-exceptions", fobjc_arc_exceptions, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis, 0, 2453 "Use EH-safe code when synthesizing retains and releases in -fobjc-arc", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2454OPTION(prefix_1, "-fobjc-arc", fobjc_arc, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 2455 "Synthesize retain and release calls for Objective-C pointers", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2456OPTION(prefix_1, "-fobjc-atdefs", fobjc_atdefs, Flag, clang_ignored_f_Group, INVALID, nullptr, Ignored, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2457OPTION(prefix_1, "-fobjc-avoid-heapify-local-blocks", fobjc_avoid_heapify_local_blocks, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 2458 "Try to avoid heapifying local blocks", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2459OPTION(prefix_1, "-fobjc-call-cxx-cdtors", fobjc_call_cxx_cdtors, Flag, clang_ignored_f_Group, INVALID, nullptr, Ignored, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2460OPTION(prefix_1, "-fobjc-convert-messages-to-runtime-calls", fobjc_convert_messages_to_runtime_calls, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, 2461 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2462OPTION(prefix_1, "-fobjc-disable-direct-methods-for-testing", fobjc_disable_direct_methods_for_testing, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 2463 "Ignore attribute objc_direct so that direct methods can be tested", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2464OPTION(prefix_1, "-fobjc-dispatch-method=", fobjc_dispatch_method_EQ, Joined, INVALID, INVALID, nullptr, 0, CC1Option, 0, 2465 "Objective-C dispatch method to use", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, "legacy,non-legacy,mixed") 2466OPTION(prefix_1, "-fobjc-encode-cxx-class-template-spec", fobjc_encode_cxx_class_template_spec, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis, 0, 2467 "Fully encode c++ class template specialization", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2468OPTION(prefix_1, "-fobjc-exceptions", fobjc_exceptions, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis, 0, 2469 "Enable Objective-C exceptions", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2470OPTION(prefix_1, "-fobjc-gc-only", fobjc_gc_only, Flag, f_Group, INVALID, nullptr, 0, CC1Option, 0, 2471 "Use GC exclusively for Objective-C related memory management", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2472OPTION(prefix_1, "-fobjc-gc", fobjc_gc, Flag, f_Group, INVALID, nullptr, 0, CC1Option, 0, 2473 "Enable Objective-C garbage collection", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2474OPTION(prefix_1, "-fobjc-infer-related-result-type", fobjc_infer_related_result_type, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, 2475 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2476OPTION(prefix_1, "-fobjc-legacy-dispatch", fobjc_legacy_dispatch, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2477OPTION(prefix_1, "-fobjc-link-runtime", fobjc_link_runtime, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2478OPTION(prefix_1, "-fobjc-new-property", fobjc_new_property, Flag, clang_ignored_f_Group, INVALID, nullptr, Ignored, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2479OPTION(prefix_1, "-fobjc-nonfragile-abi-version=", fobjc_nonfragile_abi_version_EQ, Joined, f_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2480OPTION(prefix_1, "-fobjc-nonfragile-abi", fobjc_nonfragile_abi, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2481OPTION(prefix_1, "-fobjc-runtime-has-weak", fobjc_runtime_has_weak, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 2482 "The target Objective-C runtime supports ARC weak operations", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2483OPTION(prefix_1, "-fobjc-runtime=", fobjc_runtime_EQ, Joined, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | CLOption, 0, 2484 "Specify the target Objective-C runtime kind and version", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2485OPTION(prefix_1, "-fobjc-sender-dependent-dispatch", fobjc_sender_dependent_dispatch, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2486OPTION(prefix_1, "-fobjc-subscripting-legacy-runtime", fobjc_subscripting_legacy_runtime, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 2487 "Allow Objective-C array and dictionary subscripting in legacy runtime", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2488OPTION(prefix_1, "-fobjc-weak", fobjc_weak, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 2489 "Enable ARC-style weak references in Objective-C", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2490OPTION(prefix_1, "-foffload-implicit-host-device-templates", foffload_implicit_host_device_templates, Flag, offload_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis | DefaultVis | CLOption, 0, 2491 "Template functions or specializations without host, device and global attributes have implicit host device attributes (CUDA/HIP only)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2492OPTION(prefix_1, "-foffload-lto=", foffload_lto_EQ, Joined, f_Group, INVALID, nullptr, 0, DefaultVis | CLOption, 0, 2493 "Set LTO mode for offload compilation", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, "thin,full") 2494OPTION(prefix_1, "-foffload-lto", foffload_lto, Flag, f_Group, foffload_lto_EQ, "full\0", 0, DefaultVis | CLOption, 0, 2495 "Enable LTO in 'full' mode for offload compilation", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2496OPTION(prefix_1, "-foffload-uniform-block", foffload_uniform_block, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis, 0, 2497 "Assume that kernels are launched with uniform block sizes (default true for CUDA/HIP and false otherwise)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2498OPTION(prefix_1, "-foffload-via-llvm", foffload_via_llvm, Flag, offload_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis | DefaultVis | CLOption, 0, 2499 "Use LLVM/Offload as portable offloading runtime.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2500OPTION(prefix_1, "-fomit-frame-pointer", fomit_frame_pointer, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | FlangOption, 0, 2501 "Omit the frame pointer from functions that don't need it. Some stack unwinding cases, such as profilers and sanitizers, may prefer specifying -fno-omit-frame-pointer. On many targets, -O1 and higher omit the frame pointer by default. -m[no-]omit-leaf-frame-pointer takes precedence for leaf functions", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2502OPTION(prefix_1, "-fopenacc", fopenacc, Flag, f_Group, INVALID, nullptr, 0, FC1Option | FlangOption | CC1Option | DefaultVis, 0, 2503 "Enable OpenACC", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2504OPTION(prefix_1, "-fopenmp-assume-no-nested-parallelism", fopenmp_assume_no_nested_parallelism, Flag, f_Group, INVALID, nullptr, NoArgumentUnused | HelpHidden, DefaultVis | CC1Option | FC1Option | FlangOption, 0, 2505 "Assert no nested parallel regions in the GPU", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2506OPTION(prefix_1, "-fopenmp-assume-no-thread-state", fopenmp_assume_no_thread_state, Flag, f_Group, INVALID, nullptr, NoArgumentUnused | HelpHidden, DefaultVis | CC1Option | FC1Option | FlangOption, 0, 2507 "Assert no thread in a parallel region modifies an ICV", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2508OPTION(prefix_1, "-fopenmp-assume-teams-oversubscription", fopenmp_assume_teams_oversubscription, Flag, f_Group, INVALID, nullptr, NoArgumentUnused | HelpHidden, DefaultVis | CC1Option | FC1Option | FlangOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2509OPTION(prefix_1, "-fopenmp-assume-threads-oversubscription", fopenmp_assume_threads_oversubscription, Flag, f_Group, INVALID, nullptr, NoArgumentUnused | HelpHidden, DefaultVis | CC1Option | FC1Option | FlangOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2510OPTION(prefix_1, "-fopenmp-cuda-blocks-per-sm=", fopenmp_cuda_blocks_per_sm_EQ, Joined, f_Group, INVALID, nullptr, NoArgumentUnused | HelpHidden, DefaultVis | CC1Option, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2511OPTION(prefix_1, "-fopenmp-cuda-mode", fopenmp_cuda_mode, Flag, f_Group, INVALID, nullptr, NoArgumentUnused | HelpHidden, DefaultVis | CC1Option, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2512OPTION(prefix_1, "-fopenmp-cuda-number-of-sm=", fopenmp_cuda_number_of_sm_EQ, Joined, f_Group, INVALID, nullptr, NoArgumentUnused | HelpHidden, DefaultVis | CC1Option, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2513OPTION(prefix_1, "-fopenmp-cuda-teams-reduction-recs-num=", fopenmp_cuda_teams_reduction_recs_num_EQ, Joined, f_Group, INVALID, nullptr, NoArgumentUnused | HelpHidden, DefaultVis | CC1Option, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2514OPTION(prefix_1, "-fopenmp-enable-irbuilder", fopenmp_enable_irbuilder, Flag, f_Group, INVALID, nullptr, NoArgumentUnused | HelpHidden, DefaultVis | CC1Option, 0, 2515 "Use the experimental OpenMP-IR-Builder codegen path.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2516OPTION(prefix_1, "-fopenmp-extensions", fopenmp_extensions, Flag, f_Group, INVALID, nullptr, NoArgumentUnused, DefaultVis | CC1Option | DefaultVis, 0, 2517 "Enable all Clang extensions for OpenMP directives and clauses", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2518OPTION(prefix_1, "-fopenmp-force-usm", fopenmp_force_usm, Flag, f_Group, INVALID, nullptr, NoArgumentUnused, DefaultVis | CC1Option | FlangOption | FC1Option, 0, 2519 "Force behvaior as if the user specified pragma omp requires unified_shared_memory.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2520OPTION(prefix_1, "-fopenmp-host-ir-file-path", fopenmp_host_ir_file_path, Separate, INVALID, INVALID, nullptr, 0, CC1Option | FC1Option, 0, 2521 "Path to the IR file produced by the frontend for the host.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2522OPTION(prefix_1, "-fopenmp-is-device", anonymous_2158, Flag, INVALID, fopenmp_is_target_device, nullptr, 0, CC1Option | FC1Option, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2523OPTION(prefix_1, "-fopenmp-is-target-device", fopenmp_is_target_device, Flag, INVALID, INVALID, nullptr, 0, CC1Option | FC1Option, 0, 2524 "Generate code only for an OpenMP target device.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2525OPTION(prefix_1, "-fopenmp-new-driver", fopenmp_new_driver, Flag, INVALID, INVALID, nullptr, HelpHidden, DefaultVis, 0, 2526 "Use the new driver for OpenMP offloading.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2527OPTION(prefix_1, "-fopenmp-offload-mandatory", fopenmp_offload_mandatory, Flag, f_Group, INVALID, nullptr, NoArgumentUnused, DefaultVis | CC1Option, 0, 2528 "Do not create a host fallback if offloading to the device fails.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2529OPTION(prefix_1, "-fopenmp-optimistic-collapse", fopenmp_optimistic_collapse, Flag, f_Group, INVALID, nullptr, NoArgumentUnused | HelpHidden, DefaultVis | CC1Option, 0, 2530 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2531OPTION(prefix_1, "-fopenmp-relocatable-target", fopenmp_relocatable_target, Flag, f_Group, INVALID, nullptr, NoArgumentUnused | HelpHidden, DefaultVis | CC1Option, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2532OPTION(prefix_1, "-fopenmp-simd", fopenmp_simd, Flag, f_Group, INVALID, nullptr, NoArgumentUnused, DefaultVis | CC1Option, 0, 2533 "Emit OpenMP code only for SIMD-based constructs.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2534OPTION(prefix_1, "-fopenmp-target-debug=", fopenmp_target_debug_EQ, Joined, f_Group, INVALID, nullptr, NoArgumentUnused | HelpHidden, DefaultVis | CC1Option | FC1Option | FlangOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2535OPTION(prefix_1, "-fopenmp-target-debug", fopenmp_target_debug, Flag, f_Group, INVALID, nullptr, NoArgumentUnused, DefaultVis | CC1Option | FC1Option | FlangOption, 0, 2536 "Enable debugging in the OpenMP offloading device RTL", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2537OPTION(prefix_1, "-fopenmp-target-jit", fopenmp_target_jit, Flag, f_Group, INVALID, nullptr, NoArgumentUnused, DefaultVis | CLOption, 0, 2538 "Emit code that can be JIT compiled for OpenMP offloading. Implies -foffload-lto=full", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2539OPTION(prefix_1, "-fopenmp-target-new-runtime", fopenmp_target_new_runtime, Flag, f_Group, INVALID, nullptr, HelpHidden, DefaultVis | CC1Option, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2540OPTION(prefix_1, "-fopenmp-targets=", fopenmp_targets_EQ, CommaJoined, INVALID, INVALID, nullptr, NoXarchOption, DefaultVis | CC1Option | FlangOption | FC1Option, 0, 2541 "Specify comma-separated list of triples OpenMP offloading targets to be supported", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2542OPTION(prefix_1, "-fopenmp-use-tls", fopenmp_use_tls, Flag, f_Group, INVALID, nullptr, NoArgumentUnused | HelpHidden, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2543OPTION(prefix_1, "-fopenmp-version=", fopenmp_version_EQ, Joined, f_Group, INVALID, nullptr, NoArgumentUnused, DefaultVis | CC1Option | FlangOption | FC1Option, 0, 2544 "Set OpenMP version (e.g. 45 for OpenMP 4.5, 51 for OpenMP 5.1). Default value is 51 for Clang", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{FlangOption, FC1Option}}, "Set OpenMP version (e.g. 45 for OpenMP 4.5, 51 for OpenMP 5.1). Default value is 11 for Flang") }}), nullptr, nullptr) 2545OPTION(prefix_1, "-fopenmp=", fopenmp_EQ, Joined, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | FlangOption | FC1Option, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2546OPTION(prefix_1, "-fopenmp", fopenmp, Flag, f_Group, INVALID, nullptr, NoArgumentUnused, DefaultVis | CC1Option | FlangOption | FC1Option, 0, 2547 "Parse OpenMP pragmas and generate parallel code.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2548OPTION(prefix_1, "-foperator-arrow-depth=", foperator_arrow_depth_EQ, Joined, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 2549 "Maximum number of 'operator->'s to call for a member access", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2550OPTION(prefix_1, "-foperator-names", foperator_names, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, 2551 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2552OPTION(prefix_1, "-foptimization-record-file=", foptimization_record_file_EQ, Joined, f_Group, INVALID, nullptr, 0, DefaultVis | FlangOption, 0, 2553 "Specify the output name of the file containing the optimization remarks. Implies -fsave-optimization-record. On Darwin platforms, this cannot be used with multiple -arch <arch> options.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "<file>", nullptr) 2554OPTION(prefix_1, "-foptimization-record-passes=", foptimization_record_passes_EQ, Joined, f_Group, INVALID, nullptr, 0, DefaultVis | FlangOption, 0, 2555 "Only include passes which match a specified regular expression in the generated optimization record (by default, include all passes)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "<regex>", nullptr) 2556OPTION(prefix_1, "-foptimize-sibling-calls", foptimize_sibling_calls, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2557OPTION(prefix_3, "--for-linker=", _for_linker_EQ, Joined, INVALID, Xlinker, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2558OPTION(prefix_3, "--for-linker", _for_linker, Separate, INVALID, Xlinker, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2559OPTION(prefix_3, "--force-link=", _force_link_EQ, Joined, INVALID, u, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2560OPTION(prefix_3, "--force-link", _force_link, Separate, INVALID, u, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2561OPTION(prefix_1, "-force_cpusubtype_ALL", force__cpusubtype__ALL, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2562OPTION(prefix_1, "-force_flat_namespace", force__flat__namespace, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2563OPTION(prefix_1, "-force_load", force__load, Separate, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2564OPTION(prefix_1, "-forder-file-instrumentation", forder_file_instrumentation, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | CLOption, 0, 2565 "Generate instrumented code to collect order file into default.profraw file (overridden by '=' form of option or LLVM_PROFILE_FILE env var)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2566OPTION(prefix_1, "-foutput-class-dir=", foutput_class_dir_EQ, Joined, f_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2567OPTION(prefix_1, "-foverride-record-layout=", foverride_record_layout_EQ, Joined, INVALID, INVALID, nullptr, 0, CC1Option, 0, 2568 "Override record layouts with those in the given file", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2569OPTION(prefix_2, "/Fo", dxc_Fo, JoinedOrSeparate, dxc_Group, INVALID, nullptr, 0, DXCOption | DXCOption, 0, 2570 "Output object file", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2571OPTION(prefix_2, "/Fo", _SLASH_Fo, Joined, cl_compile_Group, INVALID, nullptr, NoXarchOption, CLOption, 0, 2572 "Set output object file (with /c)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "<file or dir/>", nullptr) 2573OPTION(prefix_2, "/fp:contract", _SLASH_fp_contract, Flag, cl_Group, ffp_contract, "on\0", NoXarchOption, CLOption, 0, 2574 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2575OPTION(prefix_2, "/fp:except-", _SLASH_fp_except_, Flag, cl_Group, ffp_exception_behavior_EQ, "ignore\0", NoXarchOption, CLOption, 0, 2576 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2577OPTION(prefix_2, "/fp:except", _SLASH_fp_except, Flag, cl_Group, ffp_exception_behavior_EQ, "strict\0", NoXarchOption, CLOption, 0, 2578 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2579OPTION(prefix_2, "/fp:fast", _SLASH_fp_fast, Flag, cl_Group, ffast_math, nullptr, NoXarchOption, CLOption, 0, 2580 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2581OPTION(prefix_2, "/fp:precise", _SLASH_fp_precise, Flag, cl_Group, ffp_model_EQ, "precise\0", NoXarchOption, CLOption, 0, 2582 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2583OPTION(prefix_2, "/fp:strict", _SLASH_fp_strict, Flag, cl_Group, ffp_model_EQ, "strict\0", NoXarchOption, CLOption, 0, 2584 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2585OPTION(prefix_2, "/Fp:", _SLASH_Fp_COLON, JoinedOrSeparate, cl_Group, _SLASH_Fp, nullptr, NoXarchOption, CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2586OPTION(prefix_1, "-fpack-derived", fpack_derived, Flag, gfortran_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2587OPTION(prefix_1, "-fpack-struct=", fpack_struct_EQ, Joined, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 2588 "Specify the default maximum struct packing alignment", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2589OPTION(prefix_1, "-fpack-struct", fpack_struct, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2590OPTION(prefix_1, "-fpadding-on-unsigned-fixed-point", fpadding_on_unsigned_fixed_point, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 2591 "Force each unsigned fixed point type to have an extra bit of padding to align their scales with those of signed fixed point types", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2592OPTION(prefix_1, "-fparse-all-comments", fparse_all_comments, Flag, f_clang_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2593OPTION(prefix_1, "-fpascal-strings", fpascal_strings, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis, 0, 2594 "Recognize and construct Pascal-style string literals", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2595OPTION(prefix_1, "-fpass-by-value-is-noalias", fpass_by_value_is_noalias, Flag, f_Group, INVALID, nullptr, 0, CC1Option, 0, 2596 "Allows assuming by-value parameters do not alias any other value. Has no effect on non-trivially-copyable classes in C++.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2597OPTION(prefix_1, "-fpass-plugin=", fpass_plugin_EQ, Joined, f_Group, INVALID, nullptr, NoArgumentUnused, DefaultVis | CC1Option | FlangOption | FC1Option, 0, 2598 "Load pass plugin from a dynamic shared object file (only with new pass manager).", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "<dsopath>", nullptr) 2599OPTION(prefix_1, "-fpatchable-function-entry-offset=", fpatchable_function_entry_offset_EQ, Joined, INVALID, INVALID, nullptr, 0, CC1Option, 0, 2600 "Generate M NOPs before function entry", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "<M>", nullptr) 2601OPTION(prefix_1, "-fpatchable-function-entry=", fpatchable_function_entry_EQ, Joined, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 2602 "Generate M NOPs before function entry and N-M NOPs after function entry", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "<N,M>", nullptr) 2603OPTION(prefix_1, "-fpcc-struct-return", fpcc_struct_return, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 2604 "Override the default ABI to return all structs on the stack", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2605OPTION(prefix_1, "-fpch-codegen", fpch_codegen, Flag, f_Group, INVALID, nullptr, 0, CC1Option | DefaultVis, 0, 2606 "Generate code for uses of this PCH that assumes an explicit object file will be built for the PCH", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2607OPTION(prefix_1, "-fpch-debuginfo", fpch_debuginfo, Flag, f_Group, INVALID, nullptr, 0, CC1Option | DefaultVis, 0, 2608 "Generate debug info for types in an object file built from this PCH and do not generate them elsewhere", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2609OPTION(prefix_1, "-fpch-instantiate-templates", fpch_instantiate_templates, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | DefaultVis | CC1Option | CLOption, 0, 2610 "Instantiate templates already while building a PCH", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2611OPTION(prefix_1, "-fpch-preprocess", fpch_preprocess, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2612OPTION(prefix_1, "-fpch-validate-input-files-content", fpch_validate_input_files_content, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, 2613 "Validate PCH input files based on content if mtime differs", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2614OPTION(prefix_1, "-fpeel-loops", fpeel_loops, Flag, clang_ignored_gcc_optimization_f_Group, INVALID, nullptr, Ignored, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2615OPTION(prefix_1, "-fpermissive", fpermissive, Flag, clang_ignored_f_Group, INVALID, nullptr, Ignored, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2616OPTION(prefix_1, "-fPIC", fPIC, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | FlangOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2617OPTION(prefix_1, "-fpic", fpic, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | FlangOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2618OPTION(prefix_1, "-fPIE", fPIE, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | FlangOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2619OPTION(prefix_1, "-fpie", fpie, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | FlangOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2620OPTION(prefix_1, "-fplt", fplt, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, 2621 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2622OPTION(prefix_1, "-fplugin-arg-", fplugin_arg, Joined, INVALID, INVALID, nullptr, NoArgumentUnused, DefaultVis, 0, 2623 "Pass <arg> to plugin <name>", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "<name>-<arg>", nullptr) 2624OPTION(prefix_1, "-fplugin=", fplugin_EQ, Joined, f_Group, INVALID, nullptr, NoXarchOption | NoArgumentUnused, DefaultVis, 0, 2625 "Load the named plugin (dynamic shared object)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "<dsopath>", nullptr) 2626OPTION(prefix_1, "-fpointer-tbaa", fpointer_tbaa, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2627OPTION(prefix_1, "-fppc-native-vector-element-order", fppc_native_vec_elem_order, Flag, INVALID, INVALID, nullptr, 0, FC1Option | FlangOption, 0, 2628 "Specifies PowerPC native vector element order (default)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2629OPTION(prefix_1, "-fprebuilt-implicit-modules", fprebuilt_implicit_modules, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | DefaultVis | CC1Option, 0, 2630 "Look up implicit modules in the prebuilt module path", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2631OPTION(prefix_1, "-fprebuilt-module-path=", fprebuilt_module_path, Joined, i_Group, INVALID, nullptr, 0, DefaultVis | CLOption | CC1Option, 0, 2632 "Specify the prebuilt module path", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "<directory>", nullptr) 2633OPTION(prefix_1, "-fprefetch-loop-arrays", fprefetch_loop_arrays, Flag, clang_ignored_gcc_optimization_f_Group, INVALID, nullptr, Ignored, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2634OPTION(prefix_1, "-fpreserve-as-comments", fpreserve_as_comments, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, 2635 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2636OPTION(prefix_1, "-fpreserve-vec3-type", fpreserve_vec3_type, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 2637 "Preserve 3-component vector type", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2638OPTION(prefix_1, "-fprintf", fprintf, Flag, clang_ignored_f_Group, INVALID, nullptr, Ignored, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2639OPTION(prefix_1, "-fproc-stat-report=", fproc_stat_report_EQ, Joined, f_Group, INVALID, nullptr, 0, DefaultVis, 0, 2640 "Save subprocess statistics to the given file", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2641OPTION(prefix_1, "-fproc-stat-report", fproc_stat_report, Joined, f_Group, INVALID, nullptr, 0, DefaultVis, 0, 2642 "Print subprocess statistics", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2643OPTION(prefix_1, "-fprofile-arcs", fprofile_arcs, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, 2644 "Instrument code to produce gcov data files (*.gcda)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2645OPTION(prefix_1, "-fprofile-correction", fprofile_correction, Flag, clang_ignored_gcc_optimization_f_Group, INVALID, nullptr, Ignored, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2646OPTION(prefix_1, "-fprofile-dir=", fprofile_dir, Joined, f_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2647OPTION(prefix_1, "-fprofile-exclude-files=", fprofile_exclude_files_EQ, Joined, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | CLOption, 0, 2648 "Instrument only functions from files where names don't match all the regexes separated by a semi-colon", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2649OPTION(prefix_1, "-fprofile-filter-files=", fprofile_filter_files_EQ, Joined, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | CLOption, 0, 2650 "Instrument only functions from files where names match any regex separated by a semi-colon", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2651OPTION(prefix_1, "-fprofile-function-groups=", fprofile_function_groups, Joined, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 2652 "Partition functions into N groups and select only functions in group i to be instrumented using -fprofile-selected-function-group", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "<N>", nullptr) 2653OPTION(prefix_1, "-fprofile-generate-sampling", fprofile_generate_sampling, Flag, clang_ignored_f_Group, INVALID, nullptr, Ignored, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2654OPTION(prefix_1, "-fprofile-generate=", fprofile_generate_EQ, Joined, f_Group, INVALID, nullptr, 0, DefaultVis | CLOption, 0, 2655 "Generate instrumented code to collect execution counts into <directory>/default.profraw (overridden by LLVM_PROFILE_FILE env var)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "<directory>", nullptr) 2656OPTION(prefix_1, "-fprofile-generate", fprofile_generate, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CLOption, 0, 2657 "Generate instrumented code to collect execution counts into default.profraw (overridden by LLVM_PROFILE_FILE env var)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2658OPTION(prefix_1, "-fprofile-instr-generate=", fprofile_instr_generate_EQ, Joined, f_Group, INVALID, nullptr, 0, DefaultVis | CLOption, 0, 2659 "Generate instrumented code to collect execution counts into <file> (overridden by LLVM_PROFILE_FILE env var)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "<file>", nullptr) 2660OPTION(prefix_1, "-fprofile-instr-generate", fprofile_instr_generate, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CLOption, 0, 2661 "Generate instrumented code to collect execution counts into default.profraw file (overridden by '=' form of option or LLVM_PROFILE_FILE env var)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2662OPTION(prefix_1, "-fprofile-instr-use=", fprofile_instr_use_EQ, Joined, f_Group, INVALID, nullptr, 0, DefaultVis | CLOption, 0, 2663 "Use instrumentation data for profile-guided optimization", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2664OPTION(prefix_1, "-fprofile-instr-use", fprofile_instr_use, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2665OPTION(prefix_1, "-fprofile-instrument-path=", fprofile_instrument_path_EQ, Joined, INVALID, INVALID, nullptr, 0, CC1Option, 0, 2666 "Generate instrumented code to collect execution counts into <file> (overridden by LLVM_PROFILE_FILE env var)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2667OPTION(prefix_1, "-fprofile-instrument-use-path=", fprofile_instrument_use_path_EQ, Joined, INVALID, INVALID, nullptr, 0, CC1Option, 0, 2668 "Specify the profile path in PGO use compilation", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2669OPTION(prefix_1, "-fprofile-instrument=", fprofile_instrument_EQ, Joined, INVALID, INVALID, nullptr, 0, CC1Option, 0, 2670 "Enable PGO instrumentation", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, "none,clang,llvm,csllvm") 2671OPTION(prefix_1, "-fprofile-list=", fprofile_list_EQ, Joined, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | CLOption, 0, 2672 "Filename defining the list of functions/files to instrument. The file uses the sanitizer special case list format.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2673OPTION(prefix_1, "-fprofile-remapping-file=", fprofile_remapping_file_EQ, Joined, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | CLOption, 0, 2674 "Use the remappings described in <file> to match the profile data against names in the program", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "<file>", nullptr) 2675OPTION(prefix_1, "-fprofile-reusedist", fprofile_reusedist, Flag, clang_ignored_f_Group, INVALID, nullptr, Ignored, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2676OPTION(prefix_1, "-fprofile-sample-accurate", fprofile_sample_accurate, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 2677 "Specifies that the sample profile is accurate", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2678OPTION(prefix_1, "-fprofile-sample-use=", fprofile_sample_use_EQ, Joined, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 2679 "Enable sample-based profile guided optimizations", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2680OPTION(prefix_1, "-fprofile-sample-use", fprofile_sample_use, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2681OPTION(prefix_1, "-fprofile-selected-function-group=", fprofile_selected_function_group, Joined, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 2682 "Partition functions into N groups using -fprofile-function-groups and select only functions in group i to be instrumented. The valid range is 0 to N-1 inclusive", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "<i>", nullptr) 2683OPTION(prefix_1, "-fprofile-update=", fprofile_update_EQ, Joined, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | CLOption, 0, 2684 "Set update method of profile counters", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "<method>", "atomic,prefer-atomic,single") 2685OPTION(prefix_1, "-fprofile-use=", fprofile_use_EQ, Joined, f_Group, INVALID, nullptr, 0, DefaultVis | CLOption, 0, 2686 "Use instrumentation data for profile-guided optimization. If pathname is a directory, it reads from <pathname>/default.profdata. Otherwise, it reads from file <pathname>.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "<pathname>", nullptr) 2687OPTION(prefix_1, "-fprofile-use", fprofile_use, Flag, f_Group, fprofile_instr_use, nullptr, 0, DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2688OPTION(prefix_1, "-fprofile-values", fprofile_values, Flag, clang_ignored_gcc_optimization_f_Group, INVALID, nullptr, Ignored, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2689OPTION(prefix_1, "-fprofile", fprofile, Flag, clang_ignored_f_Group, INVALID, nullptr, Ignored, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2690OPTION(prefix_1, "-fprotect-parens", fprotect_parens, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CLOption | CC1Option | DefaultVis, 0, 2691 "Determines whether the optimizer honors parentheses when floating-point expressions are evaluated", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2692OPTION(prefix_1, "-fpseudo-probe-for-profiling", fpseudo_probe_for_profiling, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | DefaultVis | CC1Option, 0, 2693 "Emit pseudo probes for sample profiling", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2694OPTION(prefix_1, "-fptrauth-auth-traps", fptrauth_auth_traps, Flag, f_Group, INVALID, nullptr, TargetSpecific, CC1Option | DefaultVis, 0, 2695 "Enable traps on authentication failures", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2696OPTION(prefix_1, "-fptrauth-calls", fptrauth_calls, Flag, f_Group, INVALID, nullptr, TargetSpecific, CC1Option | DefaultVis, 0, 2697 "Enable signing and authentication of all indirect calls", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2698OPTION(prefix_1, "-fptrauth-function-pointer-type-discrimination", fptrauth_function_pointer_type_discrimination, Flag, f_Group, INVALID, nullptr, TargetSpecific, CC1Option | DefaultVis, 0, 2699 "Enable type discrimination on C function pointers", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2700OPTION(prefix_1, "-fptrauth-indirect-gotos", fptrauth_indirect_gotos, Flag, f_Group, INVALID, nullptr, TargetSpecific, CC1Option | DefaultVis, 0, 2701 "Enable signing and authentication of indirect goto targets", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2702OPTION(prefix_1, "-fptrauth-init-fini-address-discrimination", fptrauth_init_fini_address_discrimination, Flag, f_Group, INVALID, nullptr, TargetSpecific, CC1Option | DefaultVis, 0, 2703 "Enable address discrimination of function pointers in init/fini arrays", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2704OPTION(prefix_1, "-fptrauth-init-fini", fptrauth_init_fini, Flag, f_Group, INVALID, nullptr, TargetSpecific, CC1Option | DefaultVis, 0, 2705 "Enable signing of function pointers in init/fini arrays", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2706OPTION(prefix_1, "-fptrauth-intrinsics", fptrauth_intrinsics, Flag, f_Group, INVALID, nullptr, TargetSpecific, CC1Option | DefaultVis, 0, 2707 "Enable pointer authentication intrinsics", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2708OPTION(prefix_1, "-fptrauth-returns", fptrauth_returns, Flag, f_Group, INVALID, nullptr, TargetSpecific, CC1Option | DefaultVis, 0, 2709 "Enable signing and authentication of return addresses", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2710OPTION(prefix_1, "-fptrauth-type-info-vtable-pointer-discrimination", fptrauth_type_info_vtable_pointer_discrimination, Flag, f_Group, INVALID, nullptr, TargetSpecific, CC1Option | DefaultVis, 0, 2711 "Enable type and address discrimination of vtable pointer of std::type_info", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2712OPTION(prefix_1, "-fptrauth-vtable-pointer-address-discrimination", fptrauth_vtable_pointer_address_discrimination, Flag, f_Group, INVALID, nullptr, TargetSpecific, CC1Option | DefaultVis, 0, 2713 "Enable address discrimination of vtable pointers", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2714OPTION(prefix_1, "-fptrauth-vtable-pointer-type-discrimination", fptrauth_vtable_pointer_type_discrimination, Flag, f_Group, INVALID, nullptr, TargetSpecific, CC1Option | DefaultVis, 0, 2715 "Enable type discrimination of vtable pointers", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2716OPTION(prefix_2, "/Fp", _SLASH_Fp, Joined, cl_Group, INVALID, nullptr, NoXarchOption, CLOption, 0, 2717 "Set pch file name (with /Yc and /Yu)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "<file>", nullptr) 2718OPTION(prefix_1, "-framework", framework, Separate, INVALID, INVALID, nullptr, LinkerInput, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2719OPTION(prefix_1, "-frandom-seed=", frandom_seed_EQ, Joined, clang_ignored_f_Group, INVALID, nullptr, Ignored, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2720OPTION(prefix_1, "-frandomize-layout-seed-file=", frandomize_layout_seed_file_EQ, Joined, f_clang_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 2721 "File holding the seed used by the randomize structure layout feature", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "<file>", nullptr) 2722OPTION(prefix_1, "-frandomize-layout-seed=", frandomize_layout_seed_EQ, Joined, f_clang_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 2723 "The seed used by the randomize structure layout feature", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "<seed>", nullptr) 2724OPTION(prefix_1, "-frange-check", frange_check, Flag, gfortran_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2725OPTION(prefix_1, "-fraw-string-literals", fraw_string_literals, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 2726 "Enable raw string literals", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2727OPTION(prefix_1, "-freal-4-real-10", freal_4_real_10, Flag, gfortran_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2728OPTION(prefix_1, "-freal-4-real-16", freal_4_real_16, Flag, gfortran_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2729OPTION(prefix_1, "-freal-4-real-8", freal_4_real_8, Flag, gfortran_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2730OPTION(prefix_1, "-freal-8-real-10", freal_8_real_10, Flag, gfortran_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2731OPTION(prefix_1, "-freal-8-real-16", freal_8_real_16, Flag, gfortran_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2732OPTION(prefix_1, "-freal-8-real-4", freal_8_real_4, Flag, gfortran_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2733OPTION(prefix_1, "-frealloc-lhs", frealloc_lhs, Flag, gfortran_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2734OPTION(prefix_1, "-freciprocal-math", freciprocal_math, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | FC1Option | FlangOption | DefaultVis, 0, 2735 "Allow division operations to be reassociated", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2736OPTION(prefix_1, "-frecord-command-line", frecord_command_line, Flag, f_clang_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2737OPTION(prefix_1, "-frecord-gcc-switches", anonymous_412, Flag, INVALID, frecord_command_line, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2738OPTION(prefix_1, "-frecord-marker=", frecord_marker_EQ, Joined, gfortran_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2739OPTION(prefix_1, "-frecovery-ast-type", frecovery_ast_type, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 2740 "Preserve the type for recovery expressions when possible", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2741OPTION(prefix_1, "-frecovery-ast", frecovery_ast, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 2742 "Preserve expressions in AST rather than dropping them when encountering semantic errors", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2743OPTION(prefix_1, "-frecursive", frecursive, Flag, gfortran_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2744OPTION(prefix_1, "-freg-struct-return", freg_struct_return, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 2745 "Override the default ABI to return small structs in registers", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2746OPTION(prefix_1, "-fregister-global-dtors-with-atexit", fregister_global_dtors_with_atexit, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis, 0, 2747 "Use atexit or __cxa_atexit to register global destructors", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2748OPTION(prefix_1, "-fregs-graph", fregs_graph, Flag, clang_ignored_f_Group, INVALID, nullptr, Ignored, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2749OPTION(prefix_1, "-frelaxed-template-template-args", frelaxed_template_template_args, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, 2750 "Enable C++17 relaxed template template argument matching", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2751OPTION(prefix_1, "-frename-registers", frename_registers, Flag, clang_ignored_gcc_optimization_f_Group, INVALID, nullptr, Ignored, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2752OPTION(prefix_1, "-freorder-blocks", freorder_blocks, Flag, clang_ignored_gcc_optimization_f_Group, INVALID, nullptr, Ignored, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2753OPTION(prefix_1, "-frepack-arrays", frepack_arrays, Flag, gfortran_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2754OPTION(prefix_1, "-fretain-comments-from-system-headers", fretain_comments_from_system_headers, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2755OPTION(prefix_1, "-fretain-subst-template-type-parm-type-ast-nodes", fretain_subst_template_type_parm_type_ast_nodes, Flag, f_Group, INVALID, nullptr, 0, CC1Option, 0, 2756 "Enable retain SubstTemplateTypeParmType nodes in the AST's representation of alias template specializations", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2757OPTION(prefix_1, "-frewrite-imports", frewrite_imports, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis, 0, 2758 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2759OPTION(prefix_1, "-frewrite-includes", frewrite_includes, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis, 0, 2760 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2761OPTION(prefix_1, "-fripa", fripa, Flag, clang_ignored_f_Group, INVALID, nullptr, Ignored, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2762OPTION(prefix_1, "-fropi", fropi, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | FlangOption | CC1Option | DefaultVis, 0, 2763 "Generate read-only position independent code (ARM only)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2764OPTION(prefix_1, "-frounding-math", frounding_math, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2765OPTION(prefix_1, "-frtlib-add-rpath", frtlib_add_rpath, Flag, INVALID, INVALID, nullptr, NoArgumentUnused, DefaultVis | FlangOption, 0, 2766 "Add -rpath with architecture-specific resource directory to the linker flags. When --hip-link is specified, also add -rpath with HIP runtime library directory to the linker flags", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2767OPTION(prefix_1, "-frtlib-defaultlib", frtlib_defaultlib, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CLOption, 0, 2768 "On Windows, emit /defaultlib: directives to link compiler-rt libraries (default)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2769OPTION(prefix_1, "-frtti-data", frtti_data, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, 2770 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2771OPTION(prefix_1, "-frtti", frtti, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, 2772 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2773OPTION(prefix_1, "-frwpi", frwpi, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | FlangOption | CC1Option | DefaultVis, 0, 2774 "Generate read-write position independent code (ARM only)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2775OPTION(prefix_2, "/FR", _SLASH_FR, Joined, cl_Group, INVALID, nullptr, NoXarchOption, CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2776OPTION(prefix_2, "/Fr", _SLASH_Fr, Joined, cl_Group, INVALID, nullptr, NoXarchOption, CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2777OPTION(prefix_1, "-fsafe-buffer-usage-suggestions", fsafe_buffer_usage_suggestions, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis, 0, 2778 "Display suggestions to update code associated with -Wunsafe-buffer-usage warnings", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2779OPTION(prefix_1, "-fsample-profile-use-profi", fsample_profile_use_profi, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 2780 "Use profi to infer block and edge counts", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2781OPTION(prefix_1, "-fsanitize-address-destructor=", sanitize_address_destructor_EQ, Joined, f_clang_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | CLOption, 0, 2782 "Set the kind of module destructors emitted by AddressSanitizer instrumentation. These destructors are emitted to unregister instrumented global variables when code is unloaded (e.g. via `dlclose()`).", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, "none,global") 2783OPTION(prefix_1, "-fsanitize-address-field-padding=", fsanitize_address_field_padding, Joined, f_clang_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | CLOption, 0, 2784 "Level of field padding for AddressSanitizer", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2785OPTION(prefix_1, "-fsanitize-address-globals-dead-stripping", fsanitize_address_globals_dead_stripping, Flag, f_clang_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | CLOption, 0, 2786 "Enable linker dead stripping of globals in AddressSanitizer", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2787OPTION(prefix_1, "-fsanitize-address-outline-instrumentation", fsanitize_address_outline_instrumentation, Flag, f_clang_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | CLOption, 0, 2788 "Always generate function calls for address sanitizer instrumentation", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2789OPTION(prefix_1, "-fsanitize-address-poison-custom-array-cookie", fsanitize_address_poison_custom_array_cookie, Flag, f_clang_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | CLOption, 0, 2790 "Enable poisoning array cookies when using custom operator new[] in AddressSanitizer", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2791OPTION(prefix_1, "-fsanitize-address-use-after-return=", sanitize_address_use_after_return_EQ, Joined, f_clang_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | CLOption, 0, 2792 "Select the mode of detecting stack use-after-return in AddressSanitizer", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "<mode>", "never,runtime,always") 2793OPTION(prefix_2, "/fsanitize-address-use-after-return", _SLASH_fsanitize_address_use_after_return, Joined, cl_Group, INVALID, nullptr, NoXarchOption, CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2794OPTION(prefix_1, "-fsanitize-address-use-after-scope", fsanitize_address_use_after_scope, Flag, f_clang_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | CLOption, 0, 2795 "Enable use-after-scope detection in AddressSanitizer", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2796OPTION(prefix_1, "-fsanitize-address-use-odr-indicator", fsanitize_address_use_odr_indicator, Flag, f_clang_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | CLOption, 0, 2797 "Enable ODR indicator globals to avoid false ODR violation reports in partially sanitized programs at the cost of an increase in binary size", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2798OPTION(prefix_1, "-fsanitize-blacklist=", anonymous_617, Joined, f_clang_Group, fsanitize_ignorelist_EQ, nullptr, HelpHidden, DefaultVis | CC1Option | CLOption, 0, 2799 "Alias for -fsanitize-ignorelist=", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2800OPTION(prefix_1, "-fsanitize-cfi-canonical-jump-tables", fsanitize_cfi_canonical_jump_tables, Flag, f_clang_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | CLOption, 0, 2801 "Make the jump table addresses canonical in the symbol table", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2802OPTION(prefix_1, "-fsanitize-cfi-cross-dso", fsanitize_cfi_cross_dso, Flag, f_clang_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | CLOption, 0, 2803 "Enable control flow integrity (CFI) checks for cross-DSO calls.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2804OPTION(prefix_1, "-fsanitize-cfi-icall-experimental-normalize-integers", fsanitize_cfi_icall_normalize_integers, Flag, f_clang_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | CLOption, 0, 2805 "Normalize integers in CFI indirect call type signature checks", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2806OPTION(prefix_1, "-fsanitize-cfi-icall-generalize-pointers", fsanitize_cfi_icall_generalize_pointers, Flag, f_clang_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | CLOption, 0, 2807 "Generalize pointers in CFI indirect call type signature checks", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2808OPTION(prefix_1, "-fsanitize-coverage-8bit-counters", fsanitize_coverage_8bit_counters, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 2809 "Enable frequency counters in sanitizer coverage", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2810OPTION(prefix_1, "-fsanitize-coverage-allowlist=", fsanitize_coverage_allowlist, Joined, f_clang_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | CLOption, 0, 2811 "Restrict sanitizer coverage instrumentation exclusively to modules and functions that match the provided special case list, except the blocked ones", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2812OPTION(prefix_1, "-fsanitize-coverage-control-flow", fsanitize_coverage_control_flow, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 2813 "Collect control flow of function", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2814OPTION(prefix_1, "-fsanitize-coverage-ignorelist=", fsanitize_coverage_ignorelist, Joined, f_clang_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | CLOption, 0, 2815 "Disable sanitizer coverage instrumentation for modules and functions that match the provided special case list, even the allowed ones", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2816OPTION(prefix_1, "-fsanitize-coverage-indirect-calls", fsanitize_coverage_indirect_calls, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 2817 "Enable sanitizer coverage for indirect calls", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2818OPTION(prefix_1, "-fsanitize-coverage-inline-8bit-counters", fsanitize_coverage_inline_8bit_counters, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 2819 "Enable inline 8-bit counters in sanitizer coverage", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2820OPTION(prefix_1, "-fsanitize-coverage-inline-bool-flag", fsanitize_coverage_inline_bool_flag, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 2821 "Enable inline bool flag in sanitizer coverage", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2822OPTION(prefix_1, "-fsanitize-coverage-no-prune", fsanitize_coverage_no_prune, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 2823 "Disable coverage pruning (i.e. instrument all blocks/edges)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2824OPTION(prefix_1, "-fsanitize-coverage-pc-table", fsanitize_coverage_pc_table, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 2825 "Create a table of coverage-instrumented PCs", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2826OPTION(prefix_1, "-fsanitize-coverage-stack-depth", fsanitize_coverage_stack_depth, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 2827 "Enable max stack depth tracing", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2828OPTION(prefix_1, "-fsanitize-coverage-trace-bb", fsanitize_coverage_trace_bb, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 2829 "Enable basic block tracing in sanitizer coverage", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2830OPTION(prefix_1, "-fsanitize-coverage-trace-cmp", fsanitize_coverage_trace_cmp, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 2831 "Enable cmp instruction tracing in sanitizer coverage", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2832OPTION(prefix_1, "-fsanitize-coverage-trace-div", fsanitize_coverage_trace_div, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 2833 "Enable div instruction tracing in sanitizer coverage", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2834OPTION(prefix_1, "-fsanitize-coverage-trace-gep", fsanitize_coverage_trace_gep, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 2835 "Enable gep instruction tracing in sanitizer coverage", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2836OPTION(prefix_1, "-fsanitize-coverage-trace-loads", fsanitize_coverage_trace_loads, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 2837 "Enable tracing of loads", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2838OPTION(prefix_1, "-fsanitize-coverage-trace-pc-guard", fsanitize_coverage_trace_pc_guard, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 2839 "Enable PC tracing with guard in sanitizer coverage", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2840OPTION(prefix_1, "-fsanitize-coverage-trace-pc", fsanitize_coverage_trace_pc, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 2841 "Enable PC tracing in sanitizer coverage", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2842OPTION(prefix_1, "-fsanitize-coverage-trace-stores", fsanitize_coverage_trace_stores, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 2843 "Enable tracing of stores", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2844OPTION(prefix_1, "-fsanitize-coverage-type=", fsanitize_coverage_type, Joined, INVALID, INVALID, nullptr, 0, CC1Option, 0, 2845 "Sanitizer coverage type", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2846OPTION(prefix_1, "-fsanitize-coverage=", fsanitize_coverage, CommaJoined, f_clang_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | CLOption, 0, 2847 "Specify the type of coverage instrumentation for Sanitizers", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2848OPTION(prefix_1, "-fsanitize-hwaddress-abi=", fsanitize_hwaddress_abi_EQ, Joined, f_clang_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | CLOption, 0, 2849 "Select the HWAddressSanitizer ABI to target (interceptor or platform, default interceptor). This option is currently unused.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2850OPTION(prefix_1, "-fsanitize-hwaddress-experimental-aliasing", fsanitize_hwaddress_experimental_aliasing, Flag, f_clang_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | CLOption, 0, 2851 "Enable aliasing mode in HWAddressSanitizer", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2852OPTION(prefix_1, "-fsanitize-ignorelist=", fsanitize_ignorelist_EQ, Joined, f_clang_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | CLOption, 0, 2853 "Path to ignorelist file for sanitizers", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2854OPTION(prefix_1, "-fsanitize-link-c++-runtime", fsanitize_link_cxx_runtime, Flag, f_clang_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2855OPTION(prefix_1, "-fsanitize-link-runtime", fsanitize_link_runtime, Flag, f_clang_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2856OPTION(prefix_1, "-fsanitize-memory-param-retval", fsanitize_memory_param_retval, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | CLOption, 0, 2857 "Enable detection of uninitialized parameters and return values", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2858OPTION(prefix_1, "-fsanitize-memory-track-origins=", fsanitize_memory_track_origins_EQ, Joined, f_clang_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | CLOption, 0, 2859 "Enable origins tracking in MemorySanitizer", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2860OPTION(prefix_1, "-fsanitize-memory-track-origins", fsanitize_memory_track_origins, Flag, f_clang_Group, fsanitize_memory_track_origins_EQ, "2\0", 0, DefaultVis | CC1Option | CLOption, 0, 2861 "Enable origins tracking in MemorySanitizer", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2862OPTION(prefix_1, "-fsanitize-memory-use-after-dtor", fsanitize_memory_use_after_dtor, Flag, f_clang_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | CLOption, 0, 2863 "Enable use-after-destroy detection in MemorySanitizer", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2864OPTION(prefix_1, "-fsanitize-memtag-mode=", fsanitize_memtag_mode_EQ, Joined, f_clang_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | CLOption, 0, 2865 "Set default MTE mode to 'sync' (default) or 'async'", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2866OPTION(prefix_1, "-fsanitize-minimal-runtime", fsanitize_minimal_runtime, Flag, f_clang_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | CLOption, 0, 2867 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2868OPTION(prefix_1, "-fsanitize-recover=", fsanitize_recover_EQ, CommaJoined, f_clang_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | CLOption, 0, 2869 "Enable recovery for specified sanitizers", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2870OPTION(prefix_1, "-fsanitize-recover", fsanitize_recover, Flag, f_clang_Group, fsanitize_recover_EQ, "all\0", 0, DefaultVis | CC1Option | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2871OPTION(prefix_1, "-fsanitize-stable-abi", fsanitize_stable_abi, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | CLOption, 0, 2872 "Stable ABI instrumentation for sanitizer runtime. Default: Conventional", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2873OPTION(prefix_1, "-fsanitize-stats", fsanitize_stats, Flag, f_clang_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | CLOption, 0, 2874 "Enable sanitizer statistics gathering.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2875OPTION(prefix_1, "-fsanitize-system-ignorelist=", fsanitize_system_ignorelist_EQ, Joined, INVALID, INVALID, nullptr, 0, DefaultVis | CC1Option | CLOption, 0, 2876 "Path to system ignorelist file for sanitizers", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2877OPTION(prefix_1, "-fsanitize-thread-atomics", fsanitize_thread_atomics, Flag, f_clang_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | CLOption, 0, 2878 "Enable atomic operations instrumentation in ThreadSanitizer (default)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2879OPTION(prefix_1, "-fsanitize-thread-func-entry-exit", fsanitize_thread_func_entry_exit, Flag, f_clang_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | CLOption, 0, 2880 "Enable function entry/exit instrumentation in ThreadSanitizer (default)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2881OPTION(prefix_1, "-fsanitize-thread-memory-access", fsanitize_thread_memory_access, Flag, f_clang_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | CLOption, 0, 2882 "Enable memory access instrumentation in ThreadSanitizer (default)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2883OPTION(prefix_1, "-fsanitize-trap=", fsanitize_trap_EQ, CommaJoined, f_clang_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | CLOption, 0, 2884 "Enable trapping for specified sanitizers", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2885OPTION(prefix_1, "-fsanitize-trap", fsanitize_trap, Flag, f_clang_Group, fsanitize_trap_EQ, "all\0", 0, DefaultVis | CC1Option | CLOption, 0, 2886 "Enable trapping for all sanitizers", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2887OPTION(prefix_1, "-fsanitize-undefined-ignore-overflow-pattern=", fsanitize_undefined_ignore_overflow_pattern_EQ, CommaJoined, INVALID, INVALID, nullptr, 0, DefaultVis | CC1Option | CLOption, 0, 2888 "Specify the overflow patterns to exclude from artihmetic sanitizer instrumentation", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, "none,all,add-overflow-test,negated-unsigned-const,post-decr-while") 2889OPTION(prefix_1, "-fsanitize-undefined-strip-path-components=", fsanitize_undefined_strip_path_components_EQ, Joined, f_clang_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | CLOption, 0, 2890 "Strip (or keep only, if negative) a given number of path components when emitting check metadata.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "<number>", nullptr) 2891OPTION(prefix_1, "-fsanitize-undefined-trap-on-error", fsanitize_undefined_trap_on_error, Flag, f_clang_Group, fsanitize_trap_EQ, "undefined\0", 0, DefaultVis | CC1Option | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2892OPTION(prefix_2, "/fsanitize=address", _SLASH_fsanitize_EQ_address, Flag, cl_Group, fsanitize_EQ, "address\0", NoXarchOption, CLOption, 0, 2893 "Enable AddressSanitizer", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2894OPTION(prefix_1, "-fsanitize=", fsanitize_EQ, CommaJoined, f_clang_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | CLOption, 0, 2895 "Turn on runtime checks for various forms of undefined or suspicious behavior. See user manual for available checks", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "<check>", nullptr) 2896OPTION(prefix_1, "-fsave-optimization-record=", fsave_optimization_record_EQ, Joined, f_Group, INVALID, nullptr, 0, DefaultVis | FlangOption, 0, 2897 "Generate an optimization record file in a specific format", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "<format>", nullptr) 2898OPTION(prefix_1, "-fsave-optimization-record", fsave_optimization_record, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | FlangOption, 0, 2899 "Generate a YAML optimization record file", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2900OPTION(prefix_1, "-fsched-interblock", anonymous_1275, Flag, clang_ignored_f_Group, INVALID, nullptr, Ignored, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2901OPTION(prefix_1, "-fschedule-insns2", fschedule_insns2, Flag, clang_ignored_gcc_optimization_f_Group, INVALID, nullptr, Ignored, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2902OPTION(prefix_1, "-fschedule-insns", fschedule_insns, Flag, clang_ignored_gcc_optimization_f_Group, INVALID, nullptr, Ignored, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2903OPTION(prefix_1, "-fsecond-underscore", fsecond_underscore, Flag, gfortran_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2904OPTION(prefix_1, "-fsee", fsee, Flag, clang_ignored_f_Group, INVALID, nullptr, Ignored, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2905OPTION(prefix_1, "-fseh-exceptions", fseh_exceptions, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, 2906 "Use SEH style exceptions", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2907OPTION(prefix_1, "-fsemantic-interposition", fsemantic_interposition, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis, 0, 2908 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2909OPTION(prefix_1, "-fseparate-named-sections", fseparate_named_sections, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis, 0, 2910 "Use separate unique sections for named sections (ELF Only)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2911OPTION(prefix_1, "-fshort-enums", fshort_enums, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis, 0, 2912 "Allocate to an enum type only as many bytes as it needs for the declared range of possible values", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2913OPTION(prefix_1, "-fshort-wchar", fshort_wchar, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, 2914 "Force wchar_t to be a short unsigned int", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2915OPTION(prefix_1, "-fshow-column", fshow_column, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, 2916 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2917OPTION(prefix_1, "-fshow-overloads=", fshow_overloads_EQ, Joined, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 2918 "Which overload candidates to show when overload resolution fails. Defaults to 'all'", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, "best,all") 2919OPTION(prefix_1, "-fshow-skipped-includes", fshow_skipped_includes, Flag, INVALID, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 2920 "Show skipped includes in -H output.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2921OPTION(prefix_1, "-fshow-source-location", fshow_source_location, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, 2922 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2923OPTION(prefix_1, "-fsign-zero", fsign_zero, Flag, gfortran_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2924OPTION(prefix_1, "-fsignaling-math", fsignaling_math, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2925OPTION(prefix_1, "-fsignaling-nans", fsignaling_nans, Flag, clang_ignored_gcc_optimization_f_Group, INVALID, nullptr, Ignored, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2926OPTION(prefix_1, "-fsigned-bitfields", fsigned_bitfields, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2927OPTION(prefix_1, "-fsigned-char", fsigned_char, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | DefaultVis, 0, 2928 "char is signed", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2929OPTION(prefix_1, "-fsigned-wchar", fsigned_wchar, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 2930 "Use a signed type for wchar_t", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2931OPTION(prefix_1, "-fsigned-zeros", fsigned_zeros, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | FC1Option | FlangOption | DefaultVis, 0, 2932 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2933OPTION(prefix_1, "-fsingle-precision-constant", fsingle_precision_constant, Flag, clang_ignored_gcc_optimization_f_Group, INVALID, nullptr, Ignored, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2934OPTION(prefix_1, "-fsized-deallocation", fsized_deallocation, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 2935 "Enable C++14 sized global deallocation functions", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2936OPTION(prefix_1, "-fsjlj-exceptions", fsjlj_exceptions, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, 2937 "Use SjLj style exceptions", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2938OPTION(prefix_1, "-fskip-odr-check-in-gmf", fskip_odr_check_in_gmf, Flag, f_Group, INVALID, nullptr, 0, CC1Option | DefaultVis, 0, 2939 "Skip ODR checks for decls in the global module fragment.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2940OPTION(prefix_1, "-fslp-vectorize-aggressive", anonymous_3, Flag, clang_ignored_legacy_options_Group, INVALID, nullptr, Ignored, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2941OPTION(prefix_1, "-fslp-vectorize", fslp_vectorize, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, 2942 "Enable the superword-level parallelism vectorization passes", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2943OPTION(prefix_1, "-fspec-constr-count", fspec_constr_count, Flag, clang_ignored_f_Group, INVALID, nullptr, Ignored, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2944OPTION(prefix_1, "-fspell-checking-limit=", fspell_checking_limit_EQ, Joined, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 2945 "Set the maximum number of times to perform spell checking on unrecognized identifiers (0 = no limit)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2946OPTION(prefix_1, "-fspell-checking", fspell_checking, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, 2947 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2948OPTION(prefix_1, "-fsplit-dwarf-inlining", fsplit_dwarf_inlining, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis, 0, 2949 "Provide minimal debug info in the object/executable to facilitate online symbolication/stack traces in the absence of .dwo/.dwp files when using Split DWARF", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2950OPTION(prefix_1, "-fsplit-lto-unit", fsplit_lto_unit, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis | CLOption, 0, 2951 "Enables splitting of the LTO unit", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2952OPTION(prefix_1, "-fsplit-machine-functions", fsplit_machine_functions, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis, 0, 2953 "Enable late function splitting using profile information (x86 ELF)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2954OPTION(prefix_1, "-fsplit-stack", fsplit_stack, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis, 0, 2955 "Use segmented stack", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2956OPTION(prefix_1, "-fspv-target-env=", fspv_target_env_EQ, Joined, dxc_Group, INVALID, nullptr, 0, DefaultVis | DXCOption, 0, 2957 "Specify the target environment", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, "vulkan1.2, vulkan1.3") 2958OPTION(prefix_1, "-fstack-arrays", fstack_arrays, Flag, INVALID, INVALID, nullptr, 0, FC1Option | FlangOption, 0, 2959 "Attempt to allocate array temporaries on the stack, no matter their size", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2960OPTION(prefix_1, "-fstack-check", fstack_check, Flag, clang_ignored_f_Group, INVALID, nullptr, Ignored, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2961OPTION(prefix_1, "-fstack-clash-protection", fstack_clash_protection, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis, 0, 2962 "Enable stack clash protection", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2963OPTION(prefix_1, "-fstack-protector-all", fstack_protector_all, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, 2964 "Enable stack protectors for all functions", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2965OPTION(prefix_1, "-fstack-protector-strong", fstack_protector_strong, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, 2966 "Enable stack protectors for some functions vulnerable to stack smashing. Compared to -fstack-protector, this uses a stronger heuristic that includes functions containing arrays of any size (and any type), as well as any calls to alloca or the taking of an address from a local variable", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2967OPTION(prefix_1, "-fstack-protector", fstack_protector, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, 2968 "Enable stack protectors for some functions vulnerable to stack smashing. This uses a loose heuristic which considers functions vulnerable if they contain a char (or 8bit integer) array or constant sized calls to alloca , which are of greater size than ssp-buffer-size (default: 8 bytes). All variable sized calls to alloca are considered vulnerable. A function with a stack protector has a guard value added to the stack frame that is checked on function exit. The guard value must be positioned in the stack frame such that a buffer overflow from a vulnerable variable will overwrite the guard value before overwriting the function's return address. The reference stack guard value is stored in a global variable.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2969OPTION(prefix_1, "-fstack-size-section", fstack_size_section, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis, 0, 2970 "Emit section containing metadata on function stack sizes", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2971OPTION(prefix_1, "-fstack-usage", fstack_usage, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, 2972 "Emit .su file containing information on function stack sizes", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2973OPTION(prefix_1, "-fstandalone-debug", fstandalone_debug, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CLOption | DXCOption, 0, 2974 "Emit full debug info for all types used by the program", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2975OPTION(prefix_1, "-fstrength-reduce", fstrength_reduce, Flag, clang_ignored_gcc_optimization_f_Group, INVALID, nullptr, Ignored, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2976OPTION(prefix_1, "-fstrict-aliasing", fstrict_aliasing, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CLOption | DXCOption, 0, 2977 "Enable optimizations based on strict aliasing rules", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2978OPTION(prefix_1, "-fstrict-enums", fstrict_enums, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 2979 "Enable optimizations based on the strict definition of an enum's value range", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2980OPTION(prefix_1, "-fstrict-flex-arrays=", fstrict_flex_arrays_EQ, Joined, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 2981 "Enable optimizations based on the strict definition of flexible arrays", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "<n>", "0,1,2,3") 2982OPTION(prefix_1, "-fstrict-float-cast-overflow", fstrict_float_cast_overflow, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | DefaultVis, 0, 2983 "Assume that overflowing float-to-int casts are undefined (default)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2984OPTION(prefix_1, "-fstrict-overflow", fstrict_overflow, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2985OPTION(prefix_1, "-fstrict-return", fstrict_return, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, 2986 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2987OPTION(prefix_1, "-fstrict-vtable-pointers", fstrict_vtable_pointers, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis, 0, 2988 "Enable optimizations based on the strict rules for overwriting polymorphic C++ objects", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2989OPTION(prefix_1, "-fstruct-path-tbaa", fstruct_path_tbaa, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2990OPTION(prefix_1, "-fswift-async-fp=", fswift_async_fp_EQ, Joined, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | CC1AsOption | CLOption, 0, 2991 "Control emission of Swift async extended frame info", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "<option>", "auto,always,never") 2992OPTION(prefix_1, "-fsycl-is-device", fsycl_is_device, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 2993 "Generate code for SYCL device.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2994OPTION(prefix_1, "-fsycl-is-host", fsycl_is_host, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 2995 "SYCL host compilation", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2996OPTION(prefix_1, "-fsycl", fsycl, Flag, sycl_Group, INVALID, nullptr, 0, DefaultVis | CLOption, 0, 2997 "Enables SYCL kernels compilation for device", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2998OPTION(prefix_1, "-fsymbol-partition=", fsymbol_partition_EQ, Joined, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 2999OPTION(prefix_1, "-fsyntax-only", fsyntax_only, Flag, Action_Group, INVALID, nullptr, NoXarchOption, DefaultVis | CLOption | DXCOption | CC1Option | FC1Option | FlangOption, 0, 3000 "Run the preprocessor, parser and semantic analysis stages", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3001OPTION(prefix_1, "-fsystem-module", fsystem_module, Flag, INVALID, INVALID, nullptr, 0, DefaultVis | CC1Option | CLOption, 0, 3002 "Build this module as a system module. Only used with -emit-module", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3003OPTION(prefix_2, "/FS", _SLASH_FS, Flag, cl_ignored_Group, INVALID, nullptr, NoXarchOption, CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3004OPTION(prefix_1, "-ftabstop=", ftabstop_EQ, Joined, f_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3005OPTION(prefix_1, "-ftabstop", ftabstop, Separate, INVALID, INVALID, nullptr, 0, CC1Option, 0, 3006 "Set the tab stop distance.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "<N>", nullptr) 3007OPTION(prefix_1, "-ftemplate-backtrace-limit=", ftemplate_backtrace_limit_EQ, Joined, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 3008 "Set the maximum number of entries to print in a template instantiation backtrace (0 = no limit)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3009OPTION(prefix_1, "-ftemplate-depth-", anonymous_1347, Joined, f_Group, ftemplate_depth_EQ, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3010OPTION(prefix_1, "-ftemplate-depth=", ftemplate_depth_EQ, Joined, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 3011 "Set the maximum depth of recursive template instantiation", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3012OPTION(prefix_1, "-fterminated-vtables", anonymous_1361, Flag, INVALID, fapple_kext, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3013OPTION(prefix_1, "-ftest-coverage", ftest_coverage, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, 3014 "Produce gcov notes files (*.gcno)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3015OPTION(prefix_1, "-ftest-module-file-extension=", ftest_module_file_extension_EQ, Joined, INVALID, INVALID, nullptr, 0, CC1Option, 0, 3016 "introduce a module file extension for testing purposes. The argument is parsed as blockname:major:minor:hashed:user info", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3017OPTION(prefix_1, "-fthin-link-bitcode=", fthin_link_bitcode_EQ, Joined, f_Group, INVALID, nullptr, 0, DefaultVis | CLOption | CC1Option, 0, 3018 "Write minimized bitcode to <file> for the ThinLTO thin link only", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3019OPTION(prefix_1, "-fthinlto-index=", fthinlto_index_EQ, Joined, f_Group, INVALID, nullptr, 0, DefaultVis | CLOption | CC1Option, 0, 3020 "Perform ThinLTO importing using provided function summary index", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3021OPTION(prefix_1, "-fthreadsafe-statics", fthreadsafe_statics, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, 3022 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3023OPTION(prefix_1, "-ftime-report=", ftime_report_EQ, Joined, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 3024 "(For new pass manager) 'per-pass': one report for each pass; 'per-pass-run': one report for each pass invocation", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, "per-pass,per-pass-run") 3025OPTION(prefix_1, "-ftime-report", ftime_report, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3026OPTION(prefix_1, "-ftime-trace-granularity=", ftime_trace_granularity_EQ, Joined, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | CLOption | DXCOption, 0, 3027 "Minimum time granularity (in microseconds) traced by time profiler", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3028OPTION(prefix_1, "-ftime-trace-verbose", ftime_trace_verbose, Joined, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | CLOption | DXCOption, 0, 3029 "Make time trace capture verbose event details (e.g. source filenames). This can increase the size of the output by 2-3 times", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3030OPTION(prefix_1, "-ftime-trace=", ftime_trace_EQ, Joined, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | CLOption | DXCOption, 0, 3031 "Similar to -ftime-trace. Specify the JSON file or a directory which will contain the JSON file", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3032OPTION(prefix_1, "-ftime-trace", ftime_trace, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CLOption | DXCOption, 0, 3033 "Turn on time profiler. Generates JSON file based on output filename.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3034OPTION(prefix_1, "-ftls-model=", ftlsmodel_EQ, Joined, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, "global-dynamic,local-dynamic,initial-exec,local-exec") 3035OPTION(prefix_1, "-ftls-model", ftls_model, Flag, clang_ignored_f_Group, INVALID, nullptr, Ignored, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3036OPTION(prefix_1, "-ftracer", ftracer, Flag, clang_ignored_gcc_optimization_f_Group, INVALID, nullptr, Ignored, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3037OPTION(prefix_1, "-ftrap-function=", ftrap_function_EQ, Joined, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 3038 "Issue call to specified function rather than a trap instruction", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3039OPTION(prefix_1, "-ftrapping-math", ftrapping_math, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3040OPTION(prefix_1, "-ftrapv-handler=", ftrapv_handler_EQ, Joined, f_Group, INVALID, nullptr, 0, DefaultVis, 0, 3041 "Specify the function to be called on overflow", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "<function name>", nullptr) 3042OPTION(prefix_1, "-ftrapv-handler", ftrapv_handler, Separate, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3043OPTION(prefix_1, "-ftrapv", ftrapv, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 3044 "Trap on integer overflow", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3045OPTION(prefix_1, "-ftree-dce", ftree_dce, Flag, clang_ignored_gcc_optimization_f_Group, INVALID, nullptr, Ignored, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3046OPTION(prefix_1, "-ftree-salias", ftree_salias, Flag, clang_ignored_f_Group, INVALID, nullptr, Ignored, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3047OPTION(prefix_1, "-ftree-slp-vectorize", anonymous_1358, Flag, INVALID, fslp_vectorize, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3048OPTION(prefix_1, "-ftree-ter", ftree_ter, Flag, clang_ignored_gcc_optimization_f_Group, INVALID, nullptr, Ignored, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3049OPTION(prefix_1, "-ftree-vectorizer-verbose", ftree_vectorizer_verbose, Flag, clang_ignored_f_Group, INVALID, nullptr, Ignored, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3050OPTION(prefix_1, "-ftree-vectorize", anonymous_1356, Flag, INVALID, fvectorize, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3051OPTION(prefix_1, "-ftree-vrp", ftree_vrp, Flag, clang_ignored_gcc_optimization_f_Group, INVALID, nullptr, Ignored, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3052OPTION(prefix_1, "-ftrigraphs", ftrigraphs, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 3053 "Process trigraph sequences", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3054OPTION(prefix_1, "-ftrivial-auto-var-init-max-size=", ftrivial_auto_var_init_max_size, Joined, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | CLOption | DXCOption, 0, 3055 "Stop initializing trivial automatic stack variables if var size exceeds the specified number of instances (in bytes)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3056OPTION(prefix_1, "-ftrivial-auto-var-init-stop-after=", ftrivial_auto_var_init_stop_after, Joined, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | CLOption | DXCOption, 0, 3057 "Stop initializing trivial automatic stack variables after the specified number of instances", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3058OPTION(prefix_1, "-ftrivial-auto-var-init=", ftrivial_auto_var_init, Joined, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | CLOption | DXCOption, 0, 3059 "Initialize trivial automatic stack variables. Defaults to 'uninitialized'", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, "uninitialized,zero,pattern") 3060OPTION(prefix_1, "-ftype-visibility=", ftype_visibility, Joined, INVALID, INVALID, nullptr, 0, CC1Option, 0, 3061 "Default type visibility", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, "default,hidden,internal,protected") 3062OPTION(prefix_1, "-function-alignment", function_alignment, Separate, INVALID, INVALID, nullptr, 0, CC1Option, 0, 3063 "default alignment for functions", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3064OPTION(prefix_1, "-funderscoring", funderscoring, Flag, f_Group, INVALID, nullptr, 0, FC1Option | FlangOption, 0, 3065 "Appends one trailing underscore to external names", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3066OPTION(prefix_1, "-funified-lto", funified_lto, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | DefaultVis | CC1Option, 0, 3067 "Use the unified LTO pipeline", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3068OPTION(prefix_1, "-funique-basic-block-section-names", funique_basic_block_section_names, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis, 0, 3069 "Use unique names for basic block sections (ELF Only)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3070OPTION(prefix_1, "-funique-internal-linkage-names", funique_internal_linkage_names, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis, 0, 3071 "Uniqueify Internal Linkage Symbol Names by appending the MD5 hash of the module path", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3072OPTION(prefix_1, "-funique-section-names", funique_section_names, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, 3073 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3074OPTION(prefix_1, "-funit-at-a-time", fanonymous_1767, Flag, clang_ignored_gcc_optimization_f_Group, INVALID, nullptr, Ignored, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3075OPTION(prefix_1, "-funknown-anytype", funknown_anytype, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 3076 "Enable parser support for the __unknown_anytype type; for testing purposes only", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3077OPTION(prefix_1, "-funroll-all-loops", funroll_all_loops, Flag, clang_ignored_gcc_optimization_f_Group, INVALID, nullptr, Ignored, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3078OPTION(prefix_1, "-funroll-loops", funroll_loops, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 3079 "Turn on loop unroller", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3080OPTION(prefix_1, "-funsafe-loop-optimizations", funsafe_loop_optimizations, Flag, clang_ignored_gcc_optimization_f_Group, INVALID, nullptr, Ignored, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3081OPTION(prefix_1, "-funsafe-math-optimizations", funsafe_math_optimizations, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 3082 "Allow unsafe floating-point math optimizations which may decrease precision", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3083OPTION(prefix_1, "-funsigned-bitfields", funsigned_bitfields, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3084OPTION(prefix_1, "-funsigned-char", funsigned_char, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3085OPTION(prefix_1, "-funswitch-loops", funswitch_loops, Flag, clang_ignored_gcc_optimization_f_Group, INVALID, nullptr, Ignored, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3086OPTION(prefix_1, "-funwind-tables=", funwind_tables_EQ, Joined, INVALID, INVALID, nullptr, 0, CC1Option, 0, 3087 "Generate unwinding tables for all functions", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3088OPTION(prefix_1, "-funwind-tables", funwind_tables, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3089OPTION(prefix_1, "-fuse-ctor-homing", fuse_ctor_homing, Flag, INVALID, INVALID, nullptr, 0, CC1Option | CC1AsOption, 0, 3090 "Use constructor homing if we are using limited debug info already", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3091OPTION(prefix_1, "-fuse-cuid=", fuse_cuid_EQ, Joined, offload_Group, INVALID, nullptr, 0, DefaultVis | DefaultVis | CLOption, 0, 3092 "Method to generate ID's for compilation units for single source offloading languages CUDA and HIP: 'hash' (ID's generated by hashing file path and command line options) | 'random' (ID's generated as random numbers) | 'none' (disabled). Default is 'hash'. This option will be overridden by option '-cuid=[ID]' if it is specified.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3093OPTION(prefix_1, "-fuse-cxa-atexit", fuse_cxa_atexit, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, 3094 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3095OPTION(prefix_1, "-fuse-init-array", fuse_init_array, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, 3096 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3097OPTION(prefix_1, "-fuse-ld=", fuse_ld_EQ, Joined, f_Group, INVALID, nullptr, LinkOption, DefaultVis | FlangOption | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3098OPTION(prefix_1, "-fuse-line-directives", fuse_line_directives, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis, 0, 3099 "Use #line in preprocessed output", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3100OPTION(prefix_1, "-fuse-linker-plugin", fuse_linker_plugin, Flag, clang_ignored_gcc_optimization_f_Group, INVALID, nullptr, Ignored, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3101OPTION(prefix_1, "-fuse-register-sized-bitfield-access", fuse_register_sized_bitfield_access, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 3102 "Use register sized accesses to bit-fields, when possible.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3103OPTION(prefix_2, "/FU", _SLASH_FU, JoinedOrSeparate, cl_Group, INVALID, nullptr, NoXarchOption, CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3104OPTION(prefix_1, "-fvalidate-ast-input-files-content", fvalidate_ast_input_files_content, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 3105 "Compute and store the hash of input files used to build an AST. Files with mismatching mtime's are considered valid if both contents is identical", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3106OPTION(prefix_1, "-fvariable-expansion-in-unroller", fvariable_expansion_in_unroller, Flag, clang_ignored_gcc_optimization_f_Group, INVALID, nullptr, Ignored, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3107OPTION(prefix_1, "-fveclib=", fveclib, Joined, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | FlangOption | FC1Option, 0, 3108 "Use the given vector functions library", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, "Accelerate,libmvec,MASSV,SVML,SLEEF,Darwin_libsystem_m,ArmPL,AMDLIBM,none") 3109OPTION(prefix_1, "-fvect-cost-model", fvect_cost_model, Flag, clang_ignored_gcc_optimization_f_Group, INVALID, nullptr, Ignored, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3110OPTION(prefix_1, "-fvectorize", fvectorize, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, 3111 "Enable the loop vectorization passes", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3112OPTION(prefix_1, "-fverbose-asm", fverbose_asm, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, 3113 "Generate verbose assembly output", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3114OPTION(prefix_1, "-fverify-debuginfo-preserve-export=", fverify_debuginfo_preserve_export, Joined, INVALID, INVALID, nullptr, 0, CC1Option, 0, 3115 "Export debug info (by testing original Debug Info) failures into specified (JSON) file (should be abs path as we use append mode to insert new JSON objects).", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "<file>", nullptr) 3116OPTION(prefix_1, "-fverify-debuginfo-preserve", fverify_debuginfo_preserve, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 3117 "Enable Debug Info Metadata preservation testing in optimizations.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3118OPTION(prefix_1, "-fverify-intermediate-code", fverify_intermediate_code, Flag, f_clang_Group, INVALID, nullptr, 0, DefaultVis | CLOption | DXCOption, 0, 3119 "Enable verification of LLVM IR", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3120OPTION(prefix_1, "-fversion-loops-for-stride", floop_versioning, Flag, INVALID, INVALID, nullptr, 0, FC1Option | FlangOption, 0, 3121 "Create unit-strided versions of loops", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3122OPTION(prefix_1, "-fvirtual-function-elimination", fvirtual_function_elimination, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis | CLOption, 0, 3123 "Enables dead virtual function elimination optimization. Requires -flto=full", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3124OPTION(prefix_1, "-fvisibility-dllexport=", fvisibility_dllexport_EQ, Joined, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 3125 "The visibility for dllexport definitions. If Keep is specified the visibility is not adjusted [-fvisibility-from-dllstorageclass]", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, "keep,hidden,protected,default") 3126OPTION(prefix_1, "-fvisibility-externs-dllimport=", fvisibility_externs_dllimport_EQ, Joined, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 3127 "The visibility for dllimport external declarations. If Keep is specified the visibility is not adjusted [-fvisibility-from-dllstorageclass]", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, "keep,hidden,protected,default") 3128OPTION(prefix_1, "-fvisibility-externs-nodllstorageclass=", fvisibility_externs_nodllstorageclass_EQ, Joined, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 3129 "The visibility for external declarations without an explicit DLL storage class. If Keep is specified the visibility is not adjusted [-fvisibility-from-dllstorageclass]", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, "keep,hidden,protected,default") 3130OPTION(prefix_1, "-fvisibility-from-dllstorageclass", fvisibility_from_dllstorageclass, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis, 0, 3131 "Override the visibility of globals based on their final DLL storage class.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3132OPTION(prefix_1, "-fvisibility-global-new-delete-hidden", fvisibility_global_new_delete_hidden, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, 3133 "Give global C++ operator new and delete declarations hidden visibility", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3134OPTION(prefix_1, "-fvisibility-global-new-delete=", fvisibility_global_new_delete_EQ, Joined, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 3135 "The visibility for global C++ operator new and delete declarations. If 'source' is specified the visibility is not adjusted", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, "force-default,force-protected,force-hidden,source") 3136OPTION(prefix_1, "-fvisibility-inlines-hidden-static-local-var", fvisibility_inlines_hidden_static_local_var, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis | CC1Option, 0, 3137 "When -fvisibility-inlines-hidden is enabled, static variables in inline C++ member functions will also be given hidden visibility by default", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3138OPTION(prefix_1, "-fvisibility-inlines-hidden", fvisibility_inlines_hidden, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis, 0, 3139 "Give inline C++ member functions hidden visibility by default", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3140OPTION(prefix_1, "-fvisibility-ms-compat", fvisibility_ms_compat, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, 3141 "Give global types 'default' visibility and global functions and variables 'hidden' visibility by default", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3142OPTION(prefix_1, "-fvisibility-nodllstorageclass=", fvisibility_nodllstorageclass_EQ, Joined, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 3143 "The visibility for definitions without an explicit DLL storage class. If Keep is specified the visibility is not adjusted [-fvisibility-from-dllstorageclass]", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, "keep,hidden,protected,default") 3144OPTION(prefix_1, "-fvisibility=", fvisibility_EQ, Joined, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 3145 "Set the default symbol visibility for all global definitions", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, "default,hidden,internal,protected") 3146OPTION(prefix_1, "-fwarn-stack-size=", fwarn_stack_size_EQ, Joined, INVALID, INVALID, nullptr, 0, CC1Option, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3147OPTION(prefix_1, "-fwasm-exceptions", fwasm_exceptions, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, 3148 "Use WebAssembly style exceptions", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3149OPTION(prefix_1, "-fwchar-type=", fwchar_type_EQ, Joined, INVALID, INVALID, nullptr, 0, CC1Option, 0, 3150 "Select underlying type for wchar_t", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, "char,short,int") 3151OPTION(prefix_1, "-fweb", fweb, Flag, clang_ignored_gcc_optimization_f_Group, INVALID, nullptr, Ignored, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3152OPTION(prefix_1, "-fwhole-file", fwhole_file, Flag, gfortran_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3153OPTION(prefix_1, "-fwhole-program-vtables", fwhole_program_vtables, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis | CLOption, 0, 3154 "Enables whole-program vtable optimization. Requires -flto", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3155OPTION(prefix_1, "-fwhole-program", fwhole_program, Flag, clang_ignored_gcc_optimization_f_Group, INVALID, nullptr, Ignored, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3156OPTION(prefix_1, "-fwrapv", fwrapv, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 3157 "Treat signed integer overflow as two's complement", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3158OPTION(prefix_1, "-fwritable-strings", fwritable_strings, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 3159 "Store string literals as writable data", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3160OPTION(prefix_1, "-fxl-pragma-pack", fxl_pragma_pack, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis, 0, 3161 "Enable IBM XL #pragma pack handling", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3162OPTION(prefix_1, "-fxor-operator", fxor_operator, Flag, f_Group, INVALID, nullptr, 0, FC1Option | FlangOption, 0, 3163 "Enable .XOR. as a synonym of .NEQV.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3164OPTION(prefix_1, "-fxray-always-emit-customevents", fxray_always_emit_customevents, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis, 0, 3165 "Always emit __xray_customevent(...) calls even if the containing function is not always instrumented", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3166OPTION(prefix_1, "-fxray-always-emit-typedevents", fxray_always_emit_typedevents, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis, 0, 3167 "Always emit __xray_typedevent(...) calls even if the containing function is not always instrumented", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3168OPTION(prefix_1, "-fxray-always-instrument=", fxray_always_instrument, Joined, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 3169 "DEPRECATED: Filename defining the whitelist for imbuing the 'always instrument' XRay attribute.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3170OPTION(prefix_1, "-fxray-attr-list=", fxray_attr_list, Joined, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 3171 "Filename defining the list of functions/types for imbuing XRay attributes.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3172OPTION(prefix_1, "-fxray-function-groups=", fxray_function_groups, Joined, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 3173 "Only instrument 1 of N groups", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3174OPTION(prefix_1, "-fxray-function-index", fxray_function_index, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | DefaultVis, 0, 3175 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3176OPTION(prefix_1, "-fxray-ignore-loops", fxray_ignore_loops, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis, 0, 3177 "Don't instrument functions with loops unless they also meet the minimum function size", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3178OPTION(prefix_1, "-fxray-instruction-threshold=", fxray_instruction_threshold_EQ, Joined, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 3179 "Sets the minimum function size to instrument with XRay", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3180OPTION(prefix_1, "-fxray-instrumentation-bundle=", fxray_instrumentation_bundle, Joined, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 3181 "Select which XRay instrumentation points to emit. Options: all, none, function-entry, function-exit, function, custom. Default is 'all'. 'function' includes both 'function-entry' and 'function-exit'.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3182OPTION(prefix_1, "-fxray-instrument", fxray_instrument, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis, 0, 3183 "Generate XRay instrumentation sleds on function entry and exit", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3184OPTION(prefix_1, "-fxray-link-deps", fxray_link_deps, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, 3185 "Link XRay runtime library when -fxray-instrument is specified (default)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3186OPTION(prefix_1, "-fxray-modes=", fxray_modes, Joined, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 3187 "List of modes to link in by default into XRay instrumented binaries.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3188OPTION(prefix_1, "-fxray-never-instrument=", fxray_never_instrument, Joined, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 3189 "DEPRECATED: Filename defining the whitelist for imbuing the 'never instrument' XRay attribute.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3190OPTION(prefix_1, "-fxray-selected-function-group=", fxray_selected_function_group, Joined, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 3191 "When using -fxray-function-groups, select which group of functions to instrument. Valid range is 0 to fxray-function-groups - 1", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3192OPTION(prefix_2, "/Fx", _SLASH_Fx, Flag, cl_Group, INVALID, nullptr, NoXarchOption, CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3193OPTION(prefix_1, "-fzero-call-used-regs=", fzero_call_used_regs_EQ, Joined, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 3194 "Clear call-used registers upon function return (AArch64/x86 only)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, "skip,used-gpr-arg,used-gpr,used-arg,used,all-gpr-arg,all-gpr,all-arg,all") 3195OPTION(prefix_1, "-fzero-initialized-in-bss", fzero_initialized_in_bss, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, 3196 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3197OPTION(prefix_1, "-fzos-extensions", fzos_extensions, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 3198 "Accept some non-standard constructs supported by the z/OS compiler", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3199OPTION(prefix_1, "-fzvector", fzvector, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis, 0, 3200 "Enable System z vector language extension", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3201OPTION(prefix_1, "-F", F, JoinedOrSeparate, INVALID, INVALID, nullptr, RenderJoined, DefaultVis | CC1Option, 0, 3202 "Add directory to framework include search path", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3203OPTION(prefix_2, "/F", _SLASH_F, JoinedOrSeparate, cl_Group, INVALID, nullptr, NoXarchOption, CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3204OPTION(prefix_1, "-g0", g0, Flag, gN_Group, INVALID, nullptr, 0, DefaultVis | FlangOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3205OPTION(prefix_2, "/G1", _SLASH_G1, Flag, cl_Group, INVALID, nullptr, NoXarchOption, CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3206OPTION(prefix_1, "-g1", g1, Flag, gN_Group, gline_tables_only, nullptr, 0, DefaultVis | FlangOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3207OPTION(prefix_2, "/G2", _SLASH_G2, Flag, cl_Group, INVALID, nullptr, NoXarchOption, CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3208OPTION(prefix_1, "-g2", g2, Flag, gN_Group, INVALID, nullptr, 0, DefaultVis | FlangOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3209OPTION(prefix_1, "-g3", g3, Flag, gN_Group, INVALID, nullptr, 0, DefaultVis | FlangOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3210OPTION(prefix_1, "-G=", G_EQ, Joined, m_Group, G, nullptr, NoXarchOption, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3211OPTION(prefix_2, "/GA", _SLASH_GA, Flag, cl_Group, ftlsmodel_EQ, "local-exec\0", NoXarchOption, CLOption, 0, 3212 "Assume thread-local variables are defined in the executable", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3213OPTION(prefix_3, "--gcc-install-dir=", gcc_install_dir_EQ, Joined, INVALID, INVALID, nullptr, 0, DefaultVis | FlangOption, 0, 3214 "Use GCC installation in the specified directory. The directory ends with path components like 'lib{,32,64}/gcc{,-cross}/$triple/$version'. Note: executables (e.g. ld) used by the compiler are not overridden by the selected GCC installation", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3215OPTION(prefix_3, "--gcc-toolchain=", gcc_toolchain, Joined, INVALID, INVALID, nullptr, NoXarchOption, DefaultVis | FlangOption, 0, 3216 "Specify a directory where Clang can find 'include' and 'lib{,32,64}/gcc{,-cross}/$triple/$version'. Clang will use the GCC installation with the largest version", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{FlangOption}}, "Specify a directory where Flang can find 'lib{,32,64}/gcc{,-cross}/$triple/$version'. Flang will use the GCC installation with the largest version") }}), nullptr, nullptr) 3217OPTION(prefix_3, "--gcc-triple=", gcc_triple_EQ, Joined, INVALID, INVALID, nullptr, 0, DefaultVis, 0, 3218 "Search for the GCC installation with the specified triple.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3219OPTION(prefix_1, "-gcodeview-command-line", gcodeview_command_line, Flag, INVALID, INVALID, nullptr, 0, DefaultVis | DefaultVis | CLOption | DXCOption | CC1Option, 0, 3220 "Emit compiler path and command line into CodeView debug information", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3221OPTION(prefix_1, "-gcodeview-ghash", gcodeview_ghash, Flag, INVALID, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis | CLOption | DXCOption, 0, 3222 "Emit type record hashes in a .debug$H section", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3223OPTION(prefix_1, "-gcodeview", gcodeview, Flag, INVALID, INVALID, nullptr, 0, DefaultVis | CC1Option | CC1AsOption | CLOption | DXCOption, 0, 3224 "Generate CodeView debug information", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3225OPTION(prefix_1, "-gcoff", gcoff, Joined, g_Group, INVALID, nullptr, Unsupported, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3226OPTION(prefix_1, "-gcolumn-info", gcolumn_info, Flag, g_flags_Group, INVALID, nullptr, 0, DefaultVis | CLOption | DXCOption, 0, 3227 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3228OPTION(prefix_1, "-gdbx", gdbx, Flag, gTune_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3229OPTION(prefix_1, "-gdwarf-2", gdwarf_2, Flag, g_Group, INVALID, nullptr, 0, DefaultVis, 0, 3230 "Generate source-level debug information with dwarf version 2", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3231OPTION(prefix_1, "-gdwarf-3", gdwarf_3, Flag, g_Group, INVALID, nullptr, 0, DefaultVis, 0, 3232 "Generate source-level debug information with dwarf version 3", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3233OPTION(prefix_1, "-gdwarf-4", gdwarf_4, Flag, g_Group, INVALID, nullptr, 0, DefaultVis, 0, 3234 "Generate source-level debug information with dwarf version 4", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3235OPTION(prefix_1, "-gdwarf-5", gdwarf_5, Flag, g_Group, INVALID, nullptr, 0, DefaultVis, 0, 3236 "Generate source-level debug information with dwarf version 5", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3237OPTION(prefix_1, "-gdwarf-aranges", gdwarf_aranges, Flag, g_flags_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3238OPTION(prefix_1, "-gdwarf32", gdwarf32, Flag, g_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | CC1AsOption, 0, 3239 "Enables DWARF32 format for ELF binaries, if debug information emission is enabled.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3240OPTION(prefix_1, "-gdwarf64", gdwarf64, Flag, g_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | CC1AsOption, 0, 3241 "Enables DWARF64 format for ELF binaries, if debug information emission is enabled.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3242OPTION(prefix_1, "-gdwarf", gdwarf, Flag, g_Group, INVALID, nullptr, 0, DefaultVis | CLOption | DXCOption, 0, 3243 "Generate source-level debug information with the default dwarf version", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3244OPTION(prefix_2, "/Gd", _SLASH_Gd, Flag, cl_Group, INVALID, nullptr, NoXarchOption, CLOption, 0, 3245 "Set __cdecl as a default calling convention", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3246OPTION(prefix_1, "-gembed-source", gembed_source, Flag, g_flags_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 3247 "Embed source text in DWARF debug sections", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3248OPTION(prefix_1, "-gen-cdb-fragment-path", gen_cdb_fragment_path, Separate, internal_debug_Group, INVALID, nullptr, NoXarchOption | HelpHidden, DefaultVis | CLOption | DXCOption, 0, 3249 "Emit a compilation database fragment to the specified directory", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3250OPTION(prefix_1, "-gen-reproducer=", gen_reproducer_eq, Joined, INVALID, INVALID, nullptr, NoArgumentUnused, DefaultVis | CLOption | DXCOption, 0, 3251 "Emit reproducer on (option: off, crash (default), error, always)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3252OPTION(prefix_1, "-gen-reproducer", gen_reproducer, Flag, internal_debug_Group, gen_reproducer_eq, "always\0", NoXarchOption | HelpHidden, DefaultVis | CLOption | DXCOption, 0, 3253 "Auto-generates preprocessed source files and a reproduction script", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3254OPTION(prefix_2, "/Ge", _SLASH_Ge, Flag, cl_Group, INVALID, nullptr, NoXarchOption, CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3255OPTION(prefix_2, "/GF-", _SLASH_GF_, Flag, cl_Group, fwritable_strings, nullptr, NoXarchOption, CLOption, 0, 3256 "Disable string pooling", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3257OPTION(prefix_1, "-gfull", gfull, Flag, g_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3258OPTION(prefix_2, "/GF", _SLASH_GF, Flag, cl_ignored_Group, INVALID, nullptr, NoXarchOption, CLOption, 0, 3259 "Enable string pooling (default)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3260OPTION(prefix_1, "-ggdb0", ggdb0, Flag, ggdbN_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3261OPTION(prefix_1, "-ggdb1", ggdb1, Flag, ggdbN_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3262OPTION(prefix_1, "-ggdb2", ggdb2, Flag, ggdbN_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3263OPTION(prefix_1, "-ggdb3", ggdb3, Flag, ggdbN_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3264OPTION(prefix_1, "-ggdb", ggdb, Flag, gTune_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3265OPTION(prefix_1, "-ggnu-pubnames", ggnu_pubnames, Flag, g_flags_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3266OPTION(prefix_2, "/GH", _SLASH_GH, Flag, cl_Group, INVALID, nullptr, NoXarchOption, CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3267OPTION(prefix_2, "/Gh", _SLASH_Gh, Flag, cl_Group, INVALID, nullptr, NoXarchOption, CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3268OPTION(prefix_1, "-ginline-line-tables", ginline_line_tables, Flag, g_Group, INVALID, nullptr, 0, DefaultVis | CLOption | DXCOption, 0, 3269 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3270OPTION(prefix_2, "/GL-", _SLASH_GL_, Flag, cl_Group, INVALID, nullptr, NoXarchOption, CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3271OPTION(prefix_1, "-gline-directives-only", gline_directives_only, Flag, gN_Group, INVALID, nullptr, 0, DefaultVis | CLOption | DXCOption | FlangOption, 0, 3272 "Emit debug line info directives only", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3273OPTION(prefix_1, "-gline-tables-only", gline_tables_only, Flag, gN_Group, INVALID, nullptr, 0, DefaultVis | CLOption | DXCOption | FlangOption, 0, 3274 "Emit debug line number tables only", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3275OPTION(prefix_1, "-glldb", glldb, Flag, gTune_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3276OPTION(prefix_2, "/GL", _SLASH_GL, Flag, cl_Group, INVALID, nullptr, NoXarchOption, CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3277OPTION(prefix_2, "/Gm-", _SLASH_Gm_, Flag, cl_Group, INVALID, nullptr, NoXarchOption, CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3278OPTION(prefix_1, "-gmlt", gmlt, Flag, INVALID, gline_tables_only, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3279OPTION(prefix_1, "-gmodules", gmodules, Flag, gN_Group, INVALID, nullptr, 0, DefaultVis, 0, 3280 "Generate debug info with external references to clang modules or precompiled headers", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3281OPTION(prefix_2, "/Gm", _SLASH_Gm, Flag, cl_Group, INVALID, nullptr, NoXarchOption, CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3282OPTION(prefix_1, "-gno-codeview-command-line", gno_codeview_command_line, Flag, INVALID, INVALID, nullptr, 0, DefaultVis | DefaultVis | CLOption | DXCOption | CC1Option, 0, 3283 "Don't emit compiler path and command line into CodeView debug information", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3284OPTION(prefix_1, "-gno-codeview-ghash", gno_codeview_ghash, Flag, INVALID, INVALID, nullptr, 0, DefaultVis | CLOption | DXCOption, 0, 3285 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3286OPTION(prefix_1, "-gno-column-info", gno_column_info, Flag, g_flags_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis | CLOption | DXCOption, 0, 3287 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3288OPTION(prefix_1, "-gno-embed-source", gno_embed_source, Flag, g_flags_Group, INVALID, nullptr, NoXarchOption, DefaultVis, 0, 3289 "Restore the default behavior of not embedding source text in DWARF debug sections", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3290OPTION(prefix_1, "-gno-gnu-pubnames", gno_gnu_pubnames, Flag, g_flags_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3291OPTION(prefix_1, "-gno-inline-line-tables", gno_inline_line_tables, Flag, g_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis | CLOption | DXCOption, 0, 3292 "Don't emit inline line tables.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3293OPTION(prefix_1, "-gno-modules", gno_modules, Flag, g_flags_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3294OPTION(prefix_1, "-gno-omit-unreferenced-methods", gno_omit_unreferenced_methods, Flag, g_Group, INVALID, nullptr, 0, DefaultVis | CLOption | DXCOption, 0, 3295 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3296OPTION(prefix_1, "-gno-pubnames", gno_pubnames, Flag, g_flags_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3297OPTION(prefix_1, "-gno-record-command-line", gno_record_command_line, Flag, g_flags_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3298OPTION(prefix_1, "-gno-record-gcc-switches", anonymous_1589, Flag, INVALID, gno_record_command_line, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3299OPTION(prefix_1, "-gno-simple-template-names", gno_simple_template_names, Flag, g_flags_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3300OPTION(prefix_1, "-gno-split-dwarf", gno_split_dwarf, Flag, g_flags_Group, INVALID, nullptr, 0, DefaultVis | CLOption | DXCOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3301OPTION(prefix_1, "-gno-strict-dwarf", gno_strict_dwarf, Flag, g_flags_Group, INVALID, nullptr, 0, DefaultVis | CLOption | DXCOption, 0, 3302 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3303OPTION(prefix_1, "-gno-template-alias", gno_template_alias, Flag, g_flags_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3304OPTION(prefix_1, "-gomit-unreferenced-methods", gomit_unreferenced_methods, Flag, g_Group, INVALID, nullptr, 0, CC1Option | DefaultVis | CLOption | DXCOption, 0, 3305 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3306OPTION(prefix_3, "--gpu-bundle-output", gpu_bundle_output, Flag, hip_Group, INVALID, nullptr, 0, DefaultVis | DefaultVis | CLOption, 0, 3307 "Bundle output files of HIP device compilation", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3308OPTION(prefix_3, "--gpu-instrument-lib=", gpu_instrument_lib_EQ, Joined, hip_Group, INVALID, nullptr, 0, DefaultVis | DefaultVis | CLOption, 0, 3309 "Instrument device library for HIP, which is a LLVM bitcode containing __cyg_profile_func_enter and __cyg_profile_func_exit", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3310OPTION(prefix_3, "--gpu-max-threads-per-block=", gpu_max_threads_per_block_EQ, Joined, hip_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis | CLOption, 0, 3311 "Default max threads per block for kernel launch bounds for HIP", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3312OPTION(prefix_3, "--gpu-use-aux-triple-only", gpu_use_aux_triple_only, Flag, offload_Group, INVALID, nullptr, NoXarchOption | HelpHidden, DefaultVis | DefaultVis | CLOption, 0, 3313 "Prepare '-aux-triple' only without populating '-aux-target-cpu' and '-aux-target-feature'.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3314OPTION(prefix_1, "-gpubnames", gpubnames, Flag, g_flags_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3315OPTION(prefix_1, "-gpulibc", gpulibc, Flag, INVALID, INVALID, nullptr, 0, DefaultVis | CC1Option | FlangOption | FC1Option, 0, 3316 "Link the LLVM C Library for GPUs", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3317OPTION(prefix_2, "/GR-", _SLASH_GR_, Flag, cl_Group, INVALID, nullptr, NoXarchOption, CLOption, 0, 3318 "Do not emit RTTI data", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3319OPTION(prefix_1, "-grecord-command-line", grecord_command_line, Flag, g_flags_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3320OPTION(prefix_1, "-grecord-gcc-switches", anonymous_1588, Flag, INVALID, grecord_command_line, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3321OPTION(prefix_2, "/Gregcall4", _SLASH_Gregcall4, Flag, cl_Group, INVALID, nullptr, NoXarchOption, CLOption, 0, 3322 "Set __regcall4 as a default calling convention to respect __regcall ABI v.4", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3323OPTION(prefix_2, "/Gregcall", _SLASH_Gregcall, Flag, cl_Group, INVALID, nullptr, NoXarchOption, CLOption, 0, 3324 "Set __regcall as a default calling convention", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3325OPTION(prefix_2, "/GR", _SLASH_GR, Flag, cl_Group, INVALID, nullptr, NoXarchOption, CLOption, 0, 3326 "Emit RTTI data (default)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3327OPTION(prefix_2, "/Gr", _SLASH_Gr, Flag, cl_Group, INVALID, nullptr, NoXarchOption, CLOption, 0, 3328 "Set __fastcall as a default calling convention", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3329OPTION(prefix_2, "/GS-", _SLASH_GS_, Flag, cl_Group, INVALID, nullptr, NoXarchOption, CLOption, 0, 3330 "Disable buffer security check", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3331OPTION(prefix_1, "-gsce", gsce, Flag, gTune_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3332OPTION(prefix_1, "-gsimple-template-names=", gsimple_template_names_EQ, Joined, INVALID, INVALID, nullptr, 0, CC1Option, 0, 3333 "Use simple template names in DWARF, or include the full template name with a modified prefix for validation", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, "simple,mangled") 3334OPTION(prefix_1, "-gsimple-template-names", gsimple_template_names, Flag, g_flags_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3335OPTION(prefix_1, "-gsplit-dwarf=", gsplit_dwarf_EQ, Joined, g_flags_Group, INVALID, nullptr, 0, DefaultVis | CLOption | DXCOption, 0, 3336 "Set DWARF fission mode", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, "split,single") 3337OPTION(prefix_1, "-gsplit-dwarf", gsplit_dwarf, Flag, g_flags_Group, INVALID, nullptr, 0, DefaultVis | CLOption | DXCOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3338OPTION(prefix_1, "-gsrc-hash=", gsrc_hash_EQ, Joined, g_flags_Group, INVALID, nullptr, 0, CC1Option, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, "md5,sha1,sha256") 3339OPTION(prefix_1, "-gstabs", gstabs, Joined, g_Group, INVALID, nullptr, Unsupported, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3340OPTION(prefix_1, "-gstrict-dwarf", gstrict_dwarf, Flag, g_flags_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis | CLOption | DXCOption, 0, 3341 "Restrict DWARF features to those defined in the specified version, avoiding features from later versions.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3342OPTION(prefix_2, "/GS", _SLASH_GS, Flag, cl_Group, INVALID, nullptr, NoXarchOption, CLOption, 0, 3343 "Enable buffer security check (default)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3344OPTION(prefix_2, "/Gs", anonymous_2182, Flag, cl_Group, mstack_probe_size, "4096\0", NoXarchOption, CLOption, 0, 3345 "Use stack probes (default)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3346OPTION(prefix_2, "/Gs", _SLASH_Gs, Joined, cl_Group, mstack_probe_size, nullptr, NoXarchOption, CLOption, 0, 3347 "Set stack probe size (default 4096)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3348OPTION(prefix_1, "-gtemplate-alias", gtemplate_alias, Flag, g_flags_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3349OPTION(prefix_1, "-gtoggle", gtoggle, Flag, g_flags_Group, INVALID, nullptr, Unsupported, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3350OPTION(prefix_2, "/GT", _SLASH_GT, Flag, cl_Group, INVALID, nullptr, NoXarchOption, CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3351OPTION(prefix_2, "/guard:", _SLASH_guard, Joined, cl_Group, INVALID, nullptr, NoXarchOption, CLOption, 0, 3352 "Enable Control Flow Guard with /guard:cf, or only the table with /guard:cf,nochecks. Enable EH Continuation Guard with /guard:ehcont", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3353OPTION(prefix_1, "-gused", gused, Flag, g_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3354OPTION(prefix_1, "-gvms", gvms, Joined, g_Group, INVALID, nullptr, Unsupported, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3355OPTION(prefix_2, "/Gv", _SLASH_Gv, Flag, cl_Group, INVALID, nullptr, NoXarchOption, CLOption, 0, 3356 "Set __vectorcall as a default calling convention", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3357OPTION(prefix_2, "/Gw-", _SLASH_Gw_, Flag, cl_Group, fno_data_sections, nullptr, NoXarchOption, CLOption, 0, 3358 "Do not put each data item in its own section (default)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3359OPTION(prefix_2, "/Gw", _SLASH_Gw, Flag, cl_Group, fdata_sections, nullptr, NoXarchOption, CLOption, 0, 3360 "Put each data item in its own section", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3361OPTION(prefix_2, "/GX-", _SLASH_GX_, Flag, cl_Group, INVALID, nullptr, NoXarchOption, CLOption, 0, 3362 "Deprecated (like not passing /EH)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3363OPTION(prefix_1, "-gxcoff", gxcoff, Joined, g_Group, INVALID, nullptr, Unsupported, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3364OPTION(prefix_2, "/GX", _SLASH_GX, Flag, cl_Group, INVALID, nullptr, NoXarchOption, CLOption, 0, 3365 "Deprecated; use /EHsc", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3366OPTION(prefix_2, "/Gy-", _SLASH_Gy_, Flag, cl_Group, fno_function_sections, nullptr, NoXarchOption, CLOption, 0, 3367 "Do not put each function in its own section (default)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3368OPTION(prefix_2, "/Gy", _SLASH_Gy, Flag, cl_Group, ffunction_sections, nullptr, NoXarchOption, CLOption, 0, 3369 "Put each function in its own section", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3370OPTION(prefix_1, "-gz=", gz_EQ, Joined, g_flags_Group, INVALID, nullptr, 0, DefaultVis, 0, 3371 "DWARF debug sections compression type", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3372OPTION(prefix_2, "/GZ", _SLASH_GZ, Flag, cl_Group, INVALID, nullptr, NoXarchOption, CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3373OPTION(prefix_2, "/Gz", _SLASH_Gz, Flag, cl_Group, INVALID, nullptr, NoXarchOption, CLOption, 0, 3374 "Set __stdcall as a default calling convention", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3375OPTION(prefix_1, "-gz", gz, Flag, g_flags_Group, gz_EQ, "zlib\0", 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3376OPTION(prefix_1, "-G", G, JoinedOrSeparate, m_Group, INVALID, nullptr, NoXarchOption | TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, 3377 "Put objects of at most <size> bytes into small data section (MIPS / Hexagon)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "<size>", nullptr) 3378OPTION(prefix_1, "-g", g_Flag, Flag, g_Group, INVALID, nullptr, 0, DefaultVis | CLOption | DXCOption | FlangOption, 0, 3379 "Generate source-level debug information", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3380OPTION(prefix_1, "-header-include-file", header_include_file, Separate, INVALID, INVALID, nullptr, 0, CC1Option, 0, 3381 "Filename (or -) to write header include output to", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3382OPTION(prefix_1, "-header-include-filtering=", header_include_filtering_EQ, Joined, INVALID, INVALID, nullptr, 0, CC1Option, 0, 3383 "set the flag that enables filtering header information", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, "none,only-direct-system") 3384OPTION(prefix_1, "-header-include-format=", header_include_format_EQ, Joined, INVALID, INVALID, nullptr, 0, CC1Option, 0, 3385 "set format in which header info is emitted", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, "textual,json") 3386OPTION(prefix_2, "/headerName:", _SLASH_headername, Joined, cl_Group, INVALID, nullptr, NoXarchOption, CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3387OPTION(prefix_1, "-headerpad_max_install_names", headerpad__max__install__names, Joined, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3388OPTION(prefix_2, "/headerUnit:angle", _SLASH_headerUnitAngle, JoinedOrSeparate, cl_Group, INVALID, nullptr, NoXarchOption, CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3389OPTION(prefix_2, "/headerUnit:quote", _SLASH_headerUnitQuote, JoinedOrSeparate, cl_Group, INVALID, nullptr, NoXarchOption, CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3390OPTION(prefix_2, "/headerUnit", _SLASH_headerUnit, JoinedOrSeparate, cl_Group, INVALID, nullptr, NoXarchOption, CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3391OPTION(prefix_3, "--help-hidden", _help_hidden, Flag, INVALID, INVALID, nullptr, 0, DefaultVis | FlangOption, 0, 3392 "Display help for hidden options", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3393OPTION(prefix_2, "/HELP", _SLASH_HELP, Flag, cl_Group, help, nullptr, NoXarchOption, CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3394OPTION(prefix_4, "-help", help, Flag, INVALID, INVALID, nullptr, 0, DefaultVis | CC1Option | CC1AsOption | FC1Option | FlangOption | DXCOption, 0, 3395 "Display available options", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3396OPTION(prefix_2, "/help", _SLASH_help, Flag, cl_Group, help, nullptr, NoXarchOption, CLOption | DXCOption, 0, 3397 "Display available options", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3398OPTION(prefix_3, "--hip-device-lib-path=", anonymous_162, Joined, hip_Group, rocm_device_lib_path_EQ, nullptr, 0, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3399OPTION(prefix_3, "--hip-device-lib=", hip_device_lib_EQ, Joined, hip_Group, INVALID, nullptr, 0, DefaultVis | DefaultVis | CLOption, 0, 3400 "HIP device library", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3401OPTION(prefix_3, "--hip-link", hip_link, Flag, hip_Group, INVALID, nullptr, 0, DefaultVis | DefaultVis | CLOption, 0, 3402 "Link clang-offload-bundler bundles for HIP", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3403OPTION(prefix_3, "--hip-path=", hip_path_EQ, Joined, hip_Group, INVALID, nullptr, 0, DefaultVis | DefaultVis | CLOption, 0, 3404 "HIP runtime installation path, used for finding HIP version and adding HIP include path.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3405OPTION(prefix_3, "--hip-version=", hip_version_EQ, Joined, hip_Group, INVALID, nullptr, 0, DefaultVis | DefaultVis | CLOption, 0, 3406 "HIP version in the format of major.minor.patch", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3407OPTION(prefix_3, "--hipspv-pass-plugin=", hipspv_pass_plugin_EQ, Joined, hip_Group, INVALID, nullptr, 0, DefaultVis | DefaultVis | CLOption, 0, 3408 "path to a pass plugin for HIP to SPIR-V passes.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "<dsopath>", nullptr) 3409OPTION(prefix_3, "--hipstdpar-interpose-alloc", hipstdpar_interpose_alloc, Flag, hip_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis | CLOption, 0, 3410 "Replace all memory allocation / deallocation calls with hipManagedMalloc / hipFree equivalents", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3411OPTION(prefix_3, "--hipstdpar-path=", hipstdpar_path_EQ, Joined, hip_Group, INVALID, nullptr, 0, DefaultVis | DefaultVis | CLOption, 0, 3412 "HIP Standard Parallel Algorithm Acceleration library path, used for finding and implicitly including the library header", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3413OPTION(prefix_3, "--hipstdpar-prim-path=", hipstdpar_prim_path_EQ, Joined, hip_Group, INVALID, nullptr, 0, DefaultVis | DefaultVis | CLOption, 0, 3414 "rocPrim path, required by the HIP Standard Parallel Algorithm Acceleration library, used to implicitly include the rocPrim library", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3415OPTION(prefix_3, "--hipstdpar-thrust-path=", hipstdpar_thrust_path_EQ, Joined, hip_Group, INVALID, nullptr, 0, DefaultVis | DefaultVis | CLOption, 0, 3416 "rocThrust path, required by the HIP Standard Parallel Algorithm Acceleration library, used to implicitly include the rocThrust library", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3417OPTION(prefix_3, "--hipstdpar", hipstdpar, Flag, hip_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis | CLOption, 0, 3418 "Enable HIP acceleration for standard parallel algorithms", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3419OPTION(prefix_1, "-hlsl-entry", hlsl_entrypoint, Separate, dxc_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DXCOption, 0, 3420 "Entry point name for hlsl", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3421OPTION(prefix_2, "/hlsl-no-stdinc", dxc_no_stdinc, Flag, dxc_Group, INVALID, nullptr, 0, DXCOption | DXCOption, 0, 3422 "HLSL only. Disables all standard includes containing non-native compiler types and functions.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3423OPTION(prefix_2, "/homeparams", _SLASH_homeparams, Flag, cl_Group, INVALID, nullptr, NoXarchOption, CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3424OPTION(prefix_2, "/hotpatch", _SLASH_hotpatch, Flag, cl_Group, fms_hotpatch, nullptr, NoXarchOption, CLOption, 0, 3425 "Create hotpatchable image", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3426OPTION(prefix_2, "/HV", dxc_hlsl_version, JoinedOrSeparate, dxc_Group, INVALID, nullptr, 0, DXCOption | DXCOption, 0, 3427 "HLSL Version", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, "2016, 2017, 2018, 2021, 202x") 3428OPTION(prefix_1, "-H", H, Flag, Preprocessor_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 3429 "Show header includes and nesting depth", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3430OPTION(prefix_2, "/H", _SLASH_H, Flag, cl_Group, INVALID, nullptr, NoXarchOption, CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3431OPTION(prefix_1, "-I-", I_, Flag, I_Group, INVALID, nullptr, 0, DefaultVis, 0, 3432 "Restrict all prior -I flags to double-quoted inclusion and remove current directory from include path", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3433OPTION(prefix_1, "-iapinotes-modules", iapinotes_modules, JoinedOrSeparate, clang_i_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 3434 "Add directory to the API notes search path referenced by module name", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "<directory>", nullptr) 3435OPTION(prefix_1, "-ibuiltininc", ibuiltininc, Flag, clang_i_Group, INVALID, nullptr, 0, DefaultVis, 0, 3436 "Enable builtin #include directories even when -nostdinc is used before or after -ibuiltininc. Using -nobuiltininc after the option disables it", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3437OPTION(prefix_1, "-idirafter", idirafter, JoinedOrSeparate, clang_i_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 3438 "Add directory to AFTER include search path", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3439OPTION(prefix_1, "-iframeworkwithsysroot", iframeworkwithsysroot, JoinedOrSeparate, clang_i_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 3440 "Add directory to SYSTEM framework search path, absolute paths are relative to -isysroot", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "<directory>", nullptr) 3441OPTION(prefix_1, "-iframework", iframework, JoinedOrSeparate, clang_i_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 3442 "Add directory to SYSTEM framework search path", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3443OPTION(prefix_3, "--imacros=", _imacros_EQ, Joined, INVALID, imacros, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3444OPTION(prefix_4, "-imacros", imacros, JoinedOrSeparate, clang_i_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 3445 "Include macros from file before parsing", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "<file>", nullptr) 3446OPTION(prefix_1, "-image_base", image__base, Separate, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3447OPTION(prefix_2, "/imsvc", _SLASH_imsvc, JoinedOrSeparate, cl_Group, INVALID, nullptr, NoXarchOption, CLOption, 0, 3448 "Add <dir> to system include search path, as if in %INCLUDE%", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "<dir>", nullptr) 3449OPTION(prefix_1, "-imultilib", imultilib, Separate, gfortran_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3450OPTION(prefix_3, "--include-barrier", _include_barrier, Flag, INVALID, I_, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3451OPTION(prefix_3, "--include-directory-after=", _include_directory_after_EQ, Joined, INVALID, idirafter, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3452OPTION(prefix_3, "--include-directory-after", _include_directory_after, Separate, INVALID, idirafter, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3453OPTION(prefix_3, "--include-directory=", _include_directory_EQ, Joined, INVALID, I, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3454OPTION(prefix_3, "--include-directory", _include_directory, Separate, INVALID, I, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3455OPTION(prefix_1, "-include-pch", include_pch, Separate, clang_i_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 3456 "Include precompiled header file", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "<file>", nullptr) 3457OPTION(prefix_3, "--include-prefix=", _include_prefix_EQ, Joined, INVALID, iprefix, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3458OPTION(prefix_3, "--include-prefix", _include_prefix, Separate, INVALID, iprefix, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3459OPTION(prefix_3, "--include-with-prefix-after=", _include_with_prefix_after_EQ, Joined, INVALID, iwithprefix, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3460OPTION(prefix_3, "--include-with-prefix-after", _include_with_prefix_after, Separate, INVALID, iwithprefix, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3461OPTION(prefix_3, "--include-with-prefix-before=", _include_with_prefix_before_EQ, Joined, INVALID, iwithprefixbefore, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3462OPTION(prefix_3, "--include-with-prefix-before", _include_with_prefix_before, Separate, INVALID, iwithprefixbefore, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3463OPTION(prefix_3, "--include-with-prefix=", _include_with_prefix_EQ, Joined, INVALID, iwithprefix, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3464OPTION(prefix_3, "--include-with-prefix", _include_with_prefix, Separate, INVALID, iwithprefix, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3465OPTION(prefix_3, "--include=", _include_EQ, Joined, INVALID, include, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3466OPTION(prefix_4, "-include", include, JoinedOrSeparate, clang_i_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 3467 "Include file before parsing", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "<file>", nullptr) 3468OPTION(prefix_1, "-index-header-map", index_header_map, Flag, INVALID, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 3469 "Make the next included directory (-I or -F) an indexer header map", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3470OPTION(prefix_1, "-init-only", init_only, Flag, Action_Group, INVALID, nullptr, 0, CC1Option | FC1Option, 0, 3471 "Only execute frontend initialization", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3472OPTION(prefix_1, "-init", init, Separate, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3473OPTION(prefix_1, "-inline-asm=", inline_asm_EQ, Joined, m_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, "att,intel") 3474OPTION(prefix_1, "-install_name", install__name, Separate, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3475OPTION(prefix_1, "-integrated-as", anonymous_1754, Flag, INVALID, fintegrated_as, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3476OPTION(prefix_1, "-interface-stub-version=", interface_stub_version_EQ, JoinedOrSeparate, INVALID, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3477OPTION(prefix_1, "-internal-externc-isystem", internal_externc_isystem, Separate, INVALID, INVALID, nullptr, 0, CC1Option, 0, 3478 "Add directory to the internal system include search path with implicit extern \"C\" semantics; these are assumed to not be user-provided and are used to model system and standard headers' paths.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "<directory>", nullptr) 3479OPTION(prefix_1, "-internal-isystem", internal_isystem, Separate, INVALID, INVALID, nullptr, 0, CC1Option, 0, 3480 "Add directory to the internal system include search path; these are assumed to not be user-provided and are used to model system and standard headers' paths.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "<directory>", nullptr) 3481OPTION(prefix_1, "-iprefix", iprefix, JoinedOrSeparate, clang_i_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 3482 "Set the -iwithprefix/-iwithprefixbefore prefix", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "<dir>", nullptr) 3483OPTION(prefix_1, "-iquote", iquote, JoinedOrSeparate, clang_i_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 3484 "Add directory to QUOTE include search path", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "<directory>", nullptr) 3485OPTION(prefix_1, "-isysroot", isysroot, JoinedOrSeparate, clang_i_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | FlangOption, 0, 3486 "Set the system root directory (usually /)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "<dir>", nullptr) 3487OPTION(prefix_1, "-isystem-after", isystem_after, JoinedOrSeparate, clang_i_Group, INVALID, nullptr, NoXarchOption, DefaultVis, 0, 3488 "Add directory to end of the SYSTEM include search path", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "<directory>", nullptr) 3489OPTION(prefix_1, "-isystem", isystem, JoinedOrSeparate, clang_i_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 3490 "Add directory to SYSTEM include search path", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "<directory>", nullptr) 3491OPTION(prefix_1, "-ivfsoverlay", ivfsoverlay, JoinedOrSeparate, clang_i_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 3492 "Overlay the virtual filesystem described by file over the real file system", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3493OPTION(prefix_1, "-iwithprefixbefore", iwithprefixbefore, JoinedOrSeparate, clang_i_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 3494 "Set directory to include search path with prefix", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "<dir>", nullptr) 3495OPTION(prefix_1, "-iwithprefix", iwithprefix, JoinedOrSeparate, clang_i_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 3496 "Set directory to SYSTEM include search path with prefix", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "<dir>", nullptr) 3497OPTION(prefix_1, "-iwithsysroot", iwithsysroot, JoinedOrSeparate, clang_i_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 3498 "Add directory to SYSTEM include search path, absolute paths are relative to -isysroot", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "<directory>", nullptr) 3499OPTION(prefix_1, "-I", I, JoinedOrSeparate, I_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | CC1AsOption | FlangOption | FC1Option, 0, 3500 "Add directory to the end of the list of include search paths", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "<dir>", nullptr) 3501OPTION(prefix_2, "/I", _SLASH_I, JoinedOrSeparate, cl_Group, I, nullptr, NoXarchOption, CLOption | DXCOption, 0, 3502 "Add directory to include search path", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "<dir>", nullptr) 3503OPTION(prefix_2, "/JMC-", _SLASH_JMC_, Flag, cl_Group, fno_jmc, nullptr, NoXarchOption, CLOption, 0, 3504 "Disable just-my-code debugging (default)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3505OPTION(prefix_2, "/JMC", _SLASH_JMC, Flag, cl_Group, fjmc, nullptr, NoXarchOption, CLOption, 0, 3506 "Enable just-my-code debugging", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3507OPTION(prefix_1, "-J", J, JoinedOrSeparate, gfortran_Group, module_dir, nullptr, RenderJoined, FlangOption | FC1Option, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3508OPTION(prefix_2, "/J", _SLASH_J, Flag, cl_Group, funsigned_char, nullptr, NoXarchOption, CLOption, 0, 3509 "Make char type unsigned", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3510OPTION(prefix_1, "-keep_private_externs", keep__private__externs, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3511OPTION(prefix_2, "/kernel-", _SLASH_kernel_, Flag, cl_ignored_Group, INVALID, nullptr, NoXarchOption, CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3512OPTION(prefix_2, "/kernel", _SLASH_kernel, Flag, cl_Group, INVALID, nullptr, NoXarchOption, CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3513OPTION(prefix_1, "-K", K, Flag, INVALID, INVALID, nullptr, LinkerInput, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3514OPTION(prefix_3, "--language=", _language_EQ, Joined, INVALID, x, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3515OPTION(prefix_3, "--language", _language, Separate, INVALID, x, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3516OPTION(prefix_1, "-lazy_framework", lazy__framework, Separate, INVALID, INVALID, nullptr, LinkerInput, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3517OPTION(prefix_1, "-lazy_library", lazy__library, Separate, INVALID, INVALID, nullptr, LinkerInput, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3518OPTION(prefix_3, "--ld-path=", ld_path_EQ, Joined, Link_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3519OPTION(prefix_2, "/LDd", _SLASH_LDd, Flag, cl_Group, INVALID, nullptr, NoXarchOption, CLOption, 0, 3520 "Create debug DLL", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3521OPTION(prefix_2, "/LD", _SLASH_LD, Flag, cl_Group, INVALID, nullptr, NoXarchOption, CLOption, 0, 3522 "Create DLL", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3523OPTION(prefix_3, "--libomptarget-amdgcn-bc-path=", libomptarget_amdgcn_bc_path_EQ, Joined, i_Group, libomptarget_amdgpu_bc_path_EQ, nullptr, 0, DefaultVis, 0, 3524 "Path to libomptarget-amdgcn bitcode library", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3525OPTION(prefix_3, "--libomptarget-amdgpu-bc-path=", libomptarget_amdgpu_bc_path_EQ, Joined, i_Group, INVALID, nullptr, 0, DefaultVis, 0, 3526 "Path to libomptarget-amdgcn bitcode library", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3527OPTION(prefix_3, "--libomptarget-nvptx-bc-path=", libomptarget_nvptx_bc_path_EQ, Joined, i_Group, INVALID, nullptr, 0, DefaultVis, 0, 3528 "Path to libomptarget-nvptx bitcode library", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3529OPTION(prefix_3, "--library-directory=", _library_directory_EQ, Joined, INVALID, L, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3530OPTION(prefix_3, "--library-directory", _library_directory, Separate, INVALID, L, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3531OPTION(prefix_3, "--linker-option=", linker_option, Joined, INVALID, INVALID, nullptr, 0, CC1Option, 0, 3532 "Add linker option", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3533OPTION(prefix_2, "/link", _SLASH_link, RemainingArgsJoined, cl_Group, INVALID, nullptr, NoXarchOption, CLOption, 0, 3534 "Forward options to the linker", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "<options>", nullptr) 3535OPTION(prefix_1, "-llvm-verify-each", llvm_verify_each, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 3536 "Run the LLVM verifier after every LLVM pass", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3537OPTION(prefix_2, "/LN", _SLASH_LN, Flag, cl_Group, INVALID, nullptr, NoXarchOption, CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3538OPTION(prefix_1, "-load", load, Separate, INVALID, INVALID, nullptr, 0, CC1Option | FC1Option, 0, 3539 "Load the named plugin (dynamic shared object)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "<dsopath>", nullptr) 3540OPTION(prefix_1, "-L", L, JoinedOrSeparate, Link_Group, INVALID, nullptr, RenderJoined, DefaultVis | FlangOption, 0, 3541 "Add directory to library search path", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "<dir>", nullptr) 3542OPTION(prefix_1, "-l", l, JoinedOrSeparate, Link_Group, INVALID, nullptr, LinkerInput | RenderJoined, DefaultVis | FlangOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3543OPTION(prefix_1, "-m16", m16, Flag, m_Group, INVALID, nullptr, NoXarchOption, DefaultVis | CLOption | DXCOption | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3544OPTION(prefix_1, "-m32", m32, Flag, m_Group, INVALID, nullptr, NoXarchOption, DefaultVis | CLOption | DXCOption | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3545OPTION(prefix_1, "-m3dnowa", m3dnowa, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3546OPTION(prefix_1, "-m3dnow", m3dnow, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3547OPTION(prefix_1, "-m64", m64, Flag, m_Group, INVALID, nullptr, NoXarchOption, DefaultVis | CLOption | DXCOption | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3548OPTION(prefix_1, "-m68000", m68000, Flag, m_m68k_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3549OPTION(prefix_1, "-m68010", m68010, Flag, m_m68k_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3550OPTION(prefix_1, "-m68020", m68020, Flag, m_m68k_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3551OPTION(prefix_1, "-m68030", m68030, Flag, m_m68k_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3552OPTION(prefix_1, "-m68040", m68040, Flag, m_m68k_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3553OPTION(prefix_1, "-m68060", m68060, Flag, m_m68k_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3554OPTION(prefix_1, "-m68881", m68881, Flag, m_m68k_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3555OPTION(prefix_1, "-m80387", m80387, Flag, INVALID, mx87, nullptr, TargetSpecific, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3556OPTION(prefix_1, "-mabi=ieeelongdouble", mabi_EQ_ieeelongdouble, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 3557 "Use IEEE 754 quadruple-precision for long double", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3558OPTION(prefix_1, "-mabi=quadword-atomics", mabi_EQ_quadword_atomics, Flag, m_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis | CLOption, 0, 3559 "Enable quadword atomics ABI on AIX (AIX PPC64 only). Uses lqarx/stqcx. instructions.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3560OPTION(prefix_1, "-mabi=vec-extabi", mabi_EQ_vec_extabi, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 3561 "Enable the extended Altivec ABI on AIX. Use volatile and nonvolatile vector registers", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3562OPTION(prefix_1, "-mabi=", mabi_EQ, Joined, m_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3563OPTION(prefix_1, "-mabicalls", mabicalls, Flag, m_mips_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, 3564 "Enable SVR4-style position-independent code (Mips only)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3565OPTION(prefix_1, "-mabs=", mabs_EQ, Joined, m_mips_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3566OPTION(prefix_1, "-Mach", Mach, Flag, Link_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3567OPTION(prefix_1, "-madx", madx, Flag, m_x86_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3568OPTION(prefix_1, "-maes", maes, Flag, m_x86_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3569OPTION(prefix_1, "-main-file-name", main_file_name, Separate, INVALID, INVALID, nullptr, 0, CC1Option | CC1AsOption, 0, 3570 "Main file name to use for debug info and source if missing", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3571OPTION(prefix_1, "-maix-shared-lib-tls-model-opt", maix_shared_lib_tls_model_opt, Flag, m_ppc_Features_Group, INVALID, nullptr, 0, DefaultVis, 0, 3572 "For shared library loaded with the main program, change local-dynamic access(es) to initial-exec access(es) at the function level (AIX 64-bit only).", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3573OPTION(prefix_1, "-maix-small-local-dynamic-tls", maix_small_local_dynamic_tls, Flag, m_ppc_Features_Group, INVALID, nullptr, 0, DefaultVis, 0, 3574 "Produce a faster access sequence for local-dynamic TLS variables where the offset from the TLS base is encoded as an immediate operand (AIX 64-bit only). This access sequence is not used for variables larger than 32KB.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3575OPTION(prefix_1, "-maix-small-local-exec-tls", maix_small_local_exec_tls, Flag, m_ppc_Features_Group, INVALID, nullptr, 0, DefaultVis, 0, 3576 "Produce a faster access sequence for local-exec TLS variables where the offset from the TLS base is encoded as an immediate operand (AIX 64-bit only). This access sequence is not used for variables larger than 32KB.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3577OPTION(prefix_1, "-maix-struct-return", maix_struct_return, Flag, m_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis | CLOption, 0, 3578 "Return all structs in memory (PPC32 only)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3579OPTION(prefix_1, "-maix32", maix32, Flag, m_Group, INVALID, nullptr, NoXarchOption, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3580OPTION(prefix_1, "-maix64", maix64, Flag, m_Group, INVALID, nullptr, NoXarchOption, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3581OPTION(prefix_1, "-malign-branch-boundary=", malign_branch_boundary_EQ, Joined, m_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, 3582 "Specify the boundary's size to align branches", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3583OPTION(prefix_1, "-malign-branch=", malign_branch_EQ, CommaJoined, m_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, 3584 "Specify types of branches to align", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3585OPTION(prefix_1, "-malign-double", malign_double, Flag, m_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis | CLOption, 0, 3586 "Align doubles to two words in structs (x86 only)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3587OPTION(prefix_1, "-malign-functions=", malign_functions_EQ, Joined, clang_ignored_m_Group, INVALID, nullptr, Ignored, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3588OPTION(prefix_1, "-malign-jumps=", malign_jumps_EQ, Joined, clang_ignored_m_Group, INVALID, nullptr, Ignored, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3589OPTION(prefix_1, "-malign-loops=", malign_loops_EQ, Joined, clang_ignored_m_Group, INVALID, nullptr, Ignored, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3590OPTION(prefix_1, "-maltivec", maltivec, Flag, m_ppc_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, 3591 "Enable AltiVec vector initializer syntax", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3592OPTION(prefix_1, "-mamdgpu-ieee", mamdgpu_ieee, Flag, m_Group, INVALID, nullptr, 0, DefaultVis | DefaultVis | DefaultVis | CLOption, 0, 3593 "Sets the IEEE bit in the expected default floating point mode register. Floating point opcodes that support exception flag gathering quiet and propagate signaling NaN inputs per IEEE 754-2008. This option changes the ABI. (AMDGPU only)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3594OPTION(prefix_1, "-mamdgpu-precise-memory-op", mamdgpu_precise_memory_op, Flag, m_Group, INVALID, nullptr, 0, DefaultVis | DefaultVis | CLOption, 0, 3595 "Enable precise memory mode (AMDGPU only)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3596OPTION(prefix_1, "-mamx-bf16", mamx_bf16, Flag, m_x86_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3597OPTION(prefix_1, "-mamx-complex", mamx_complex, Flag, m_x86_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3598OPTION(prefix_1, "-mamx-fp16", mamx_fp16, Flag, m_x86_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3599OPTION(prefix_1, "-mamx-int8", mamx_int8, Flag, m_x86_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3600OPTION(prefix_1, "-mamx-tile", mamx_tile, Flag, m_x86_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3601OPTION(prefix_1, "-mappletvos-version-min=", mappletvos_version_min_EQ, Joined, INVALID, mtvos_version_min_EQ, nullptr, TargetSpecific, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3602OPTION(prefix_1, "-mappletvsimulator-version-min=", mappletvsimulator_version_min_EQ, Joined, INVALID, mtvos_simulator_version_min_EQ, nullptr, TargetSpecific, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3603OPTION(prefix_1, "-mapx-features=", mapx_features_EQ, CommaJoined, m_x86_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | CLOption | FlangOption | DefaultVis | CLOption, 0, 3604 "Enable features of APX", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, "egpr,push2pop2,ppx,ndd,ccmp,nf,cf,zu") 3605OPTION(prefix_1, "-mapx-inline-asm-use-gpr32", mapx_inline_asm_use_gpr32, Flag, m_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, 3606 "Enable use of GPR32 in inline assembly for APX", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3607OPTION(prefix_1, "-mapxf", mapxf, Flag, INVALID, mapx_features_EQ, "egpr\0push2pop2\0ppx\0ndd\0ccmp\0nf\0cf\0zu\0", TargetSpecific, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3608OPTION(prefix_1, "-march=", march_EQ, Joined, m_Group, INVALID, nullptr, TargetSpecific, DefaultVis | CLOption | DXCOption | FlangOption | DefaultVis | CLOption, 0, 3609 "For a list of available architectures for the target use '-mcpu=help'", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3610OPTION(prefix_1, "-marm64x", marm64x, Joined, m_Group, INVALID, nullptr, TargetSpecific, DefaultVis | CLOption | DefaultVis | CLOption, 0, 3611 "Link as a hybrid ARM64X image", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3612OPTION(prefix_1, "-marm", marm, Flag, INVALID, mno_thumb, nullptr, TargetSpecific, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3613OPTION(prefix_1, "-masm=", masm_EQ, Joined, m_Group, INVALID, nullptr, 0, DefaultVis | FlangOption | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3614OPTION(prefix_1, "-massembler-fatal-warnings", massembler_fatal_warnings, Flag, INVALID, INVALID, nullptr, 0, CC1Option | CC1AsOption, 0, 3615 "Make assembler warnings fatal", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3616OPTION(prefix_1, "-massembler-no-warn", massembler_no_warn, Flag, INVALID, INVALID, nullptr, 0, CC1Option | CC1AsOption, 0, 3617 "Make assembler not emit warnings", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3618OPTION(prefix_1, "-matomics", matomics, Flag, m_wasm_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3619OPTION(prefix_1, "-mavx10.1-256", mavx10_1_256, Flag, m_x86_AVX10_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3620OPTION(prefix_1, "-mavx10.1-512", mavx10_1_512, Flag, m_x86_AVX10_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3621OPTION(prefix_1, "-mavx10.1", mavx10_1, Flag, INVALID, mavx10_1_256, nullptr, TargetSpecific, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3622OPTION(prefix_1, "-mavx10.2-256", mavx10_2_256, Flag, m_x86_AVX10_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3623OPTION(prefix_1, "-mavx10.2-512", mavx10_2_512, Flag, m_x86_AVX10_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3624OPTION(prefix_1, "-mavx10.2", mavx10_2, Flag, INVALID, mavx10_2_256, nullptr, TargetSpecific, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3625OPTION(prefix_1, "-mavx2", mavx2, Flag, m_x86_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3626OPTION(prefix_1, "-mavx512bf16", mavx512bf16, Flag, m_x86_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3627OPTION(prefix_1, "-mavx512bitalg", mavx512bitalg, Flag, m_x86_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3628OPTION(prefix_1, "-mavx512bw", mavx512bw, Flag, m_x86_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3629OPTION(prefix_1, "-mavx512cd", mavx512cd, Flag, m_x86_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3630OPTION(prefix_1, "-mavx512dq", mavx512dq, Flag, m_x86_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3631OPTION(prefix_1, "-mavx512fp16", mavx512fp16, Flag, m_x86_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3632OPTION(prefix_1, "-mavx512f", mavx512f, Flag, m_x86_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3633OPTION(prefix_1, "-mavx512ifma", mavx512ifma, Flag, m_x86_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3634OPTION(prefix_1, "-mavx512vbmi2", mavx512vbmi2, Flag, m_x86_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3635OPTION(prefix_1, "-mavx512vbmi", mavx512vbmi, Flag, m_x86_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3636OPTION(prefix_1, "-mavx512vl", mavx512vl, Flag, m_x86_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3637OPTION(prefix_1, "-mavx512vnni", mavx512vnni, Flag, m_x86_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3638OPTION(prefix_1, "-mavx512vp2intersect", mavx512vp2intersect, Flag, m_x86_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3639OPTION(prefix_1, "-mavx512vpopcntdq", mavx512vpopcntdq, Flag, m_x86_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3640OPTION(prefix_1, "-mavxifma", mavxifma, Flag, m_x86_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3641OPTION(prefix_1, "-mavxneconvert", mavxneconvert, Flag, m_x86_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3642OPTION(prefix_1, "-mavxvnniint16", mavxvnniint16, Flag, m_x86_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3643OPTION(prefix_1, "-mavxvnniint8", mavxvnniint8, Flag, m_x86_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3644OPTION(prefix_1, "-mavxvnni", mavxvnni, Flag, m_x86_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3645OPTION(prefix_1, "-mavx", mavx, Flag, m_x86_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3646OPTION(prefix_1, "-mbackchain", mbackchain, Flag, m_Group, INVALID, nullptr, 0, DefaultVis | DefaultVis | CC1Option | DefaultVis | CLOption, 0, 3647 "Link stack frames through backchain on System Z", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3648OPTION(prefix_1, "-mbig-endian", mbig_endian, Flag, m_Group, INVALID, nullptr, NoXarchOption | TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3649OPTION(prefix_1, "-mbmi2", mbmi2, Flag, m_x86_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3650OPTION(prefix_1, "-mbmi", mbmi, Flag, m_x86_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3651OPTION(prefix_1, "-mbranch-likely", mbranch_likely, Flag, m_Group, INVALID, nullptr, HelpHidden, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3652OPTION(prefix_1, "-mbranch-protection-pauth-lr", mbranch_protection_pauth_lr, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3653OPTION(prefix_1, "-mbranch-protection=", mbranch_protection_EQ, Joined, m_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, 3654 "Enforce targets of indirect branches and function returns", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3655OPTION(prefix_1, "-mbranch-target-enforce", mbranch_target_enforce, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3656OPTION(prefix_1, "-mbranches-within-32B-boundaries", mbranches_within_32B_boundaries, Flag, m_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, 3657 "Align selected branches (fused, jcc, jmp) within 32-byte boundary", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3658OPTION(prefix_1, "-mbulk-memory", mbulk_memory, Flag, m_wasm_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3659OPTION(prefix_1, "-mcabac", mcabac, Flag, m_hexagon_Features_Group, INVALID, nullptr, 0, DefaultVis, 0, 3660 "Enable CABAC instructions", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3661OPTION(prefix_1, "-mcheck-zero-division", mcheck_zero_division, Flag, m_mips_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3662OPTION(prefix_1, "-mcldemote", mcldemote, Flag, m_x86_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3663OPTION(prefix_1, "-mclflushopt", mclflushopt, Flag, m_x86_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3664OPTION(prefix_1, "-mclwb", mclwb, Flag, m_x86_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3665OPTION(prefix_1, "-mclzero", mclzero, Flag, m_x86_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3666OPTION(prefix_1, "-mcmodel=", mcmodel_EQ, Joined, m_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | FlangOption | FC1Option | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3667OPTION(prefix_1, "-mcmpb", mcmpb, Flag, m_ppc_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3668OPTION(prefix_1, "-mcmpccxadd", mcmpccxadd, Flag, m_x86_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3669OPTION(prefix_1, "-mcmse", mcmse, Flag, m_arm_Features_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 3670 "Allow use of CMSE (Armv8-M Security Extensions)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3671OPTION(prefix_1, "-mcode-object-version=", mcode_object_version_EQ, Joined, m_Group, INVALID, nullptr, 0, DefaultVis | FlangOption | CC1Option | FC1Option | DefaultVis | CLOption, 0, 3672 "Specify code object ABI version. Defaults to 5. (AMDGPU only)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, "none,4,5,6") 3673OPTION(prefix_1, "-mcompact-branches=", mcompact_branches_EQ, Joined, m_mips_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3674OPTION(prefix_1, "-mconsole", mconsole, Joined, m_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3675OPTION(prefix_1, "-mconstant-cfstrings", mconstant_cfstrings, Flag, clang_ignored_m_Group, INVALID, nullptr, TargetSpecific | Ignored, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3676OPTION(prefix_1, "-mconstructor-aliases", mconstructor_aliases, Flag, m_Group, INVALID, nullptr, 0, CC1Option | DefaultVis | CLOption, 0, 3677 "Enable emitting complete constructors and destructors as aliases when possible", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3678OPTION(prefix_1, "-mcpu=help", anonymous_1737, Flag, INVALID, print_supported_cpus, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3679OPTION(prefix_1, "-mcpu=", mcpu_EQ, Joined, m_Group, INVALID, nullptr, TargetSpecific, DefaultVis | FlangOption | DefaultVis | CLOption, 0, 3680 "For a list of available CPUs for the target use '-mcpu=help'", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3681OPTION(prefix_1, "-mcrbits", mcrbits, Flag, m_ppc_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, 3682 "Control the CR-bit tracking feature on PowerPC. ``-mcrbits`` (the enablement of CR-bit tracking support) is the default for POWER8 and above, as well as for all other CPUs when optimization is applied (-O2 and above).", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3683OPTION(prefix_1, "-mcrc32", mcrc32, Flag, m_x86_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3684OPTION(prefix_1, "-mcrc", mcrc, Flag, m_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, 3685 "Allow use of CRC instructions (ARM/Mips only)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3686OPTION(prefix_1, "-mcrypto", mpower8_crypto, Flag, m_ppc_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3687OPTION(prefix_1, "-mcumode", mcumode, Flag, m_amdgpu_Features_Group, INVALID, nullptr, 0, DefaultVis, 0, 3688 "Specify CU wavefront execution mode (AMDGPU only)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3689OPTION(prefix_1, "-mcx16", mcx16, Flag, m_x86_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3690OPTION(prefix_1, "-mdaz-ftz", mdaz_ftz, Flag, m_Group, INVALID, nullptr, 0, DefaultVis | DefaultVis | CLOption, 0, 3691 "Globally set the denormals-are-zero (DAZ) and flush-to-zero (FTZ) bits in the floating-point control register on program startup", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3692OPTION(prefix_2, "/MDd", _SLASH_MDd, Flag, _SLASH_M_Group, INVALID, nullptr, NoXarchOption, CLOption, 0, 3693 "Use DLL debug run-time", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3694OPTION(prefix_1, "-mdebug-pass", mdebug_pass, Separate, INVALID, INVALID, nullptr, 0, CC1Option, 0, 3695 "Enable additional debug output", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3696OPTION(prefix_1, "-mdefault-build-attributes", mdefault_build_attributes, Joined, m_Group, INVALID, nullptr, 0, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3697OPTION(prefix_1, "-mdefault-visibility-export-mapping=", mdefault_visibility_export_mapping_EQ, Joined, m_Group, INVALID, nullptr, TargetSpecific, DefaultVis | CC1Option | DefaultVis | CLOption, 0, 3698 "Mapping between default visibility and export", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, "none,explicit,all") 3699OPTION(prefix_1, "-mdirect-move", mdirect_move, Flag, m_ppc_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3700OPTION(prefix_1, "-mdll", mdll, Joined, m_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3701OPTION(prefix_1, "-mdouble-float", mdouble_float, Flag, m_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3702OPTION(prefix_1, "-mdouble=", mdouble_EQ, Joined, m_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis | CLOption, 0, 3703 "Force double to be <n> bits", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "<n", "32,64") 3704OPTION(prefix_1, "-mdspr2", mdspr2, Flag, m_mips_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3705OPTION(prefix_1, "-mdsp", mdsp, Flag, m_mips_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3706OPTION(prefix_1, "-mdynamic-no-pic", mdynamic_no_pic, Joined, m_Group, INVALID, nullptr, TargetSpecific, DefaultVis | FlangOption | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3707OPTION(prefix_1, "-MD", MD, Flag, M_Group, INVALID, nullptr, 0, DefaultVis, 0, 3708 "Write a depfile containing user and system headers", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3709OPTION(prefix_2, "/MD", _SLASH_MD, Flag, _SLASH_M_Group, INVALID, nullptr, NoXarchOption, CLOption, 0, 3710 "Use DLL run-time", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3711OPTION(prefix_1, "-meabi", meabi, Separate, m_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis | CLOption, 0, 3712 "Set EABI type. Default depends on triple)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, "default,4,5,gnu") 3713OPTION(prefix_1, "-mefpu2", mefpu2, Flag, m_ppc_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3714OPTION(prefix_1, "-membedded-data", membedded_data, Flag, m_mips_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, 3715 "Place constants in the .rodata section instead of the .sdata section even if they meet the -G <size> threshold (MIPS)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3716OPTION(prefix_1, "-menable-experimental-extensions", menable_experimental_extensions, Flag, m_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, 3717 "Enable use of experimental RISC-V extensions.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3718OPTION(prefix_1, "-menable-no-infs", menable_no_infs, Flag, INVALID, INVALID, nullptr, 0, CC1Option | FC1Option, 0, 3719 "Allow optimization to assume there are no infinities.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3720OPTION(prefix_1, "-menable-no-nans", menable_no_nans, Flag, INVALID, INVALID, nullptr, 0, CC1Option | FC1Option, 0, 3721 "Allow optimization to assume there are no NaNs.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3722OPTION(prefix_1, "-menqcmd", menqcmd, Flag, m_x86_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3723OPTION(prefix_1, "-mevex512", mevex512, Flag, m_x86_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3724OPTION(prefix_1, "-mexception-handling", mexception_handing, Flag, m_wasm_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3725OPTION(prefix_1, "-mexec-model=", mexec_model_EQ, Joined, m_wasm_Features_Driver_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, 3726 "Execution model (WebAssembly only)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, "command,reactor") 3727OPTION(prefix_1, "-mexecute-only", mexecute_only, Flag, m_arm_Features_Group, INVALID, nullptr, 0, DefaultVis, 0, 3728 "Disallow generation of data access to code sections (ARM only)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3729OPTION(prefix_1, "-mextended-const", mextended_const, Flag, m_wasm_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3730OPTION(prefix_1, "-mextern-sdata", mextern_sdata, Flag, m_mips_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, 3731 "Assume that externally defined data is in the small data if it meets the -G <size> threshold (MIPS)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3732OPTION(prefix_1, "-mf16c", mf16c, Flag, m_x86_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3733OPTION(prefix_1, "-mfancy-math-387", mfancy_math_387, Flag, clang_ignored_m_Group, INVALID, nullptr, TargetSpecific | Ignored, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3734OPTION(prefix_1, "-mfentry", mfentry, Flag, m_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis | CLOption, 0, 3735 "Insert calls to fentry at function entry (x86/SystemZ only)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3736OPTION(prefix_1, "-mfix-and-continue", mfix_and_continue, Flag, clang_ignored_m_Group, INVALID, nullptr, TargetSpecific | Ignored, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3737OPTION(prefix_1, "-mfix-cmse-cve-2021-35465", mfix_cmse_cve_2021_35465, Flag, m_arm_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, 3738 "Work around VLLDM erratum CVE-2021-35465 (ARM only)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3739OPTION(prefix_1, "-mfix-cortex-a53-835769", mfix_cortex_a53_835769, Flag, m_aarch64_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, 3740 "Workaround Cortex-A53 erratum 835769 (AArch64 only)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3741OPTION(prefix_1, "-mfix-cortex-a57-aes-1742098", mfix_cortex_a57_aes_1742098, Flag, m_arm_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, 3742 "Work around Cortex-A57 Erratum 1742098 (ARM only)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3743OPTION(prefix_1, "-mfix-cortex-a72-aes-1655431", mfix_cortex_a72_aes_1655431, Flag, m_arm_Features_Group, mfix_cortex_a57_aes_1742098, nullptr, TargetSpecific, DefaultVis, 0, 3744 "Work around Cortex-A72 Erratum 1655431 (ARM only)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3745OPTION(prefix_1, "-mfix-gr712rc", mfix_gr712rc, Flag, m_sparc_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, 3746 "Enable workarounds for GR712RC errata", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3747OPTION(prefix_1, "-mfix-ut700", mfix_ut700, Flag, m_sparc_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, 3748 "Enable workarounds for UT700 errata", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3749OPTION(prefix_1, "-mfix4300", mfix4300, Flag, m_mips_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3750OPTION(prefix_1, "-mfloat-abi=", mfloat_abi_EQ, Joined, m_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, "soft,softfp,hard") 3751OPTION(prefix_1, "-mfloat-abi", mfloat_abi, Separate, INVALID, INVALID, nullptr, 0, CC1Option, 0, 3752 "The float ABI to use", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3753OPTION(prefix_1, "-mfloat128", mfloat128, Flag, m_ppc_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3754OPTION(prefix_1, "-mfma4", mfma4, Flag, m_x86_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3755OPTION(prefix_1, "-mfma", mfma, Flag, m_x86_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3756OPTION(prefix_1, "-mforced-sw-shadow-stack", mforced_sw_shadow_stack, Flag, m_riscv_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, 3757 "Force using software shadow stack when shadow-stack enabled", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3758OPTION(prefix_1, "-mfp16", mfp16, Flag, m_wasm_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3759OPTION(prefix_1, "-mfp32", mfp32, Flag, m_mips_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, 3760 "Use 32-bit floating point registers (MIPS only)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3761OPTION(prefix_1, "-mfp64", mfp64, Flag, m_mips_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, 3762 "Use 64-bit floating point registers (MIPS only)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3763OPTION(prefix_1, "-mfpmath=", mfpmath_EQ, Joined, m_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3764OPTION(prefix_1, "-mfpmath", mfpmath, Separate, INVALID, INVALID, nullptr, 0, CC1Option, 0, 3765 "Which unit to use for fp math", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3766OPTION(prefix_1, "-mfprnd", mfprnd, Flag, m_ppc_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3767OPTION(prefix_1, "-mfpu=", mfpu_EQ, Joined, m_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3768OPTION(prefix_1, "-mfpu", mfpu, Flag, m_sparc_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3769OPTION(prefix_1, "-mfpxx", mfpxx, Flag, m_mips_Features_Group, INVALID, nullptr, HelpHidden, DefaultVis, 0, 3770 "Avoid FPU mode dependent operations when used with the O32 ABI", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3771OPTION(prefix_1, "-mframe-chain=", mframe_chain, Joined, m_arm_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, 3772 "Select the frame chain model used to emit frame records (Arm only).", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, "none,aapcs,aapcs+leaf") 3773OPTION(prefix_1, "-mframe-pointer=", mframe_pointer_EQ, Joined, INVALID, INVALID, nullptr, 0, CC1Option | FC1Option, 0, 3774 "Specify which frame pointers to retain.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, "all,non-leaf,reserved,none") 3775OPTION(prefix_1, "-mfsgsbase", mfsgsbase, Flag, m_x86_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3776OPTION(prefix_1, "-mfsmuld", mfsmuld, Flag, m_sparc_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3777OPTION(prefix_1, "-mfunction-return=", mfunction_return_EQ, Joined, m_Group, INVALID, nullptr, 0, DefaultVis | CLOption | CC1Option | DefaultVis | CLOption, 0, 3778 "Replace returns with jumps to ``__x86_return_thunk`` (x86 only, error otherwise)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, "keep,thunk-extern") 3779OPTION(prefix_1, "-mfxsr", mfxsr, Flag, m_x86_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3780OPTION(prefix_1, "-MF", MF, JoinedOrSeparate, M_Group, INVALID, nullptr, 0, DefaultVis, 0, 3781 "Write depfile output from -MMD, -MD, -MM, or -M to <file>", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "<file>", nullptr) 3782OPTION(prefix_1, "-mgeneral-regs-only", mgeneral_regs_only, Flag, m_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, 3783 "Generate code which only uses the general purpose registers (AArch64/x86 only)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3784OPTION(prefix_1, "-mgfni", mgfni, Flag, m_x86_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3785OPTION(prefix_1, "-mginv", mginv, Flag, m_mips_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3786OPTION(prefix_1, "-mglibc", mglibc, Flag, m_libc_Group, INVALID, nullptr, HelpHidden | HelpHidden, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3787OPTION(prefix_1, "-mglobal-merge", mglobal_merge, Flag, m_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis | CLOption, 0, 3788 "Enable merging of globals", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3789OPTION(prefix_1, "-mgpopt", mgpopt, Flag, m_mips_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, 3790 "Use GP relative accesses for symbols known to be in a small data section (MIPS)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3791OPTION(prefix_1, "-mguard=", mguard_EQ, Joined, m_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, 3792 "Enable or disable Control Flow Guard checks and guard tables emission", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, "none,cf,cf-nochecks") 3793OPTION(prefix_1, "-mguarded-control-stack", mguarded_control_stack, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3794OPTION(prefix_1, "-MG", MG, Flag, M_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 3795 "Add missing headers to depfile", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3796OPTION(prefix_1, "-mhard-float", mhard_float, Flag, m_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3797OPTION(prefix_1, "-mhard-quad-float", mhard_quad_float, Flag, m_sparc_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3798OPTION(prefix_1, "-mharden-sls=", mharden_sls_EQ, Joined, m_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, 3799 "Select straight-line speculation hardening scope (ARM/AArch64/X86 only). <arg> must be: all, none, retbr(ARM/AArch64), blr(ARM/AArch64), comdat(ARM/AArch64), nocomdat(ARM/AArch64), return(X86), indirect-jmp(X86)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3800OPTION(prefix_1, "-mhreset", mhreset, Flag, m_x86_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3801OPTION(prefix_1, "-mhtm", mhtm, Flag, m_ppc_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3802OPTION(prefix_1, "-mhvx-ieee-fp", mhexagon_hvx_ieee_fp, Flag, m_hexagon_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, 3803 "Enable Hexagon HVX IEEE floating-point", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3804OPTION(prefix_1, "-mhvx-length=", mhexagon_hvx_length_EQ, Joined, m_hexagon_Features_HVX_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, 3805 "Set Hexagon Vector Length", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, "64B,128B") 3806OPTION(prefix_1, "-mhvx-qfloat", mhexagon_hvx_qfloat, Flag, m_hexagon_Features_HVX_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, 3807 "Enable Hexagon HVX QFloat instructions", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3808OPTION(prefix_1, "-mhvx=", mhexagon_hvx_EQ, Joined, m_hexagon_Features_HVX_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, 3809 "Enable Hexagon Vector eXtensions", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3810OPTION(prefix_1, "-mhvx", mhexagon_hvx, Flag, m_hexagon_Features_HVX_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, 3811 "Enable Hexagon Vector eXtensions", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3812OPTION(prefix_3, "--mhwdiv=", _mhwdiv_EQ, Joined, INVALID, mhwdiv_EQ, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3813OPTION(prefix_1, "-mhwdiv=", mhwdiv_EQ, Joined, m_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3814OPTION(prefix_3, "--mhwdiv", _mhwdiv, Separate, INVALID, mhwdiv_EQ, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3815OPTION(prefix_1, "-mhwmult=", mhwmult_EQ, Joined, m_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3816OPTION(prefix_1, "-miamcu", miamcu, Flag, m_Group, INVALID, nullptr, NoXarchOption, DefaultVis | CLOption | DefaultVis | CLOption, 0, 3817 "Use Intel MCU ABI", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3818OPTION(prefix_1, "-mieee-fp", mieee_fp, Flag, clang_ignored_m_Group, INVALID, nullptr, TargetSpecific | Ignored, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3819OPTION(prefix_1, "-mieee-rnd-near", mieee_rnd_near, Flag, m_hexagon_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3820OPTION(prefix_1, "-mignore-xcoff-visibility", mignore_xcoff_visibility, Flag, m_Group, INVALID, nullptr, TargetSpecific, DefaultVis | CC1Option | DefaultVis | CLOption, 0, 3821 "Not emit the visibility attribute for asm in AIX OS or give all symbols 'unspecified' visibility in XCOFF object file", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3822OPTION(prefix_3, "--migrate", _migrate, Flag, INVALID, INVALID, nullptr, NoXarchOption, DefaultVis, 0, 3823 "Run the migrator", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3824OPTION(prefix_1, "-migrate", migrate, Flag, Action_Group, INVALID, nullptr, 0, CC1Option, 0, 3825 "Migrate source code", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3826OPTION(prefix_1, "-mimplicit-float", mimplicit_float, Flag, m_Group, INVALID, nullptr, 0, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3827OPTION(prefix_1, "-mimplicit-it=", mimplicit_it_EQ, Joined, m_Group, INVALID, nullptr, 0, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3828OPTION(prefix_1, "-mincremental-linker-compatible", mincremental_linker_compatible, Flag, m_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | CC1AsOption | DefaultVis | CLOption, 0, 3829 "(integrated-as) Emit an object file which can be used with an incremental linker", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3830OPTION(prefix_1, "-mindirect-branch-cs-prefix", mindirect_branch_cs_prefix, Flag, m_Group, INVALID, nullptr, 0, DefaultVis | CLOption | CC1Option | DefaultVis | CLOption, 0, 3831 "Add cs prefix to call and jmp to indirect thunk", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3832OPTION(prefix_1, "-mindirect-jump=", mindirect_jump_EQ, Joined, m_mips_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, 3833 "Change indirect jump instructions to inhibit speculation", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3834OPTION(prefix_1, "-minline-all-stringops", minline_all_stringops, Flag, clang_ignored_m_Group, INVALID, nullptr, TargetSpecific | Ignored, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3835OPTION(prefix_1, "-minvariant-function-descriptors", minvariant_function_descriptors, Flag, m_ppc_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3836OPTION(prefix_1, "-minvpcid", minvpcid, Flag, m_x86_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3837OPTION(prefix_1, "-mios-simulator-version-min=", mios_simulator_version_min_EQ, Joined, m_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3838OPTION(prefix_1, "-mios-version-min=", mios_version_min_EQ, Joined, m_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, 3839 "Set iOS deployment target", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3840OPTION(prefix_1, "-miphoneos-version-min=", anonymous_1623, Joined, m_Group, mios_version_min_EQ, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3841OPTION(prefix_1, "-miphonesimulator-version-min=", anonymous_1624, Joined, INVALID, mios_simulator_version_min_EQ, nullptr, TargetSpecific, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3842OPTION(prefix_1, "-mips16", mips16, Flag, m_mips_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3843OPTION(prefix_1, "-mips1", mips1, Flag, m_mips_Features_Group, march_EQ, "mips1\0", HelpHidden, DefaultVis, 0, 3844 "Equivalent to -march=mips1", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3845OPTION(prefix_1, "-mips2", mips2, Flag, m_mips_Features_Group, march_EQ, "mips2\0", HelpHidden, DefaultVis, 0, 3846 "Equivalent to -march=mips2", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3847OPTION(prefix_1, "-mips32r2", mips32r2, Flag, m_mips_Features_Group, march_EQ, "mips32r2\0", HelpHidden, DefaultVis, 0, 3848 "Equivalent to -march=mips32r2", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3849OPTION(prefix_1, "-mips32r3", mips32r3, Flag, m_mips_Features_Group, march_EQ, "mips32r3\0", HelpHidden, DefaultVis, 0, 3850 "Equivalent to -march=mips32r3", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3851OPTION(prefix_1, "-mips32r5", mips32r5, Flag, m_mips_Features_Group, march_EQ, "mips32r5\0", HelpHidden, DefaultVis, 0, 3852 "Equivalent to -march=mips32r5", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3853OPTION(prefix_1, "-mips32r6", mips32r6, Flag, m_mips_Features_Group, march_EQ, "mips32r6\0", HelpHidden, DefaultVis, 0, 3854 "Equivalent to -march=mips32r6", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3855OPTION(prefix_1, "-mips32", mips32, Flag, m_mips_Features_Group, march_EQ, "mips32\0", HelpHidden, DefaultVis, 0, 3856 "Equivalent to -march=mips32", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3857OPTION(prefix_1, "-mips3", mips3, Flag, m_mips_Features_Group, march_EQ, "mips3\0", HelpHidden, DefaultVis, 0, 3858 "Equivalent to -march=mips3", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3859OPTION(prefix_1, "-mips4", mips4, Flag, m_mips_Features_Group, march_EQ, "mips4\0", HelpHidden, DefaultVis, 0, 3860 "Equivalent to -march=mips4", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3861OPTION(prefix_1, "-mips5", mips5, Flag, m_mips_Features_Group, march_EQ, "mips5\0", HelpHidden, DefaultVis, 0, 3862 "Equivalent to -march=mips5", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3863OPTION(prefix_1, "-mips64r2", mips64r2, Flag, m_mips_Features_Group, march_EQ, "mips64r2\0", HelpHidden, DefaultVis, 0, 3864 "Equivalent to -march=mips64r2", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3865OPTION(prefix_1, "-mips64r3", mips64r3, Flag, m_mips_Features_Group, march_EQ, "mips64r3\0", HelpHidden, DefaultVis, 0, 3866 "Equivalent to -march=mips64r3", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3867OPTION(prefix_1, "-mips64r5", mips64r5, Flag, m_mips_Features_Group, march_EQ, "mips64r5\0", HelpHidden, DefaultVis, 0, 3868 "Equivalent to -march=mips64r5", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3869OPTION(prefix_1, "-mips64r6", mips64r6, Flag, m_mips_Features_Group, march_EQ, "mips64r6\0", HelpHidden, DefaultVis, 0, 3870 "Equivalent to -march=mips64r6", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3871OPTION(prefix_1, "-mips64", mips64, Flag, m_mips_Features_Group, march_EQ, "mips64\0", HelpHidden, DefaultVis, 0, 3872 "Equivalent to -march=mips64", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3873OPTION(prefix_1, "-misel", misel, Flag, m_ppc_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3874OPTION(prefix_1, "-MJ", MJ, JoinedOrSeparate, M_Group, INVALID, nullptr, 0, DefaultVis, 0, 3875 "Write a compilation database entry per input", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3876OPTION(prefix_1, "-mkernel", mkernel, Flag, m_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3877OPTION(prefix_1, "-mkl", mkl, Flag, m_x86_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3878OPTION(prefix_1, "-mlarge-data-threshold=", mlarge_data_threshold_EQ, Joined, m_Group, INVALID, nullptr, TargetSpecific, DefaultVis | CC1Option | FlangOption | FC1Option | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3879OPTION(prefix_1, "-mlasx", mlasx, Flag, m_loongarch_Features_Group, INVALID, nullptr, 0, DefaultVis, 0, 3880 "Enable Loongson Advanced SIMD Extension (LASX).", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3881OPTION(prefix_1, "-mldc1-sdc1", mldc1_sdc1, Flag, m_mips_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3882OPTION(prefix_1, "-mlimit-float-precision", mlimit_float_precision, Separate, INVALID, INVALID, nullptr, 0, CC1Option, 0, 3883 "Limit float precision to the given value", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3884OPTION(prefix_1, "-mlink-bitcode-file", mlink_bitcode_file, Separate, INVALID, INVALID, nullptr, 0, CC1Option, 0, 3885 "Link the given bitcode file before performing optimizations.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3886OPTION(prefix_1, "-mlink-builtin-bitcode-postopt", mlink_builtin_bitcode_postopt, Flag, m_Group, INVALID, nullptr, 0, CC1Option | DefaultVis | CLOption, 0, 3887 "Link builtin bitcodes after the optimization pipeline", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3888OPTION(prefix_1, "-mlink-builtin-bitcode", mlink_builtin_bitcode, Separate, INVALID, INVALID, nullptr, 0, CC1Option | FC1Option, 0, 3889 "Link and internalize needed symbols from the given bitcode file before performing optimizations.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3890OPTION(prefix_1, "-mlinker-version=", mlinker_version_EQ, Joined, m_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3891OPTION(prefix_1, "-mlittle-endian", mlittle_endian, Flag, m_Group, INVALID, nullptr, NoXarchOption | TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3892OPTION(prefix_1, "-mllvm=", anonymous_1626, Joined, INVALID, mllvm, nullptr, 0, DefaultVis | CLOption | DXCOption | FlangOption, 0, 3893 "Alias for -mllvm", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "<arg>", nullptr) 3894OPTION(prefix_1, "-mllvm", mllvm, Separate, INVALID, INVALID, nullptr, 0, DefaultVis | CC1Option | CC1AsOption | CLOption | DXCOption | FC1Option | FlangOption, 0, 3895 "Additional arguments to forward to LLVM's option processing", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3896OPTION(prefix_1, "-mlocal-sdata", mlocal_sdata, Flag, m_mips_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, 3897 "Extend the -G behaviour to object local data (MIPS)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3898OPTION(prefix_1, "-mlong-calls", mlong_calls, Flag, m_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, 3899 "Generate branches with extended addressability, usually via indirect jumps.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3900OPTION(prefix_1, "-mlong-double-128", mlong_double_128, Flag, LongDouble_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 3901 "Force long double to be 128 bits", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3902OPTION(prefix_1, "-mlong-double-64", mlong_double_64, Flag, LongDouble_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 3903 "Force long double to be 64 bits", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3904OPTION(prefix_1, "-mlong-double-80", mlong_double_80, Flag, LongDouble_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 3905 "Force long double to be 80 bits, padded to 128 bits for storage", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3906OPTION(prefix_1, "-mlongcall", mlongcall, Flag, m_ppc_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3907OPTION(prefix_1, "-mlr-for-calls-only", mlr_for_calls_only, Flag, m_aarch64_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, 3908 "Do not allocate the LR register for general purpose usage, only for calls. (AArch64 only)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3909OPTION(prefix_1, "-mlsx", mlsx, Flag, m_loongarch_Features_Group, INVALID, nullptr, 0, DefaultVis, 0, 3910 "Enable Loongson SIMD Extension (LSX).", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3911OPTION(prefix_1, "-mlvi-cfi", mlvi_cfi, Flag, m_Group, INVALID, nullptr, NoXarchOption, DefaultVis | CLOption | DefaultVis | CLOption, 0, 3912 "Enable only control-flow mitigations for Load Value Injection (LVI)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3913OPTION(prefix_1, "-mlvi-hardening", mlvi_hardening, Flag, m_Group, INVALID, nullptr, 0, DefaultVis | CLOption | DefaultVis | CLOption, 0, 3914 "Enable all mitigations for Load Value Injection (LVI)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3915OPTION(prefix_1, "-mlwp", mlwp, Flag, m_x86_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3916OPTION(prefix_1, "-mlzcnt", mlzcnt, Flag, m_x86_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3917OPTION(prefix_1, "-mmacos-version-min=", mmacos_version_min_EQ, Joined, m_Group, INVALID, nullptr, 0, DefaultVis | DefaultVis | CLOption, 0, 3918 "Set macOS deployment target", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3919OPTION(prefix_1, "-mmacosx-version-min=", anonymous_1628, Joined, m_Group, mmacos_version_min_EQ, nullptr, 0, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3920OPTION(prefix_1, "-mmadd4", mmadd4, Flag, m_mips_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, 3921 "Enable the generation of 4-operand madd.s, madd.d and related instructions.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3922OPTION(prefix_1, "-mmapsyms=implicit", mmapsyms_implicit, Flag, INVALID, INVALID, nullptr, 0, CC1Option | CC1AsOption, 0, 3923 "Allow mapping symbol at section beginning to be implicit, lowering number of mapping symbols at the expense of some portability. Recommended for projects that can build all their object files using this option", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3924OPTION(prefix_1, "-mmark-bti-property", mmark_bti_property, Flag, m_aarch64_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, 3925 "Add .note.gnu.property with BTI to assembly files (AArch64 only)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3926OPTION(prefix_1, "-mmcu=", mmcu_EQ, Joined, m_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3927OPTION(prefix_1, "-MMD", MMD, Flag, M_Group, INVALID, nullptr, 0, DefaultVis, 0, 3928 "Write a depfile containing user headers", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3929OPTION(prefix_1, "-mmemops", mmemops, Flag, m_hexagon_Features_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 3930 "Enable generation of memop instructions", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3931OPTION(prefix_1, "-mmfcrf", mmfcrf, Flag, INVALID, mmfocrf, nullptr, TargetSpecific, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3932OPTION(prefix_1, "-mmfocrf", mmfocrf, Flag, m_ppc_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3933OPTION(prefix_1, "-mmicromips", mmicromips, Flag, m_mips_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3934OPTION(prefix_1, "-mmlir", mmlir, Separate, INVALID, INVALID, nullptr, 0, DefaultVis | CLOption | FC1Option | FlangOption, 0, 3935 "Additional arguments to forward to MLIR's option processing", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3936OPTION(prefix_1, "-mmma", mmma, Flag, m_ppc_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3937OPTION(prefix_1, "-mmmx", mmmx, Flag, m_x86_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3938OPTION(prefix_1, "-mmovbe", mmovbe, Flag, m_x86_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3939OPTION(prefix_1, "-mmovdir64b", mmovdir64b, Flag, m_x86_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3940OPTION(prefix_1, "-mmovdiri", mmovdiri, Flag, m_x86_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3941OPTION(prefix_1, "-mmpx", mmpx, Flag, clang_ignored_legacy_options_Group, INVALID, nullptr, Ignored, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3942OPTION(prefix_1, "-mms-bitfields", mms_bitfields, Flag, m_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis | CLOption, 0, 3943 "Set the default structure layout to be compatible with the Microsoft compiler standard", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3944OPTION(prefix_1, "-mmsa", mmsa, Flag, m_mips_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | CC1Option | CC1AsOption, 0, 3945 "Enable MSA ASE (MIPS only)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3946OPTION(prefix_1, "-mmt", mmt, Flag, m_mips_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, 3947 "Enable MT ASE (MIPS only)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3948OPTION(prefix_1, "-mmultimemory", mmultimemory, Flag, m_wasm_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3949OPTION(prefix_1, "-mmultivalue", mmultivalue, Flag, m_wasm_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3950OPTION(prefix_1, "-mmutable-globals", mmutable_globals, Flag, m_wasm_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3951OPTION(prefix_1, "-mmwaitx", mmwaitx, Flag, m_x86_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3952OPTION(prefix_1, "-MM", MM, Flag, M_Group, INVALID, nullptr, 0, DefaultVis, 0, 3953 "Like -MMD, but also implies -E and writes to stdout by default", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3954OPTION(prefix_1, "-mnan=", mnan_EQ, Joined, m_mips_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3955OPTION(prefix_1, "-mno-3dnowa", mno_3dnowa, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3956OPTION(prefix_1, "-mno-3dnow", mno_3dnow, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3957OPTION(prefix_1, "-mno-80387", mno_80387, Flag, INVALID, mno_x87, nullptr, TargetSpecific, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3958OPTION(prefix_1, "-mno-abicalls", mno_abicalls, Flag, m_mips_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, 3959 "Disable SVR4-style position-independent code (Mips only)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3960OPTION(prefix_1, "-mno-adx", mno_adx, Flag, m_x86_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3961OPTION(prefix_1, "-mno-aes", mno_aes, Flag, m_x86_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3962OPTION(prefix_1, "-mno-altivec", mno_altivec, Flag, m_ppc_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3963OPTION(prefix_1, "-mno-amdgpu-ieee", mno_amdgpu_ieee, Flag, m_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis | DefaultVis | CLOption, 0, 3964 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3965OPTION(prefix_1, "-mno-amdgpu-precise-memory-op", mno_amdgpu_precise_memory_op, Flag, m_Group, INVALID, nullptr, 0, DefaultVis | DefaultVis | CLOption, 0, 3966 "Disable precise memory mode (AMDGPU only)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3967OPTION(prefix_1, "-mno-amx-bf16", mno_amx_bf16, Flag, m_x86_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3968OPTION(prefix_1, "-mno-amx-complex", mno_amx_complex, Flag, m_x86_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3969OPTION(prefix_1, "-mno-amx-fp16", mno_amx_fp16, Flag, m_x86_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3970OPTION(prefix_1, "-mno-amx-int8", mno_amx_int8, Flag, m_x86_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3971OPTION(prefix_1, "-mno-amx-tile", mno_amx_tile, Flag, m_x86_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3972OPTION(prefix_1, "-mno-apx-features=", mno_apx_features_EQ, CommaJoined, m_x86_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | CLOption | FlangOption | DefaultVis | CLOption, 0, 3973 "Disable features of APX", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, "egpr,push2pop2,ppx,ndd,ccmp,nf,cf,zu") 3974OPTION(prefix_1, "-mno-apxf", mno_apxf, Flag, INVALID, mno_apx_features_EQ, "egpr\0push2pop2\0ppx\0ndd\0ccmp\0nf\0cf\0zu\0", TargetSpecific, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3975OPTION(prefix_1, "-mno-atomics", mno_atomics, Flag, m_wasm_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3976OPTION(prefix_1, "-mno-avx10.1-256", mno_avx10_1_256, Flag, m_x86_AVX10_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3977OPTION(prefix_1, "-mno-avx10.1-512", mno_avx10_1_512, Flag, m_x86_AVX10_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3978OPTION(prefix_1, "-mno-avx10.1", mno_avx10_1, Flag, INVALID, mno_avx10_1_256, nullptr, TargetSpecific, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3979OPTION(prefix_1, "-mno-avx10.2-256", mno_avx10_2_256, Flag, m_x86_AVX10_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3980OPTION(prefix_1, "-mno-avx10.2-512", mno_avx10_2_512, Flag, m_x86_AVX10_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3981OPTION(prefix_1, "-mno-avx10.2", mno_avx10_2, Flag, INVALID, mno_avx10_2_256, nullptr, TargetSpecific, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3982OPTION(prefix_1, "-mno-avx2", mno_avx2, Flag, m_x86_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3983OPTION(prefix_1, "-mno-avx512bf16", mno_avx512bf16, Flag, m_x86_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3984OPTION(prefix_1, "-mno-avx512bitalg", mno_avx512bitalg, Flag, m_x86_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3985OPTION(prefix_1, "-mno-avx512bw", mno_avx512bw, Flag, m_x86_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3986OPTION(prefix_1, "-mno-avx512cd", mno_avx512cd, Flag, m_x86_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3987OPTION(prefix_1, "-mno-avx512dq", mno_avx512dq, Flag, m_x86_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3988OPTION(prefix_1, "-mno-avx512fp16", mno_avx512fp16, Flag, m_x86_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3989OPTION(prefix_1, "-mno-avx512f", mno_avx512f, Flag, m_x86_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3990OPTION(prefix_1, "-mno-avx512ifma", mno_avx512ifma, Flag, m_x86_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3991OPTION(prefix_1, "-mno-avx512vbmi2", mno_avx512vbmi2, Flag, m_x86_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3992OPTION(prefix_1, "-mno-avx512vbmi", mno_avx512vbmi, Flag, m_x86_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3993OPTION(prefix_1, "-mno-avx512vl", mno_avx512vl, Flag, m_x86_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3994OPTION(prefix_1, "-mno-avx512vnni", mno_avx512vnni, Flag, m_x86_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3995OPTION(prefix_1, "-mno-avx512vp2intersect", mno_avx512vp2intersect, Flag, m_x86_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3996OPTION(prefix_1, "-mno-avx512vpopcntdq", mno_avx512vpopcntdq, Flag, m_x86_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3997OPTION(prefix_1, "-mno-avxifma", mno_avxifma, Flag, m_x86_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3998OPTION(prefix_1, "-mno-avxneconvert", mno_avxneconvert, Flag, m_x86_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 3999OPTION(prefix_1, "-mno-avxvnniint16", mno_avxvnniint16, Flag, m_x86_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4000OPTION(prefix_1, "-mno-avxvnniint8", mno_avxvnniint8, Flag, m_x86_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4001OPTION(prefix_1, "-mno-avxvnni", mno_avxvnni, Flag, m_x86_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4002OPTION(prefix_1, "-mno-avx", mno_avx, Flag, m_x86_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4003OPTION(prefix_1, "-mno-backchain", mno_backchain, Flag, m_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis | CLOption, 0, 4004 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4005OPTION(prefix_1, "-mno-bmi2", mno_bmi2, Flag, m_x86_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4006OPTION(prefix_1, "-mno-bmi", mno_bmi, Flag, m_x86_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4007OPTION(prefix_1, "-mno-branch-likely", mno_branch_likely, Flag, m_Group, INVALID, nullptr, HelpHidden, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4008OPTION(prefix_1, "-mno-bti-at-return-twice", mno_bti_at_return_twice, Flag, m_arm_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, 4009 "Do not add a BTI instruction after a setjmp or other return-twice construct (Arm/AArch64 only)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4010OPTION(prefix_1, "-mno-bulk-memory", mno_bulk_memory, Flag, m_wasm_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4011OPTION(prefix_1, "-mno-check-zero-division", mno_check_zero_division, Flag, m_mips_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4012OPTION(prefix_1, "-mno-cldemote", mno_cldemote, Flag, m_x86_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4013OPTION(prefix_1, "-mno-clflushopt", mno_clflushopt, Flag, m_x86_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4014OPTION(prefix_1, "-mno-clwb", mno_clwb, Flag, m_x86_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4015OPTION(prefix_1, "-mno-clzero", mno_clzero, Flag, m_x86_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4016OPTION(prefix_1, "-mno-cmpb", mno_cmpb, Flag, m_ppc_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4017OPTION(prefix_1, "-mno-cmpccxadd", mno_cmpccxadd, Flag, m_x86_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4018OPTION(prefix_1, "-mno-constant-cfstrings", mno_constant_cfstrings, Flag, m_Group, INVALID, nullptr, 0, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4019OPTION(prefix_1, "-mno-constructor-aliases", mno_constructor_aliases, Flag, m_Group, INVALID, nullptr, 0, CC1Option | DefaultVis | CLOption, 0, 4020 "Disable emitting complete constructors and destructors as aliases when possible", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4021OPTION(prefix_1, "-mno-crbits", mno_crbits, Flag, m_ppc_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4022OPTION(prefix_1, "-mno-crc32", mno_crc32, Flag, m_x86_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4023OPTION(prefix_1, "-mno-crc", mno_crc, Flag, m_mips_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, 4024 "Disallow use of CRC instructions (Mips only)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4025OPTION(prefix_1, "-mno-crypto", mnopower8_crypto, Flag, m_ppc_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4026OPTION(prefix_1, "-mno-cumode", mno_cumode, Flag, m_amdgpu_Features_Group, INVALID, nullptr, 0, DefaultVis, 0, 4027 "Specify WGP wavefront execution mode (AMDGPU only)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4028OPTION(prefix_1, "-mno-cx16", mno_cx16, Flag, m_x86_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4029OPTION(prefix_1, "-mno-daz-ftz", mno_daz_ftz, Flag, m_Group, INVALID, nullptr, 0, DefaultVis | DefaultVis | CLOption, 0, 4030 "Do not globally set the denormals-are-zero (DAZ) and flush-to-zero (FTZ) bits in the floating-point control register on program startup", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4031OPTION(prefix_1, "-mno-default-build-attributes", mno_default_build_attributes, Joined, m_Group, INVALID, nullptr, 0, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4032OPTION(prefix_1, "-mno-direct-move", mnodirect_move, Flag, m_ppc_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4033OPTION(prefix_1, "-mno-dspr2", mno_dspr2, Flag, m_mips_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4034OPTION(prefix_1, "-mno-dsp", mno_dsp, Flag, m_mips_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4035OPTION(prefix_1, "-mno-embedded-data", mno_embedded_data, Flag, m_mips_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, 4036 "Do not place constants in the .rodata section instead of the .sdata if they meet the -G <size> threshold (MIPS)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4037OPTION(prefix_1, "-mno-enqcmd", mno_enqcmd, Flag, m_x86_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4038OPTION(prefix_1, "-mno-evex512", mno_evex512, Flag, m_x86_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4039OPTION(prefix_1, "-mno-exception-handling", mno_exception_handing, Flag, m_wasm_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4040OPTION(prefix_1, "-mno-execute-only", mno_execute_only, Flag, m_arm_Features_Group, INVALID, nullptr, 0, DefaultVis, 0, 4041 "Allow generation of data access to code sections (ARM only)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4042OPTION(prefix_1, "-mno-extended-const", mno_extended_const, Flag, m_wasm_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4043OPTION(prefix_1, "-mno-extern-sdata", mno_extern_sdata, Flag, m_mips_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, 4044 "Do not assume that externally defined data is in the small data if it meets the -G <size> threshold (MIPS)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4045OPTION(prefix_1, "-mno-f16c", mno_f16c, Flag, m_x86_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4046OPTION(prefix_1, "-mno-fix-cmse-cve-2021-35465", mno_fix_cmse_cve_2021_35465, Flag, m_arm_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, 4047 "Don't work around VLLDM erratum CVE-2021-35465 (ARM only)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4048OPTION(prefix_1, "-mno-fix-cortex-a53-835769", mno_fix_cortex_a53_835769, Flag, m_aarch64_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, 4049 "Don't workaround Cortex-A53 erratum 835769 (AArch64 only)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4050OPTION(prefix_1, "-mno-fix-cortex-a57-aes-1742098", mno_fix_cortex_a57_aes_1742098, Flag, m_arm_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, 4051 "Don't work around Cortex-A57 Erratum 1742098 (ARM only)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4052OPTION(prefix_1, "-mno-fix-cortex-a72-aes-1655431", mno_fix_cortex_a72_aes_1655431, Flag, m_arm_Features_Group, mno_fix_cortex_a57_aes_1742098, nullptr, TargetSpecific, DefaultVis, 0, 4053 "Don't work around Cortex-A72 Erratum 1655431 (ARM only)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4054OPTION(prefix_1, "-mno-float128", mno_float128, Flag, m_ppc_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4055OPTION(prefix_1, "-mno-fma4", mno_fma4, Flag, m_x86_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4056OPTION(prefix_1, "-mno-fma", mno_fma, Flag, m_x86_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4057OPTION(prefix_1, "-mno-fmv", mno_fmv, Flag, f_clang_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 4058 "Disable function multiversioning", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4059OPTION(prefix_1, "-mno-forced-sw-shadow-stack", mno_forced_sw_shadow_stack, Flag, m_riscv_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, 4060 "Not force using software shadow stack when shadow-stack enabled", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4061OPTION(prefix_1, "-mno-fp-ret-in-387", mno_fp_ret_in_387, Flag, INVALID, mno_x87, nullptr, TargetSpecific, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4062OPTION(prefix_1, "-mno-fp16", mno_fp16, Flag, m_wasm_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4063OPTION(prefix_1, "-mno-fprnd", mno_fprnd, Flag, m_ppc_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4064OPTION(prefix_1, "-mno-fpu", mno_fpu, Flag, m_sparc_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4065OPTION(prefix_1, "-mno-fsgsbase", mno_fsgsbase, Flag, m_x86_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4066OPTION(prefix_1, "-mno-fsmuld", mno_fsmuld, Flag, m_sparc_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4067OPTION(prefix_1, "-mno-fxsr", mno_fxsr, Flag, m_x86_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4068OPTION(prefix_1, "-mno-gather", mno_gather, Flag, m_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, 4069 "Disable generation of gather instructions in auto-vectorization(x86 only)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4070OPTION(prefix_1, "-mno-gfni", mno_gfni, Flag, m_x86_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4071OPTION(prefix_1, "-mno-ginv", mno_ginv, Flag, m_mips_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4072OPTION(prefix_1, "-mno-global-merge", mno_global_merge, Flag, m_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis | CLOption, 0, 4073 "Disable merging of globals", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4074OPTION(prefix_1, "-mno-gpopt", mno_gpopt, Flag, m_mips_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, 4075 "Do not use GP relative accesses for symbols known to be in a small data section (MIPS)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4076OPTION(prefix_1, "-mno-hreset", mno_hreset, Flag, m_x86_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4077OPTION(prefix_1, "-mno-htm", mno_htm, Flag, m_ppc_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4078OPTION(prefix_1, "-mno-hvx-ieee-fp", mno_hexagon_hvx_ieee_fp, Flag, m_hexagon_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, 4079 "Disable Hexagon HVX IEEE floating-point", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4080OPTION(prefix_1, "-mno-hvx-qfloat", mno_hexagon_hvx_qfloat, Flag, m_hexagon_Features_HVX_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, 4081 "Disable Hexagon HVX QFloat instructions", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4082OPTION(prefix_1, "-mno-hvx", mno_hexagon_hvx, Flag, m_hexagon_Features_HVX_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, 4083 "Disable Hexagon Vector eXtensions", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4084OPTION(prefix_1, "-mno-iamcu", mno_iamcu, Flag, m_Group, INVALID, nullptr, NoXarchOption, DefaultVis | CLOption | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4085OPTION(prefix_1, "-mno-implicit-float", mno_implicit_float, Flag, m_Group, INVALID, nullptr, 0, DefaultVis | DefaultVis | CLOption, 0, 4086 "Don't generate implicit floating point or vector instructions", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4087OPTION(prefix_1, "-mno-incremental-linker-compatible", mno_incremental_linker_compatible, Flag, m_Group, INVALID, nullptr, 0, DefaultVis | DefaultVis | CLOption, 0, 4088 "(integrated-as) Emit an object file which cannot be used with an incremental linker", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4089OPTION(prefix_1, "-mno-inline-all-stringops", mno_inline_all_stringops, Flag, clang_ignored_m_Group, INVALID, nullptr, TargetSpecific | Ignored, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4090OPTION(prefix_1, "-mno-invariant-function-descriptors", mno_invariant_function_descriptors, Flag, m_ppc_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4091OPTION(prefix_1, "-mno-invpcid", mno_invpcid, Flag, m_x86_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4092OPTION(prefix_1, "-mno-isel", mno_isel, Flag, m_ppc_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4093OPTION(prefix_1, "-mno-kl", mno_kl, Flag, m_x86_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4094OPTION(prefix_1, "-mno-lasx", mno_lasx, Flag, m_loongarch_Features_Group, INVALID, nullptr, 0, DefaultVis, 0, 4095 "Disable Loongson Advanced SIMD Extension (LASX).", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4096OPTION(prefix_1, "-mno-ldc1-sdc1", mno_ldc1_sdc1, Flag, m_mips_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4097OPTION(prefix_1, "-mno-link-builtin-bitcode-postopt", mno_link_builtin_bitcode_postopt, Flag, m_Group, INVALID, nullptr, 0, CC1Option | DefaultVis | CLOption, 0, 4098 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4099OPTION(prefix_1, "-mno-local-sdata", mno_local_sdata, Flag, m_mips_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, 4100 "Do not extend the -G behaviour to object local data (MIPS)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4101OPTION(prefix_1, "-mno-long-calls", mno_long_calls, Flag, m_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, 4102 "Restore the default behaviour of not generating long calls", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4103OPTION(prefix_1, "-mno-longcall", mno_longcall, Flag, m_ppc_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4104OPTION(prefix_1, "-mno-lsx", mno_lsx, Flag, m_loongarch_Features_Group, INVALID, nullptr, 0, DefaultVis, 0, 4105 "Disable Loongson SIMD Extension (LSX).", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4106OPTION(prefix_1, "-mno-lvi-cfi", mno_lvi_cfi, Flag, m_Group, INVALID, nullptr, 0, DefaultVis | CLOption | DefaultVis | CLOption, 0, 4107 "Disable control-flow mitigations for Load Value Injection (LVI)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4108OPTION(prefix_1, "-mno-lvi-hardening", mno_lvi_hardening, Flag, m_Group, INVALID, nullptr, 0, DefaultVis | CLOption | DefaultVis | CLOption, 0, 4109 "Disable mitigations for Load Value Injection (LVI)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4110OPTION(prefix_1, "-mno-lwp", mno_lwp, Flag, m_x86_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4111OPTION(prefix_1, "-mno-lzcnt", mno_lzcnt, Flag, m_x86_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4112OPTION(prefix_1, "-mno-madd4", mno_madd4, Flag, m_mips_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, 4113 "Disable the generation of 4-operand madd.s, madd.d and related instructions.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4114OPTION(prefix_1, "-mno-memops", mno_memops, Flag, m_hexagon_Features_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 4115 "Disable generation of memop instructions", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4116OPTION(prefix_1, "-mno-mfcrf", mno_mfcrf, Flag, INVALID, mno_mfocrf, nullptr, TargetSpecific, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4117OPTION(prefix_1, "-mno-mfocrf", mno_mfocrf, Flag, m_ppc_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4118OPTION(prefix_1, "-mno-micromips", mno_micromips, Flag, m_mips_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4119OPTION(prefix_1, "-mno-mips16", mno_mips16, Flag, m_mips_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4120OPTION(prefix_1, "-mno-mma", mno_mma, Flag, m_ppc_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4121OPTION(prefix_1, "-mno-mmx", mno_mmx, Flag, m_x86_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4122OPTION(prefix_1, "-mno-movbe", mno_movbe, Flag, m_x86_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4123OPTION(prefix_1, "-mno-movdir64b", mno_movdir64b, Flag, m_x86_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4124OPTION(prefix_1, "-mno-movdiri", mno_movdiri, Flag, m_x86_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4125OPTION(prefix_1, "-mno-movt", mno_movt, Flag, m_arm_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, 4126 "Disallow use of movt/movw pairs (ARM only)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4127OPTION(prefix_1, "-mno-mpx", mno_mpx, Flag, clang_ignored_legacy_options_Group, INVALID, nullptr, Ignored, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4128OPTION(prefix_1, "-mno-ms-bitfields", mno_ms_bitfields, Flag, m_Group, INVALID, nullptr, 0, DefaultVis | DefaultVis | CLOption, 0, 4129 "Do not set the default structure layout to be compatible with the Microsoft compiler standard", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4130OPTION(prefix_1, "-mno-msa", mno_msa, Flag, m_mips_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, 4131 "Disable MSA ASE (MIPS only)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4132OPTION(prefix_1, "-mno-mt", mno_mt, Flag, m_mips_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, 4133 "Disable MT ASE (MIPS only)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4134OPTION(prefix_1, "-mno-multimemory", mno_multimemory, Flag, m_wasm_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4135OPTION(prefix_1, "-mno-multivalue", mno_multivalue, Flag, m_wasm_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4136OPTION(prefix_1, "-mno-mutable-globals", mno_mutable_globals, Flag, m_wasm_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4137OPTION(prefix_1, "-mno-mwaitx", mno_mwaitx, Flag, m_x86_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4138OPTION(prefix_1, "-mno-neg-immediates", mno_neg_immediates, Flag, m_arm_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, 4139 "Disallow converting instructions with negative immediates to their negation or inversion.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4140OPTION(prefix_1, "-mno-nontrapping-fptoint", mno_nontrapping_fptoint, Flag, m_wasm_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4141OPTION(prefix_1, "-mno-nvj", mno_nvj, Flag, m_hexagon_Features_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 4142 "Disable generation of new-value jumps", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4143OPTION(prefix_1, "-mno-nvs", mno_nvs, Flag, m_hexagon_Features_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 4144 "Disable generation of new-value stores", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4145OPTION(prefix_1, "-mno-odd-spreg", mno_odd_spreg, Flag, m_mips_Features_Group, INVALID, nullptr, HelpHidden, DefaultVis, 0, 4146 "Disable odd single-precision floating point registers", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4147OPTION(prefix_1, "-mno-omit-leaf-frame-pointer", mno_omit_leaf_frame_pointer, Flag, m_Group, INVALID, nullptr, 0, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4148OPTION(prefix_1, "-mno-outline-atomics", mno_outline_atomics, Flag, f_clang_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | FlangOption, 0, 4149 "Don't generate local calls to out-of-line atomic operations", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4150OPTION(prefix_1, "-mno-outline", mno_outline, Flag, f_clang_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 4151 "Disable function outlining (AArch64 only)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4152OPTION(prefix_1, "-mno-packed-stack", mno_packed_stack, Flag, m_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4153OPTION(prefix_1, "-mno-packets", mno_packets, Flag, m_hexagon_Features_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 4154 "Disable generation of instruction packets", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4155OPTION(prefix_1, "-mno-paired-vector-memops", mnopaired_vector_memops, Flag, m_ppc_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4156OPTION(prefix_1, "-mno-pascal-strings", mno_pascal_strings, Flag, INVALID, fno_pascal_strings, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4157OPTION(prefix_1, "-mno-pclmul", mno_pclmul, Flag, m_x86_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4158OPTION(prefix_1, "-mno-pconfig", mno_pconfig, Flag, m_x86_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4159OPTION(prefix_1, "-mno-pcrel", mno_pcrel, Flag, m_ppc_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4160OPTION(prefix_1, "-mno-pic-data-is-text-relative", mno_pic_data_is_text_relative, Flag, m_Group, INVALID, nullptr, 0, DefaultVis | DefaultVis | CLOption, 0, 4161 "Don't assume data segments are relative to text segment", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4162OPTION(prefix_1, "-mno-pku", mno_pku, Flag, m_x86_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4163OPTION(prefix_1, "-mno-popcntd", mno_popcntd, Flag, m_ppc_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4164OPTION(prefix_1, "-mno-popcnt", mno_popcnt, Flag, m_x86_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4165OPTION(prefix_1, "-mno-popc", mno_popc, Flag, m_sparc_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4166OPTION(prefix_1, "-mno-power10-vector", mno_power10_vector, Flag, m_ppc_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4167OPTION(prefix_1, "-mno-power8-vector", mno_power8_vector, Flag, m_ppc_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4168OPTION(prefix_1, "-mno-power9-vector", mno_power9_vector, Flag, m_ppc_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4169OPTION(prefix_1, "-mno-prefetchi", mno_prefetchi, Flag, m_x86_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4170OPTION(prefix_1, "-mno-prefixed", mno_prefixed, Flag, m_ppc_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4171OPTION(prefix_1, "-mno-prfchw", mno_prfchw, Flag, m_x86_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4172OPTION(prefix_1, "-mno-ptwrite", mno_ptwrite, Flag, m_x86_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4173OPTION(prefix_1, "-mno-pure-code", mno_pure_code, Flag, INVALID, mno_execute_only, nullptr, TargetSpecific, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4174OPTION(prefix_1, "-mno-raoint", mno_raoint, Flag, m_x86_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4175OPTION(prefix_1, "-mno-rdpid", mno_rdpid, Flag, m_x86_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4176OPTION(prefix_1, "-mno-rdpru", mno_rdpru, Flag, m_x86_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4177OPTION(prefix_1, "-mno-rdrnd", mno_rdrnd, Flag, m_x86_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4178OPTION(prefix_1, "-mno-rdseed", mno_rdseed, Flag, m_x86_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4179OPTION(prefix_1, "-mno-red-zone", mno_red_zone, Flag, m_Group, INVALID, nullptr, 0, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4180OPTION(prefix_1, "-mno-reference-types", mno_reference_types, Flag, m_wasm_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4181OPTION(prefix_1, "-mno-regnames", mno_regnames, Flag, m_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | DefaultVis | CLOption, 0, 4182 "Use only register numbers when writing assembly output", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4183OPTION(prefix_1, "-mno-relax-all", mno_relax_all, Flag, m_Group, INVALID, nullptr, 0, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4184OPTION(prefix_1, "-mno-relax-pic-calls", mno_relax_pic_calls, Flag, m_mips_Features_Group, INVALID, nullptr, HelpHidden, DefaultVis, 0, 4185 "Do not produce relaxation hints for linkers to try optimizing PIC call sequences into direct calls (MIPS only)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4186OPTION(prefix_1, "-mno-relaxed-simd", mno_relaxed_simd, Flag, m_wasm_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4187OPTION(prefix_1, "-mno-relax", mno_relax, Flag, m_Group, INVALID, nullptr, 0, DefaultVis | DefaultVis | CLOption, 0, 4188 "Disable linker relaxation", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4189OPTION(prefix_1, "-mno-restrict-it", mno_restrict_it, Flag, m_arm_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, 4190 "Allow generation of complex IT blocks.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4191OPTION(prefix_1, "-mno-retpoline-external-thunk", mno_retpoline_external_thunk, Flag, m_x86_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4192OPTION(prefix_1, "-mno-retpoline", mno_retpoline, Flag, m_Group, INVALID, nullptr, 0, DefaultVis | CLOption | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4193OPTION(prefix_1, "-mno-rtd", mno_rtd, Flag, m_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4194OPTION(prefix_1, "-mno-rtm", mno_rtm, Flag, m_x86_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4195OPTION(prefix_1, "-mno-sahf", mno_sahf, Flag, m_x86_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4196OPTION(prefix_1, "-mno-save-restore", mno_save_restore, Flag, m_riscv_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, 4197 "Disable using library calls for save and restore", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4198OPTION(prefix_1, "-mno-scalar-strict-align", mno_scalar_strict_align, Flag, m_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, 4199 "Allow scalar memory accesses to be unaligned (RISC-V only)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4200OPTION(prefix_1, "-mno-scatter", mno_scatter, Flag, m_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, 4201 "Disable generation of scatter instructions in auto-vectorization(x86 only)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4202OPTION(prefix_1, "-mno-serialize", mno_serialize, Flag, m_x86_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4203OPTION(prefix_1, "-mno-seses", mno_seses, Flag, m_Group, INVALID, nullptr, 0, DefaultVis | CLOption | DefaultVis | CLOption, 0, 4204 "Disable speculative execution side effect suppression (SESES)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4205OPTION(prefix_1, "-mno-sgx", mno_sgx, Flag, m_x86_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4206OPTION(prefix_1, "-mno-sha512", mno_sha512, Flag, m_x86_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4207OPTION(prefix_1, "-mno-sha", mno_sha, Flag, m_x86_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4208OPTION(prefix_1, "-mno-shstk", mno_shstk, Flag, m_x86_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4209OPTION(prefix_1, "-mno-sign-ext", mno_sign_ext, Flag, m_wasm_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4210OPTION(prefix_1, "-mno-simd128", mno_simd128, Flag, m_wasm_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4211OPTION(prefix_1, "-mno-skip-rax-setup", mno_skip_rax_setup, Flag, m_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4212OPTION(prefix_1, "-mno-sm3", mno_sm3, Flag, m_x86_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4213OPTION(prefix_1, "-mno-sm4", mno_sm4, Flag, m_x86_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4214OPTION(prefix_1, "-mno-soft-float", mno_soft_float, Flag, m_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4215OPTION(prefix_1, "-mno-speculative-load-hardening", mno_speculative_load_hardening, Flag, m_Group, INVALID, nullptr, 0, DefaultVis | CLOption | DefaultVis | CLOption, 0, 4216 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4217OPTION(prefix_1, "-mno-spe", mno_spe, Flag, m_ppc_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4218OPTION(prefix_1, "-mno-sse2", mno_sse2, Flag, m_x86_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4219OPTION(prefix_1, "-mno-sse3", mno_sse3, Flag, m_x86_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4220OPTION(prefix_1, "-mno-sse4.1", mno_sse4_1, Flag, m_x86_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4221OPTION(prefix_1, "-mno-sse4.2", mno_sse4_2, Flag, m_x86_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4222OPTION(prefix_1, "-mno-sse4a", mno_sse4a, Flag, m_x86_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4223OPTION(prefix_1, "-mno-sse4", mno_sse4, Flag, INVALID, mno_sse4_1, nullptr, TargetSpecific, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4224OPTION(prefix_1, "-mno-sse", mno_sse, Flag, m_x86_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4225OPTION(prefix_1, "-mno-ssse3", mno_ssse3, Flag, m_x86_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4226OPTION(prefix_1, "-mno-stack-arg-probe", mno_stack_arg_probe, Flag, m_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis | CLOption, 0, 4227 "Disable stack probes which are enabled by default", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4228OPTION(prefix_1, "-mno-stackrealign", mno_stackrealign, Flag, m_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4229OPTION(prefix_1, "-mno-strict-align", mno_strict_align, Flag, m_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, 4230 "Allow memory accesses to be unaligned (AArch64/LoongArch/RISC-V only)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4231OPTION(prefix_1, "-mno-tail-call", mno_tail_call, Flag, m_wasm_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4232OPTION(prefix_1, "-mno-tbm", mno_tbm, Flag, m_x86_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4233OPTION(prefix_1, "-mno-tgsplit", mno_tgsplit, Flag, m_amdgpu_Features_Group, INVALID, nullptr, 0, DefaultVis, 0, 4234 "Disable threadgroup split execution mode (AMDGPU only)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4235OPTION(prefix_1, "-mno-thumb", mno_thumb, Flag, m_arm_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4236OPTION(prefix_1, "-mno-tls-direct-seg-refs", mno_tls_direct_seg_refs, Flag, m_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis | CLOption, 0, 4237 "Disable direct TLS access through segment registers", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4238OPTION(prefix_1, "-mno-tocdata=", mno_tocdata_EQ, CommaJoined, m_Group, INVALID, nullptr, TargetSpecific, DefaultVis | CC1Option | DefaultVis | CLOption, 0, 4239 "Specifies a list of variables to be exempt from the TOC datatransformation.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4240OPTION(prefix_1, "-mno-tocdata", mno_tocdata, Flag, m_Group, INVALID, nullptr, TargetSpecific, DefaultVis | CC1Option | DefaultVis | CLOption | DefaultVis | CLOption, 0, 4241 "This is the default. TOC data transformation is not applied to anyvariables. Only variables specified explicitly in -mtocdata= willhave the TOC data transformation.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4242OPTION(prefix_1, "-mno-tsxldtrk", mno_tsxldtrk, Flag, m_x86_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4243OPTION(prefix_1, "-mno-type-check", mno_type_check, Flag, INVALID, INVALID, nullptr, 0, CC1Option | CC1AsOption, 0, 4244 "Don't perform type checking of the assembly code (wasm only)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4245OPTION(prefix_1, "-mno-uintr", mno_uintr, Flag, m_x86_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4246OPTION(prefix_1, "-mno-unaligned-access", mno_unaligned_access, Flag, m_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, 4247 "Force all memory accesses to be aligned (AArch32/MIPSr6 only)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4248OPTION(prefix_1, "-mno-unaligned-symbols", mno_unaligned_symbols, Flag, m_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, 4249 "Expect external char-aligned symbols to be without ABI alignment (SystemZ only)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4250OPTION(prefix_1, "-mno-unsafe-fp-atomics", mno_unsafe_fp_atomics, Flag, m_Group, INVALID, nullptr, 0, DefaultVis | DefaultVis | CLOption, 0, 4251 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4252OPTION(prefix_1, "-mno-usermsr", mno_usermsr, Flag, m_x86_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4253OPTION(prefix_1, "-mno-v8plus", mno_v8plus, Flag, m_sparc_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, 4254 "Disable V8+ mode", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4255OPTION(prefix_1, "-mno-vaes", mno_vaes, Flag, m_x86_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4256OPTION(prefix_1, "-mno-vector-strict-align", mno_vector_strict_align, Flag, m_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, 4257 "Allow vector memory accesses to be unaligned (RISC-V only)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4258OPTION(prefix_1, "-mno-vevpu", mno_vevpu, Flag, m_ve_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4259OPTION(prefix_1, "-mno-virt", mno_virt, Flag, m_mips_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4260OPTION(prefix_1, "-mno-vis2", mno_vis2, Flag, m_sparc_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4261OPTION(prefix_1, "-mno-vis3", mno_vis3, Flag, m_sparc_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4262OPTION(prefix_1, "-mno-vis", mno_vis, Flag, m_sparc_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4263OPTION(prefix_1, "-mno-vpclmulqdq", mno_vpclmulqdq, Flag, m_x86_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4264OPTION(prefix_1, "-mno-vsx", mno_vsx, Flag, m_ppc_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4265OPTION(prefix_1, "-mno-vx", mno_vx, Flag, m_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4266OPTION(prefix_1, "-mno-vzeroupper", mno_vzeroupper, Flag, m_x86_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4267OPTION(prefix_1, "-mno-waitpkg", mno_waitpkg, Flag, m_x86_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4268OPTION(prefix_1, "-mno-warn-nonportable-cfstrings", mno_warn_nonportable_cfstrings, Flag, m_Group, INVALID, nullptr, 0, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4269OPTION(prefix_1, "-mno-wavefrontsize64", mno_wavefrontsize64, Flag, m_Group, INVALID, nullptr, 0, DefaultVis | DefaultVis | CLOption, 0, 4270 "Specify wavefront size 32 mode (AMDGPU only)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4271OPTION(prefix_1, "-mno-wbnoinvd", mno_wbnoinvd, Flag, m_x86_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4272OPTION(prefix_1, "-mno-widekl", mno_widekl, Flag, m_x86_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4273OPTION(prefix_1, "-mno-x87", mno_x87, Flag, m_x86_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4274OPTION(prefix_1, "-mno-xcoff-roptr", mno_xcoff_roptr, Flag, m_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4275OPTION(prefix_1, "-mno-xgot", mno_xgot, Flag, m_mips_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4276OPTION(prefix_1, "-mno-xop", mno_xop, Flag, m_x86_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4277OPTION(prefix_1, "-mno-xsavec", mno_xsavec, Flag, m_x86_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4278OPTION(prefix_1, "-mno-xsaveopt", mno_xsaveopt, Flag, m_x86_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4279OPTION(prefix_1, "-mno-xsaves", mno_xsaves, Flag, m_x86_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4280OPTION(prefix_1, "-mno-xsave", mno_xsave, Flag, m_x86_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4281OPTION(prefix_1, "-mno-zvector", mno_zvector, Flag, INVALID, fno_zvector, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4282OPTION(prefix_1, "-mnocrc", mnocrc, Flag, m_arm_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, 4283 "Disallow use of CRC instructions (ARM only)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4284OPTION(prefix_1, "-mnoexecstack", mno_exec_stack, Flag, INVALID, INVALID, nullptr, 0, CC1Option | CC1AsOption, 0, 4285 "Mark the file as not needing an executable stack", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4286OPTION(prefix_1, "-mnontrapping-fptoint", mnontrapping_fptoint, Flag, m_wasm_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4287OPTION(prefix_1, "-mnop-mcount", mnop_mcount, Flag, m_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis | CLOption, 0, 4288 "Generate mcount/__fentry__ calls as nops. To activate they need to be patched in.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4289OPTION(prefix_1, "-mnvj", mnvj, Flag, m_hexagon_Features_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 4290 "Enable generation of new-value jumps", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4291OPTION(prefix_1, "-mnvs", mnvs, Flag, m_hexagon_Features_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 4292 "Enable generation of new-value stores", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4293OPTION(prefix_1, "-modd-spreg", modd_spreg, Flag, m_mips_Features_Group, INVALID, nullptr, HelpHidden, DefaultVis, 0, 4294 "Enable odd single-precision floating point registers", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4295OPTION(prefix_1, "-module-dependency-dir", module_dependency_dir, Separate, INVALID, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 4296 "Directory to dump module dependencies to", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4297OPTION(prefix_1, "-module-dir", module_dir, JoinedOrSeparate, INVALID, INVALID, nullptr, 0, FC1Option | FlangOption, 0, 4298 "Put MODULE files in <dir>", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "<dir>", nullptr) 4299OPTION(prefix_1, "-module-file-deps", module_file_deps, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 4300 "Include module files in dependency output", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4301OPTION(prefix_1, "-module-file-info", module_file_info, Flag, Action_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 4302 "Provide information about a particular module file", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4303OPTION(prefix_1, "-module-suffix", module_suffix, Separate, f_Group, INVALID, nullptr, 0, FC1Option, 0, 4304 "Use <suffix> as the suffix for module files (the default value is `.mod`)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "<suffix>", nullptr) 4305OPTION(prefix_1, "-momit-leaf-frame-pointer", momit_leaf_frame_pointer, Flag, m_Group, INVALID, nullptr, 0, DefaultVis | DefaultVis | CLOption, 0, 4306 "Omit frame pointer setup for leaf functions", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4307OPTION(prefix_1, "-moslib=", moslib_EQ, Joined, m_Group, INVALID, nullptr, 0, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4308OPTION(prefix_1, "-moutline-atomics", moutline_atomics, Flag, f_clang_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | FlangOption, 0, 4309 "Generate local calls to out-of-line atomic operations", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4310OPTION(prefix_1, "-moutline", moutline, Flag, f_clang_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 4311 "Enable function outlining (AArch64 only)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4312OPTION(prefix_1, "-mpacked-stack", mpacked_stack, Flag, m_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis | CLOption, 0, 4313 "Use packed stack layout (SystemZ only).", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4314OPTION(prefix_1, "-mpackets", mpackets, Flag, m_hexagon_Features_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 4315 "Enable generation of instruction packets", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4316OPTION(prefix_1, "-mpad-max-prefix-size=", mpad_max_prefix_size_EQ, Joined, m_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, 4317 "Specify maximum number of prefixes to use for padding", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4318OPTION(prefix_1, "-mpaired-vector-memops", mpaired_vector_memops, Flag, m_ppc_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4319OPTION(prefix_1, "-mpascal-strings", mpascal_strings, Flag, INVALID, fpascal_strings, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4320OPTION(prefix_1, "-mpclmul", mpclmul, Flag, m_x86_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4321OPTION(prefix_1, "-mpconfig", mpconfig, Flag, m_x86_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4322OPTION(prefix_1, "-mpcrel", mpcrel, Flag, m_ppc_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4323OPTION(prefix_1, "-mpic-data-is-text-relative", mpic_data_is_text_relative, Flag, m_Group, INVALID, nullptr, 0, DefaultVis | DefaultVis | CLOption, 0, 4324 "Assume data segments are relative to text segment", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4325OPTION(prefix_1, "-mpku", mpku, Flag, m_x86_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4326OPTION(prefix_1, "-mpopcntd", mpopcntd, Flag, m_ppc_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4327OPTION(prefix_1, "-mpopcnt", mpopcnt, Flag, m_x86_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4328OPTION(prefix_1, "-mpopc", mpopc, Flag, m_sparc_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4329OPTION(prefix_1, "-mpower10-vector", mpower10_vector, Flag, m_ppc_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4330OPTION(prefix_1, "-mpower8-vector", mpower8_vector, Flag, m_ppc_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4331OPTION(prefix_1, "-mpower9-vector", mpower9_vector, Flag, m_ppc_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4332OPTION(prefix_1, "-mprefer-vector-width=", mprefer_vector_width_EQ, Joined, m_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis | CLOption, 0, 4333 "Specifies preferred vector width for auto-vectorization. Defaults to 'none' which allows target specific decisions.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4334OPTION(prefix_1, "-mprefetchi", mprefetchi, Flag, m_x86_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4335OPTION(prefix_1, "-mprefixed", mprefixed, Flag, m_ppc_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4336OPTION(prefix_1, "-mprfchw", mprfchw, Flag, m_x86_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4337OPTION(prefix_1, "-mprintf-kind=", mprintf_kind_EQ, Joined, m_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis | CLOption, 0, 4338 "Specify the printf lowering scheme (AMDGPU only), allowed values are \"hostcall\"(printing happens during kernel execution, this scheme relies on hostcalls which require system to support pcie atomics) and \"buffered\"(printing happens after all kernel threads exit, this uses a printf buffer and does not rely on pcie atomic support)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, "hostcall,buffered") 4339OPTION(prefix_1, "-mprivileged", mprivileged, Flag, m_ppc_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4340OPTION(prefix_1, "-mptwrite", mptwrite, Flag, m_x86_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4341OPTION(prefix_1, "-mpure-code", mpure_code, Flag, INVALID, mexecute_only, nullptr, TargetSpecific, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4342OPTION(prefix_1, "-MP", MP, Flag, M_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 4343 "Create phony target for each dependency (other than main file)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4344OPTION(prefix_2, "/MP", _SLASH_MP, Joined, cl_Group, INVALID, nullptr, NoXarchOption, CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4345OPTION(prefix_1, "-mqdsp6-compat", mqdsp6_compat, Flag, m_Group, INVALID, nullptr, NoXarchOption, DefaultVis | CC1Option | DefaultVis | CLOption, 0, 4346 "Enable hexagon-qdsp6 backward compatibility", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4347OPTION(prefix_1, "-MQ", MQ, JoinedOrSeparate, M_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 4348 "Specify name of main file output to quote in depfile", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4349OPTION(prefix_1, "-mraoint", mraoint, Flag, m_x86_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4350OPTION(prefix_1, "-mrdpid", mrdpid, Flag, m_x86_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4351OPTION(prefix_1, "-mrdpru", mrdpru, Flag, m_x86_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4352OPTION(prefix_1, "-mrdrnd", mrdrnd, Flag, m_x86_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4353OPTION(prefix_1, "-mrdseed", mrdseed, Flag, m_x86_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4354OPTION(prefix_1, "-mreassociate", mreassociate, Flag, INVALID, INVALID, nullptr, 0, CC1Option | FC1Option, 0, 4355 "Allow reassociation transformations for floating-point instructions", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4356OPTION(prefix_1, "-mrecip=", mrecip_EQ, CommaJoined, m_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis | CLOption, 0, 4357 "Control use of approximate reciprocal and reciprocal square root instructions followed by <n> iterations of Newton-Raphson refinement. <value> = ( ['!'] ['vec-'] ('rcp'|'sqrt') [('h'|'s'|'d')] [':'<n>] ) | 'all' | 'default' | 'none'", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4358OPTION(prefix_1, "-mrecip", mrecip, Flag, m_Group, INVALID, nullptr, 0, DefaultVis | DefaultVis | CLOption, 0, 4359 "Equivalent to '-mrecip=all'", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4360OPTION(prefix_1, "-mrecord-mcount", mrecord_mcount, Flag, m_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis | CLOption, 0, 4361 "Generate a __mcount_loc section entry for each __fentry__ call.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4362OPTION(prefix_1, "-mred-zone", mred_zone, Flag, m_Group, INVALID, nullptr, 0, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4363OPTION(prefix_1, "-mreference-types", mreference_types, Flag, m_wasm_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4364OPTION(prefix_1, "-mregnames", mregnames, Flag, m_Group, INVALID, nullptr, TargetSpecific, DefaultVis | CC1Option | DefaultVis | DefaultVis | CLOption, 0, 4365 "Use full register names when writing assembly output", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4366OPTION(prefix_1, "-mregparm=", mregparm_EQ, Joined, m_Group, INVALID, nullptr, 0, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4367OPTION(prefix_1, "-mregparm", mregparm, Separate, INVALID, INVALID, nullptr, 0, CC1Option, 0, 4368 "Limit the number of registers available for integer arguments", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4369OPTION(prefix_1, "-mrelax-all", mrelax_all, Flag, m_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | CC1AsOption | DefaultVis | CLOption, 0, 4370 "(integrated-as) Relax all machine instructions", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4371OPTION(prefix_1, "-mrelax-pic-calls", mrelax_pic_calls, Flag, m_mips_Features_Group, INVALID, nullptr, HelpHidden, DefaultVis, 0, 4372 "Produce relaxation hints for linkers to try optimizing PIC call sequences into direct calls (MIPS only)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4373OPTION(prefix_1, "-mrelax-relocations=no", mrelax_relocations_no, Flag, INVALID, INVALID, nullptr, 0, CC1Option | CC1AsOption, 0, 4374 "Disable x86 relax relocations", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4375OPTION(prefix_1, "-mrelaxed-simd", mrelaxed_simd, Flag, m_wasm_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4376OPTION(prefix_1, "-mrelax", mrelax, Flag, m_Group, INVALID, nullptr, 0, DefaultVis | DefaultVis | CLOption, 0, 4377 "Enable linker relaxation", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4378OPTION(prefix_1, "-mrelocation-model", mrelocation_model, Separate, INVALID, INVALID, nullptr, 0, CC1Option | CC1AsOption | FC1Option, 0, 4379 "The relocation model to use", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, "static,pic,ropi,rwpi,ropi-rwpi,dynamic-no-pic") 4380OPTION(prefix_1, "-mrestrict-it", mrestrict_it, Flag, m_arm_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, 4381 "Disallow generation of complex IT blocks. It is off by default.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4382OPTION(prefix_1, "-mretpoline-external-thunk", mretpoline_external_thunk, Flag, m_x86_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4383OPTION(prefix_1, "-mretpoline", mretpoline, Flag, m_Group, INVALID, nullptr, 0, DefaultVis | CLOption | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4384OPTION(prefix_1, "-mrop-protect", mrop_protect, Flag, m_ppc_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4385OPTION(prefix_1, "-mrtd", mrtd, Flag, m_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis | CLOption, 0, 4386 "Make StdCall calling convention the default", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4387OPTION(prefix_1, "-mrtm", mrtm, Flag, m_x86_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4388OPTION(prefix_1, "-mrvv-vector-bits=", mrvv_vector_bits_EQ, Joined, m_Group, INVALID, nullptr, TargetSpecific, DefaultVis | FlangOption | DefaultVis | CLOption, 0, 4389 "Specify the size in bits of an RVV vector register", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4390OPTION(prefix_1, "-msahf", msahf, Flag, m_x86_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4391OPTION(prefix_1, "-msave-reg-params", msave_reg_params, Flag, m_Group, INVALID, nullptr, TargetSpecific, DefaultVis | CC1Option | DefaultVis | CLOption, 0, 4392 "Save arguments passed by registers to ABI-defined stack positions", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4393OPTION(prefix_1, "-msave-restore", msave_restore, Flag, m_riscv_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, 4394 "Enable using library calls for save and restore", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4395OPTION(prefix_1, "-msave-temp-labels", msave_temp_labels, Flag, INVALID, INVALID, nullptr, 0, CC1Option | CC1AsOption, 0, 4396 "Save temporary labels in the symbol table. Note this may change .s semantics and shouldn't generally be used on compiler-generated code.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4397OPTION(prefix_1, "-mscalar-strict-align", mscalar_strict_align, Flag, m_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, 4398 "Force all scalar memory accesses to be aligned (RISC-V only)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4399OPTION(prefix_1, "-msecure-plt", msecure_plt, Flag, m_ppc_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4400OPTION(prefix_1, "-mserialize", mserialize, Flag, m_x86_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4401OPTION(prefix_1, "-mseses", m_seses, Flag, m_Group, INVALID, nullptr, NoXarchOption, DefaultVis | CLOption | DefaultVis | CLOption, 0, 4402 "Enable speculative execution side effect suppression (SESES). Includes LVI control flow integrity mitigations", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4403OPTION(prefix_1, "-msgx", msgx, Flag, m_x86_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4404OPTION(prefix_1, "-msha512", msha512, Flag, m_x86_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4405OPTION(prefix_1, "-msha", msha, Flag, m_x86_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4406OPTION(prefix_1, "-mshstk", mshstk, Flag, m_x86_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4407OPTION(prefix_1, "-msign-ext", msign_ext, Flag, m_wasm_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4408OPTION(prefix_1, "-msign-return-address-key=", msign_return_address_key_EQ, Joined, INVALID, INVALID, nullptr, 0, CC1Option, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, "a_key,b_key") 4409OPTION(prefix_1, "-msign-return-address=", msign_return_address_EQ, Joined, m_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis | CLOption, 0, 4410 "Select return address signing scope", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, "none,all,non-leaf") 4411OPTION(prefix_1, "-msimd128", msimd128, Flag, m_wasm_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4412OPTION(prefix_1, "-msimd=", msimd_EQ, Joined, m_loongarch_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, 4413 "Select the SIMD extension(s) to be enabled in LoongArch either 'none', 'lsx', 'lasx'.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4414OPTION(prefix_1, "-msim", msim, Flag, m_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4415OPTION(prefix_1, "-msingle-float", msingle_float, Flag, m_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4416OPTION(prefix_1, "-mskip-rax-setup", mskip_rax_setup, Flag, m_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis | CLOption, 0, 4417 "Skip setting up RAX register when passing variable arguments (x86 only)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4418OPTION(prefix_1, "-msm3", msm3, Flag, m_x86_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4419OPTION(prefix_1, "-msm4", msm4, Flag, m_x86_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4420OPTION(prefix_1, "-msmall-data-limit=", msmall_data_limit_EQ, Joined, m_Group, G, nullptr, 0, DefaultVis | DefaultVis | CLOption, 0, 4421 "Put global and static data smaller than the limit into a special section", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4422OPTION(prefix_1, "-msmall-data-limit", msmall_data_limit, Separate, INVALID, INVALID, nullptr, 0, CC1Option, 0, 4423 "Put global and static data smaller than the limit into a special section", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4424OPTION(prefix_1, "-msmall-data-threshold=", msmall_data_threshold_EQ, Joined, m_Group, G, nullptr, 0, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4425OPTION(prefix_1, "-msoft-float", msoft_float, Flag, m_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis | CLOption, 0, 4426 "Use software floating point", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4427OPTION(prefix_1, "-msoft-quad-float", msoft_quad_float, Flag, m_sparc_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4428OPTION(prefix_1, "-mspeculative-load-hardening", mspeculative_load_hardening, Flag, m_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis | CLOption | DefaultVis | CLOption, 0, 4429 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4430OPTION(prefix_1, "-mspe", mspe, Flag, m_ppc_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4431OPTION(prefix_1, "-msse2avx", msse2avx, Flag, m_Group, INVALID, nullptr, TargetSpecific, DefaultVis | CC1Option | CC1AsOption | DefaultVis | CLOption, 0, 4432 "Specify that the assembler should encode SSE instructions with VEX prefix", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4433OPTION(prefix_1, "-msse2", msse2, Flag, m_x86_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4434OPTION(prefix_1, "-msse3", msse3, Flag, m_x86_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4435OPTION(prefix_1, "-msse4.1", msse4_1, Flag, m_x86_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4436OPTION(prefix_1, "-msse4.2", msse4_2, Flag, m_x86_Features_Group, INVALID, nullptr, 0, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4437OPTION(prefix_1, "-msse4a", msse4a, Flag, m_x86_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4438OPTION(prefix_1, "-msse4", msse4, Flag, INVALID, msse4_2, nullptr, TargetSpecific, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4439OPTION(prefix_1, "-msse", msse, Flag, m_x86_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4440OPTION(prefix_1, "-mssse3", mssse3, Flag, m_x86_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4441OPTION(prefix_1, "-mstack-alignment=", mstack_alignment, Joined, m_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis | CLOption, 0, 4442 "Set the stack alignment", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4443OPTION(prefix_1, "-mstack-arg-probe", mstack_arg_probe, Flag, m_Group, INVALID, nullptr, 0, DefaultVis | DefaultVis | CLOption, 0, 4444 "Enable stack probes", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4445OPTION(prefix_1, "-mstack-probe-size=", mstack_probe_size, Joined, m_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis | CLOption, 0, 4446 "Set the stack probe size", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4447OPTION(prefix_1, "-mstack-protector-guard-offset=", mstack_protector_guard_offset_EQ, Joined, m_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis | CLOption, 0, 4448 "Use the given offset for addressing the stack-protector guard", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4449OPTION(prefix_1, "-mstack-protector-guard-reg=", mstack_protector_guard_reg_EQ, Joined, m_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis | CLOption, 0, 4450 "Use the given reg for addressing the stack-protector guard", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4451OPTION(prefix_1, "-mstack-protector-guard-symbol=", mstack_protector_guard_symbol_EQ, Joined, m_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis | CLOption, 0, 4452 "Use the given symbol for addressing the stack-protector guard", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4453OPTION(prefix_1, "-mstack-protector-guard=", mstack_protector_guard_EQ, Joined, m_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis | CLOption, 0, 4454 "Use the given guard (global, tls) for addressing the stack-protector guard", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4455OPTION(prefix_1, "-mstackrealign", mstackrealign, Flag, m_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis | CLOption, 0, 4456 "Force realign the stack at entry to every function", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4457OPTION(prefix_1, "-mstrict-align", mstrict_align, Flag, m_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, 4458 "Force all memory accesses to be aligned (AArch64/LoongArch/RISC-V only)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4459OPTION(prefix_1, "-msve-vector-bits=", msve_vector_bits_EQ, Joined, m_aarch64_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | FlangOption, 0, 4460 "Specify the size in bits of an SVE vector register. Defaults to the vector length agnostic value of \"scalable\". (AArch64 only)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4461OPTION(prefix_1, "-msvr4-struct-return", msvr4_struct_return, Flag, m_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis | CLOption, 0, 4462 "Return small structs in registers (PPC32 only)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4463OPTION(prefix_1, "-mt-migrate-directory", mt_migrate_directory, Separate, INVALID, INVALID, nullptr, 0, CC1Option, 0, 4464 "Directory for temporary files produced during ARC or ObjC migration", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4465OPTION(prefix_1, "-mtail-call", mtail_call, Flag, m_wasm_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4466OPTION(prefix_1, "-mtargetos=", mtargetos_EQ, Joined, m_Group, INVALID, nullptr, 0, DefaultVis | DefaultVis | CLOption, 0, 4467 "Set the deployment target to be the specified OS and OS version", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4468OPTION(prefix_1, "-mtbm", mtbm, Flag, m_x86_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4469OPTION(prefix_2, "/MTd", _SLASH_MTd, Flag, _SLASH_M_Group, INVALID, nullptr, NoXarchOption, CLOption, 0, 4470 "Use static debug run-time", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4471OPTION(prefix_1, "-mtgsplit", mtgsplit, Flag, m_amdgpu_Features_Group, INVALID, nullptr, 0, DefaultVis, 0, 4472 "Enable threadgroup split execution mode (AMDGPU only)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4473OPTION(prefix_1, "-mthread-model", mthread_model, Separate, m_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis | CLOption, 0, 4474 "The thread model to use. Defaults to 'posix')", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, "posix,single") 4475OPTION(prefix_1, "-mthreads", mthreads, Joined, m_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4476OPTION(prefix_1, "-mthumb", mthumb, Flag, m_Group, INVALID, nullptr, 0, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4477OPTION(prefix_1, "-mtls-dialect=", mtls_dialect_EQ, Joined, m_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, 4478 "Which thread-local storage dialect to use for dynamic accesses of TLS variables", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4479OPTION(prefix_1, "-mtls-direct-seg-refs", mtls_direct_seg_refs, Flag, m_Group, INVALID, nullptr, 0, DefaultVis | DefaultVis | CLOption, 0, 4480 "Enable direct TLS access through segment registers (default)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4481OPTION(prefix_1, "-mtls-size=", mtls_size_EQ, Joined, m_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis | CLOption, 0, 4482 "Specify bit size of immediate TLS offsets (AArch64 ELF only): 12 (for 4KB) | 24 (for 16MB, default) | 32 (for 4GB) | 48 (for 256TB, needs -mcmodel=large)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4483OPTION(prefix_1, "-mtocdata=", mtocdata_EQ, CommaJoined, m_Group, INVALID, nullptr, TargetSpecific, DefaultVis | CC1Option | DefaultVis | CLOption, 0, 4484 "Specifies a list of variables to which the TOC data transformationwill be applied.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4485OPTION(prefix_1, "-mtocdata", mtocdata, Flag, m_Group, INVALID, nullptr, TargetSpecific, DefaultVis | CC1Option | DefaultVis | CLOption | DefaultVis | CLOption, 0, 4486 "All suitable variables will have the TOC data transformation applied", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4487OPTION(prefix_1, "-mtp=", mtp_mode_EQ, Joined, m_arm_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, 4488 "Thread pointer access method. For AArch32: 'soft' uses a function call, or 'tpidrurw', 'tpidruro' or 'tpidrprw' use the three CP15 registers. 'cp15' is an alias for 'tpidruro'. For AArch64: 'tpidr_el0', 'tpidr_el1', 'tpidr_el2', 'tpidr_el3' or 'tpidrro_el0' use the five system registers. 'elN' is an alias for 'tpidr_elN'.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, "soft,cp15,tpidrurw,tpidruro,tpidrprw,el0,el1,el2,el3,tpidr_el0,tpidr_el1,tpidr_el2,tpidr_el3,tpidrro_el0") 4489OPTION(prefix_1, "-mtp", mtp, Separate, INVALID, INVALID, nullptr, 0, CC1Option, 0, 4490 "Mode for reading thread pointer", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4491OPTION(prefix_1, "-mtsxldtrk", mtsxldtrk, Flag, m_x86_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4492OPTION(prefix_1, "-mtune=help", anonymous_1738, Flag, INVALID, print_supported_cpus, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4493OPTION(prefix_1, "-mtune=", mtune_EQ, Joined, m_Group, INVALID, nullptr, 0, DefaultVis | FlangOption | DefaultVis | CLOption, 0, 4494 "Only supported on AArch64, PowerPC, RISC-V, SPARC, SystemZ, and X86", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4495OPTION(prefix_1, "-mtvos-simulator-version-min=", mtvos_simulator_version_min_EQ, Joined, INVALID, INVALID, nullptr, TargetSpecific, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4496OPTION(prefix_1, "-mtvos-version-min=", mtvos_version_min_EQ, Joined, m_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4497OPTION(prefix_1, "-MT", MT, JoinedOrSeparate, M_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 4498 "Specify name of main file output in depfile", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4499OPTION(prefix_2, "/MT", _SLASH_MT, Flag, _SLASH_M_Group, INVALID, nullptr, NoXarchOption, CLOption, 0, 4500 "Use static run-time", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4501OPTION(prefix_1, "-muclibc", muclibc, Flag, m_libc_Group, INVALID, nullptr, HelpHidden | HelpHidden, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4502OPTION(prefix_1, "-muintr", muintr, Flag, m_x86_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4503OPTION(prefix_1, "-multi_module", multi__module, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4504OPTION(prefix_1, "-multiply_defined_unused", multiply__defined__unused, Separate, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4505OPTION(prefix_1, "-multiply_defined", multiply__defined, Separate, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4506OPTION(prefix_1, "-munaligned-access", munaligned_access, Flag, m_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, 4507 "Allow memory accesses to be unaligned (AArch32/MIPSr6 only)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4508OPTION(prefix_1, "-munaligned-symbols", munaligned_symbols, Flag, m_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, 4509 "Expect external char-aligned symbols to be without ABI alignment (SystemZ only)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4510OPTION(prefix_1, "-municode", municode, Joined, m_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4511OPTION(prefix_1, "-munsafe-fp-atomics", munsafe_fp_atomics, Flag, m_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis | DefaultVis | CLOption, 0, 4512 "Enable generation of unsafe floating point atomic instructions. May generate more efficient code, but may not respect rounding and denormal modes, and may give incorrect results for certain memory destinations. (AMDGPU only)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4513OPTION(prefix_1, "-musermsr", musermsr, Flag, m_x86_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4514OPTION(prefix_1, "-mv55", mv55, Flag, m_hexagon_Features_Group, mcpu_EQ, "hexagonv55\0", TargetSpecific, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4515OPTION(prefix_1, "-mv5", mv5, Flag, m_hexagon_Features_Group, mcpu_EQ, "hexagonv5\0", TargetSpecific, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4516OPTION(prefix_1, "-mv60", mv60, Flag, m_hexagon_Features_Group, mcpu_EQ, "hexagonv60\0", TargetSpecific, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4517OPTION(prefix_1, "-mv62", mv62, Flag, m_hexagon_Features_Group, mcpu_EQ, "hexagonv62\0", TargetSpecific, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4518OPTION(prefix_1, "-mv65", mv65, Flag, m_hexagon_Features_Group, mcpu_EQ, "hexagonv65\0", TargetSpecific, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4519OPTION(prefix_1, "-mv66", mv66, Flag, m_hexagon_Features_Group, mcpu_EQ, "hexagonv66\0", TargetSpecific, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4520OPTION(prefix_1, "-mv67t", mv67t, Flag, m_hexagon_Features_Group, mcpu_EQ, "hexagonv67t\0", TargetSpecific, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4521OPTION(prefix_1, "-mv67", mv67, Flag, m_hexagon_Features_Group, mcpu_EQ, "hexagonv67\0", TargetSpecific, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4522OPTION(prefix_1, "-mv68", mv68, Flag, m_hexagon_Features_Group, mcpu_EQ, "hexagonv68\0", TargetSpecific, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4523OPTION(prefix_1, "-mv69", mv69, Flag, m_hexagon_Features_Group, mcpu_EQ, "hexagonv69\0", TargetSpecific, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4524OPTION(prefix_1, "-mv71t", mv71t, Flag, m_hexagon_Features_Group, mcpu_EQ, "hexagonv71t\0", TargetSpecific, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4525OPTION(prefix_1, "-mv71", mv71, Flag, m_hexagon_Features_Group, mcpu_EQ, "hexagonv71\0", TargetSpecific, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4526OPTION(prefix_1, "-mv73", mv73, Flag, m_hexagon_Features_Group, mcpu_EQ, "hexagonv73\0", TargetSpecific, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4527OPTION(prefix_1, "-mv8plus", mv8plus, Flag, m_sparc_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, 4528 "Enable V8+ mode, allowing use of 64-bit V9 instructions in 32-bit code", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4529OPTION(prefix_1, "-mvaes", mvaes, Flag, m_x86_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4530OPTION(prefix_1, "-mvector-strict-align", mvector_strict_align, Flag, m_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, 4531 "Force all vector memory accesses to be aligned (RISC-V only)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4532OPTION(prefix_1, "-mvevpu", mvevpu, Flag, m_ve_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, 4533 "Emit VPU instructions for VE", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4534OPTION(prefix_1, "-mvirt", mvirt, Flag, m_mips_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4535OPTION(prefix_1, "-mvis2", mvis2, Flag, m_sparc_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4536OPTION(prefix_1, "-mvis3", mvis3, Flag, m_sparc_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4537OPTION(prefix_1, "-mvis", mvis, Flag, m_sparc_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4538OPTION(prefix_1, "-mvpclmulqdq", mvpclmulqdq, Flag, m_x86_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4539OPTION(prefix_1, "-mvscale-max=", mvscale_max_EQ, Joined, INVALID, INVALID, nullptr, 0, CC1Option | FC1Option, 0, 4540 "Specify the vscale maximum. Defaults to the vector length agnostic value of \"0\". (AArch64/RISC-V only)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4541OPTION(prefix_1, "-mvscale-min=", mvscale_min_EQ, Joined, INVALID, INVALID, nullptr, 0, CC1Option | FC1Option, 0, 4542 "Specify the vscale minimum. Defaults to \"1\". (AArch64/RISC-V only)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4543OPTION(prefix_1, "-mvsx", mvsx, Flag, m_ppc_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4544OPTION(prefix_1, "-mvx", mvx, Flag, m_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4545OPTION(prefix_1, "-mvzeroupper", mvzeroupper, Flag, m_x86_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4546OPTION(prefix_1, "-MV", MV, Flag, M_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 4547 "Use NMake/Jom format for the depfile", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4548OPTION(prefix_1, "-mwaitpkg", mwaitpkg, Flag, m_x86_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4549OPTION(prefix_1, "-mwarn-nonportable-cfstrings", mwarn_nonportable_cfstrings, Flag, m_Group, INVALID, nullptr, 0, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4550OPTION(prefix_1, "-mwatchos-simulator-version-min=", mwatchos_simulator_version_min_EQ, Joined, m_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4551OPTION(prefix_1, "-mwatchos-version-min=", mwatchos_version_min_EQ, Joined, m_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4552OPTION(prefix_1, "-mwatchsimulator-version-min=", mwatchsimulator_version_min_EQ, Joined, INVALID, mwatchos_simulator_version_min_EQ, nullptr, TargetSpecific, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4553OPTION(prefix_1, "-mwavefrontsize64", mwavefrontsize64, Flag, m_Group, INVALID, nullptr, 0, DefaultVis | DefaultVis | CLOption, 0, 4554 "Specify wavefront size 64 mode (AMDGPU only)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4555OPTION(prefix_1, "-mwbnoinvd", mwbnoinvd, Flag, m_x86_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4556OPTION(prefix_1, "-mwidekl", mwidekl, Flag, m_x86_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4557OPTION(prefix_1, "-mwindows", mwindows, Joined, m_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4558OPTION(prefix_1, "-mx32", mx32, Flag, m_Group, INVALID, nullptr, NoXarchOption, DefaultVis | CLOption | DXCOption | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4559OPTION(prefix_1, "-mx87", mx87, Flag, m_x86_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4560OPTION(prefix_1, "-mxcoff-build-id=", mxcoff_build_id_EQ, Joined, Link_Group, INVALID, nullptr, 0, DefaultVis, 0, 4561 "On AIX, request creation of a build-id string, \"0xHEXSTRING\", in the string table of the loader section inside the linked binary", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "<0xHEXSTRING>", nullptr) 4562OPTION(prefix_1, "-mxcoff-roptr", mxcoff_roptr, Flag, m_Group, INVALID, nullptr, TargetSpecific, DefaultVis | CC1Option | DefaultVis | CLOption, 0, 4563 "Place constant objects with relocatable address values in the RO data section and add -bforceimprw to the linker flags (AIX only)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4564OPTION(prefix_1, "-mxgot", mxgot, Flag, m_mips_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4565OPTION(prefix_1, "-mxop", mxop, Flag, m_x86_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4566OPTION(prefix_1, "-mxsavec", mxsavec, Flag, m_x86_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4567OPTION(prefix_1, "-mxsaveopt", mxsaveopt, Flag, m_x86_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4568OPTION(prefix_1, "-mxsaves", mxsaves, Flag, m_x86_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4569OPTION(prefix_1, "-mxsave", mxsave, Flag, m_x86_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4570OPTION(prefix_1, "-mzos-hlq-clang=", mzos_hlq_clang_EQ, Joined, INVALID, INVALID, nullptr, 0, DefaultVis, 0, 4571 "High level qualifier for z/OS C++RT side deck datasets", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "<ClangHLQ>", nullptr) 4572OPTION(prefix_1, "-mzos-hlq-csslib=", mzos_hlq_csslib_EQ, Joined, INVALID, INVALID, nullptr, 0, DefaultVis, 0, 4573 "High level qualifier for z/OS CSSLIB dataset", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "<CsslibHLQ>", nullptr) 4574OPTION(prefix_1, "-mzos-hlq-le=", mzos_hlq_le_EQ, Joined, INVALID, INVALID, nullptr, 0, DefaultVis, 0, 4575 "High level qualifier for z/OS Language Environment datasets", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "<LeHLQ>", nullptr) 4576OPTION(prefix_1, "-mzos-sys-include=", mzos_sys_include_EQ, Joined, INVALID, INVALID, nullptr, 0, DefaultVis, 0, 4577 "Path to system headers on z/OS", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "<SysInclude>", nullptr) 4578OPTION(prefix_1, "-mzvector", mzvector, Flag, INVALID, fzvector, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4579OPTION(prefix_1, "-M", M, Flag, M_Group, INVALID, nullptr, 0, DefaultVis, 0, 4580 "Like -MD, but also implies -E and writes to stdout by default", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4581OPTION(prefix_1, "-new-struct-path-tbaa", new_struct_path_tbaa, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 4582 "Enable enhanced struct-path aware Type Based Alias Analysis", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4583OPTION(prefix_1, "-no-canonical-prefixes", no_canonical_prefixes, Flag, INVALID, INVALID, nullptr, HelpHidden, DefaultVis | CLOption | DXCOption, 0, 4584 "Use relative paths for invoking subcommands", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4585OPTION(prefix_1, "-no-clear-ast-before-backend", no_clear_ast_before_backend, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 4586 "Don't clear the Clang AST before running backend code generation", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4587OPTION(prefix_1, "-no-code-completion-globals", no_code_completion_globals, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 4588 "Do not include global declarations in code-completion results.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4589OPTION(prefix_1, "-no-code-completion-ns-level-decls", no_code_completion_ns_level_decls, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 4590 "Do not include declarations inside namespaces (incl. global namespace) in the code-completion results.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4591OPTION(prefix_1, "-no-cpp-precomp", no_cpp_precomp, Flag, clang_ignored_f_Group, INVALID, nullptr, Ignored, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4592OPTION(prefix_3, "--no-cuda-gpu-arch=", no_cuda_gpu_arch_EQ, Joined, cuda_Group, no_offload_arch_EQ, nullptr, NoXarchOption, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4593OPTION(prefix_3, "--no-cuda-include-ptx=", no_cuda_include_ptx_EQ, Joined, cuda_Group, INVALID, nullptr, NoXarchOption, DefaultVis | DefaultVis | CLOption, 0, 4594 "Do not include PTX for the following GPU architecture (e.g. sm_35) or 'all'. May be specified more than once.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4595OPTION(prefix_3, "--no-cuda-noopt-device-debug", no_cuda_noopt_device_debug, Flag, cuda_Group, INVALID, nullptr, 0, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4596OPTION(prefix_3, "--no-cuda-version-check", no_cuda_version_check, Flag, cuda_Group, INVALID, nullptr, 0, DefaultVis | DefaultVis | CLOption, 0, 4597 "Don't error out if the detected version of the CUDA install is too low for the requested CUDA gpu architecture.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4598OPTION(prefix_3, "--no-default-config", no_default_config, Flag, INVALID, INVALID, nullptr, NoXarchOption, DefaultVis | CLOption | DXCOption | FlangOption, 0, 4599 "Disable loading default configuration files", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4600OPTION(prefix_1, "-no-emit-llvm-uselists", no_emit_llvm_uselists, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 4601 "Don't preserve order of LLVM use-lists when serializing", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4602OPTION(prefix_1, "-no-enable-noundef-analysis", no_enable_noundef_analysis, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 4603 "Disable analyzing function argument and return types for mandatory definedness", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4604OPTION(prefix_1, "-no-finalize-removal", migrator_no_finalize_removal, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 4605 "Do not remove finalize method in gc mode", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4606OPTION(prefix_3, "--no-gpu-bundle-output", no_gpu_bundle_output, Flag, hip_Group, INVALID, nullptr, 0, DefaultVis | DefaultVis | CLOption, 0, 4607 "Do not bundle output files of HIP device compilation", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4608OPTION(prefix_1, "-no-hip-rt", no_hip_rt, Flag, hip_Group, INVALID, nullptr, 0, DefaultVis | DefaultVis | CLOption, 0, 4609 "Do not link against HIP runtime libraries", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4610OPTION(prefix_1, "-no-implicit-float", no_implicit_float, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 4611 "Don't generate implicit floating point or vector instructions", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4612OPTION(prefix_1, "-no-integrated-as", anonymous_1755, Flag, INVALID, fno_integrated_as, nullptr, 0, DefaultVis | CC1Option | FlangOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4613OPTION(prefix_4, "-no-integrated-cpp", no_integrated_cpp, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4614OPTION(prefix_3, "--no-line-commands", _no_line_commands, Flag, INVALID, P, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4615OPTION(prefix_1, "-no-ns-alloc-error", migrator_no_nsalloc_error, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 4616 "Do not error on use of NSAllocateCollectable/NSReallocateCollectable", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4617OPTION(prefix_3, "--no-offload-add-rpath", no_offload_add_rpath, Flag, INVALID, frtlib_add_rpath, nullptr, NoArgumentUnused, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4618OPTION(prefix_3, "--no-offload-arch=", no_offload_arch_EQ, Joined, offload_Group, INVALID, nullptr, NoXarchOption, DefaultVis | FlangOption | DefaultVis | CLOption, 0, 4619 "Remove CUDA/HIP offloading device architecture (e.g. sm_35, gfx906) from the list of devices to compile for. 'all' resets the list to its default value.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4620OPTION(prefix_3, "--no-offload-compress", no_offload_compress, Flag, offload_Group, INVALID, nullptr, 0, DefaultVis | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4621OPTION(prefix_3, "--no-offload-new-driver", no_offload_new_driver, Flag, offload_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis | CLOption, 0, 4622 "Don't Use the new driver for offloading compilation.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4623OPTION(prefix_4, "-no-pedantic", no_pedantic, Flag, pedantic_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4624OPTION(prefix_1, "-no-pie", no_pie, Flag, INVALID, INVALID, nullptr, 0, DefaultVis | FlangOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4625OPTION(prefix_1, "-no-pthread", no_pthread, Flag, INVALID, INVALID, nullptr, 0, DefaultVis | CC1Option | FlangOption | FC1Option, 0, 4626 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4627OPTION(prefix_1, "-no-round-trip-args", no_round_trip_args, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 4628 "Disable command line arguments round-trip.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4629OPTION(prefix_3, "--no-standard-includes", _no_standard_includes, Flag, INVALID, nostdinc, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4630OPTION(prefix_3, "--no-standard-libraries", _no_standard_libraries, Flag, INVALID, nostdlib, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4631OPTION(prefix_1, "-no-struct-path-tbaa", no_struct_path_tbaa, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 4632 "Turn off struct-path aware Type Based Alias Analysis", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4633OPTION(prefix_3, "--no-system-header-prefix=", no_system_header_prefix, Joined, clang_i_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 4634 "Treat all #include paths starting with <prefix> as not including a system header.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "<prefix>", nullptr) 4635OPTION(prefix_3, "--no-system-header-prefix", anonymous_1733, Separate, INVALID, no_system_header_prefix, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4636OPTION(prefix_3, "--no-undefined", _no_undefined, Flag, INVALID, INVALID, nullptr, LinkerInput, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4637OPTION(prefix_3, "--no-warnings", _no_warnings, Flag, INVALID, w, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4638OPTION(prefix_3, "--no-wasm-opt", no_wasm_opt, Flag, m_Group, INVALID, nullptr, 0, DefaultVis | DefaultVis | CLOption, 0, 4639 "Disable the wasm-opt optimizer", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4640OPTION(prefix_1, "-no_dead_strip_inits_and_terms", no__dead__strip__inits__and__terms, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4641OPTION(prefix_1, "-nobuiltininc", nobuiltininc, Flag, IncludePath_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | CLOption | DXCOption, 0, 4642 "Disable builtin #include directories only", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4643OPTION(prefix_1, "-nocpp", nocpp, Flag, f_Group, INVALID, nullptr, 0, FC1Option | FlangOption, 0, 4644 "Disable predefined and command line preprocessor macros", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4645OPTION(prefix_1, "-nocudainc", anonymous_1709, Flag, INVALID, nogpuinc, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4646OPTION(prefix_1, "-nocudalib", anonymous_1711, Flag, INVALID, nogpulib, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4647OPTION(prefix_1, "-nodefaultlibs", nodefaultlibs, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4648OPTION(prefix_1, "-nodriverkitlib", nodriverkitlib, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4649OPTION(prefix_1, "-nofixprebinding", nofixprebinding, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4650OPTION(prefix_1, "-nogpuinc", nogpuinc, Flag, IncludePath_Group, INVALID, nullptr, 0, DefaultVis, 0, 4651 "Do not add include paths for CUDA/HIP and do not include the default CUDA/HIP wrapper headers", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4652OPTION(prefix_1, "-nogpulibc", nogpulibc, Flag, INVALID, INVALID, nullptr, 0, DefaultVis | CC1Option | FlangOption | FC1Option, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4653OPTION(prefix_1, "-nogpulib", nogpulib, Flag, INVALID, INVALID, nullptr, 0, DefaultVis | CC1Option | FlangOption | FC1Option, 0, 4654 "Do not link device library for CUDA/HIP device compilation", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4655OPTION(prefix_1, "-nohipwrapperinc", nohipwrapperinc, Flag, IncludePath_Group, INVALID, nullptr, 0, DefaultVis, 0, 4656 "Do not include the default HIP wrapper headers and include paths", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4657OPTION(prefix_1, "-nolibc", nolibc, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4658OPTION(prefix_2, "/nologo", _SLASH_nologo, Flag, cl_ignored_Group, INVALID, nullptr, NoXarchOption, CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4659OPTION(prefix_1, "-nomultidefs", nomultidefs, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4660OPTION(prefix_1, "-nopie", nopie, Flag, INVALID, INVALID, nullptr, TargetSpecific, DefaultVis | FlangOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4661OPTION(prefix_1, "-noprebind", noprebind, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4662OPTION(prefix_1, "-noprofilelib", noprofilelib, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4663OPTION(prefix_1, "-noseglinkedit", noseglinkedit, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4664OPTION(prefix_1, "-nostartfiles", nostartfiles, Flag, Link_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4665OPTION(prefix_1, "-nostdinc++", nostdincxx, Flag, IncludePath_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 4666 "Disable standard #include directories for the C++ standard library", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4667OPTION(prefix_1, "-nostdinc", nostdinc, Flag, IncludePath_Group, INVALID, nullptr, 0, DefaultVis | CLOption | DXCOption, 0, 4668 "Disable both standard system #include directories and builtin #include directores", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4669OPTION(prefix_1, "-nostdlib++", nostdlibxx, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4670OPTION(prefix_1, "-nostdlibinc", nostdlibinc, Flag, IncludePath_Group, INVALID, nullptr, 0, DefaultVis, 0, 4671 "Disable standard system #include directories only", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4672OPTION(prefix_1, "-nostdlib", nostdlib, Flag, Link_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4673OPTION(prefix_1, "-nostdsysteminc", nostdsysteminc, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 4674 "Disable standard system #include directories", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4675OPTION(prefix_3, "--nvptx-arch-tool=", nvptx_arch_tool_EQ, Joined, offload_Group, INVALID, nullptr, 0, DefaultVis | DefaultVis | CLOption, 0, 4676 "Tool used for detecting NVIDIA GPU arch in the system.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4677OPTION(prefix_1, "-n", n, Flag, INVALID, INVALID, nullptr, 0, CC1AsOption, 0, 4678 "Don't automatically start assembly file with a text section", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4679OPTION(prefix_1, "-O0", O0, Flag, O_Group, INVALID, nullptr, HelpHidden, DefaultVis | CC1Option | FC1Option | FlangOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4680OPTION(prefix_2, "/O1", anonymous_2183, Flag, cl_Group, _SLASH_O, "1\0", NoXarchOption, CLOption, 0, 4681 "Optimize for size (like /Og /Os /Oy /Ob2 /GF /Gy)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4682OPTION(prefix_2, "/O2", anonymous_2184, Flag, cl_Group, _SLASH_O, "2\0", NoXarchOption, CLOption, 0, 4683 "Optimize for speed (like /Og /Oi /Ot /Oy /Ob2 /GF /Gy)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4684OPTION(prefix_1, "-O4", O4, Flag, O_Group, INVALID, nullptr, HelpHidden, DefaultVis | CC1Option | FC1Option | FlangOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4685OPTION(prefix_2, "/Ob0", anonymous_2185, Flag, cl_Group, _SLASH_O, "b0\0", NoXarchOption, CLOption, 0, 4686 "Disable function inlining", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4687OPTION(prefix_2, "/Ob1", anonymous_2186, Flag, cl_Group, _SLASH_O, "b1\0", NoXarchOption, CLOption, 0, 4688 "Only inline functions explicitly or implicitly marked inline", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4689OPTION(prefix_2, "/Ob2", anonymous_2187, Flag, cl_Group, _SLASH_O, "b2\0", NoXarchOption, CLOption, 0, 4690 "Inline functions as deemed beneficial by the compiler", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4691OPTION(prefix_2, "/Ob3", anonymous_2188, Flag, cl_Group, _SLASH_O, "b3\0", NoXarchOption, CLOption, 0, 4692 "Same as /Ob2", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4693OPTION(prefix_1, "-ObjC++", ObjCXX, Flag, INVALID, INVALID, nullptr, NoXarchOption, DefaultVis, 0, 4694 "Treat source input files as Objective-C++ inputs", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4695OPTION(prefix_1, "-objc-isystem", objc_isystem, Separate, INVALID, INVALID, nullptr, 0, CC1Option, 0, 4696 "Add directory to the ObjC SYSTEM include search path", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "<directory>", nullptr) 4697OPTION(prefix_1, "-objcmt-allowlist-dir-path=", objcmt_allowlist_dir_path, Joined, INVALID, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 4698 "Only modify files with a filename contained in the provided directory path", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4699OPTION(prefix_1, "-objcmt-atomic-property", objcmt_atomic_property, Flag, INVALID, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 4700 "Make migration to 'atomic' properties", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4701OPTION(prefix_1, "-objcmt-migrate-all", objcmt_migrate_all, Flag, INVALID, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 4702 "Enable migration to modern ObjC", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4703OPTION(prefix_1, "-objcmt-migrate-annotation", objcmt_migrate_annotation, Flag, INVALID, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 4704 "Enable migration to property and method annotations", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4705OPTION(prefix_1, "-objcmt-migrate-designated-init", objcmt_migrate_designated_init, Flag, INVALID, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 4706 "Enable migration to infer NS_DESIGNATED_INITIALIZER for initializer methods", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4707OPTION(prefix_1, "-objcmt-migrate-instancetype", objcmt_migrate_instancetype, Flag, INVALID, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 4708 "Enable migration to infer instancetype for method result type", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4709OPTION(prefix_1, "-objcmt-migrate-literals", objcmt_migrate_literals, Flag, INVALID, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 4710 "Enable migration to modern ObjC literals", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4711OPTION(prefix_1, "-objcmt-migrate-ns-macros", objcmt_migrate_nsmacros, Flag, INVALID, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 4712 "Enable migration to NS_ENUM/NS_OPTIONS macros", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4713OPTION(prefix_1, "-objcmt-migrate-property-dot-syntax", objcmt_migrate_property_dot_syntax, Flag, INVALID, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 4714 "Enable migration of setter/getter messages to property-dot syntax", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4715OPTION(prefix_1, "-objcmt-migrate-property", objcmt_migrate_property, Flag, INVALID, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 4716 "Enable migration to modern ObjC property", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4717OPTION(prefix_1, "-objcmt-migrate-protocol-conformance", objcmt_migrate_protocol_conformance, Flag, INVALID, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 4718 "Enable migration to add protocol conformance on classes", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4719OPTION(prefix_1, "-objcmt-migrate-readonly-property", objcmt_migrate_readonly_property, Flag, INVALID, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 4720 "Enable migration to modern ObjC readonly property", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4721OPTION(prefix_1, "-objcmt-migrate-readwrite-property", objcmt_migrate_readwrite_property, Flag, INVALID, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 4722 "Enable migration to modern ObjC readwrite property", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4723OPTION(prefix_1, "-objcmt-migrate-subscripting", objcmt_migrate_subscripting, Flag, INVALID, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 4724 "Enable migration to modern ObjC subscripting", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4725OPTION(prefix_1, "-objcmt-ns-nonatomic-iosonly", objcmt_ns_nonatomic_iosonly, Flag, INVALID, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 4726 "Enable migration to use NS_NONATOMIC_IOSONLY macro for setting property's 'atomic' attribute", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4727OPTION(prefix_1, "-objcmt-returns-innerpointer-property", objcmt_returns_innerpointer_property, Flag, INVALID, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 4728 "Enable migration to annotate property with NS_RETURNS_INNER_POINTER", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4729OPTION(prefix_1, "-objcmt-white-list-dir-path=", anonymous_27, Joined, INVALID, objcmt_allowlist_dir_path, nullptr, 0, DefaultVis | CC1Option, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4730OPTION(prefix_1, "-objcmt-whitelist-dir-path=", anonymous_26, Joined, INVALID, objcmt_allowlist_dir_path, nullptr, 0, DefaultVis | CC1Option, 0, 4731 "Alias for -objcmt-allowlist-dir-path", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4732OPTION(prefix_1, "-objcxx-isystem", objcxx_isystem, Separate, INVALID, INVALID, nullptr, 0, CC1Option, 0, 4733 "Add directory to the ObjC++ SYSTEM include search path", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "<directory>", nullptr) 4734OPTION(prefix_1, "-ObjC", ObjC, Flag, INVALID, INVALID, nullptr, NoXarchOption, DefaultVis, 0, 4735 "Treat source input files as Objective-C inputs", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4736OPTION(prefix_1, "-object-file-name=", object_file_name_EQ, Joined, INVALID, INVALID, nullptr, 0, DefaultVis | CC1Option | CC1AsOption | CLOption | DXCOption, 0, 4737 "Set the output <file> for debug infos", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "<file>", nullptr) 4738OPTION(prefix_1, "-object-file-name", object_file_name, Separate, INVALID, object_file_name_EQ, nullptr, 0, DefaultVis | CC1Option | CC1AsOption | CLOption | DXCOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4739OPTION(prefix_1, "-object", object, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4740OPTION(prefix_2, "/Od", anonymous_2189, Flag, cl_Group, _SLASH_O, "d\0", NoXarchOption, CLOption | DXCOption, 0, 4741 "Disable optimization", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4742OPTION(prefix_1, "-Ofast", Ofast, Joined, O_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | FlangOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{DefaultVis, CC1Option}}, "Deprecated; use '-O3 -ffast-math' for the same behavior, or '-O3' to enable only conforming optimizations") }}), nullptr, nullptr) 4743OPTION(prefix_3, "--offload-add-rpath", offload_add_rpath, Flag, INVALID, frtlib_add_rpath, nullptr, NoArgumentUnused, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4744OPTION(prefix_3, "--offload-arch=", offload_arch_EQ, Joined, offload_Group, INVALID, nullptr, NoXarchOption, DefaultVis | FlangOption | DefaultVis | CLOption, 0, 4745 "Specify an offloading device architecture for CUDA, HIP, or OpenMP. (e.g. sm_35). If 'native' is used the compiler will detect locally installed architectures. For HIP offloading, the device architecture can be followed by target ID features delimited by a colon (e.g. gfx908:xnack+:sramecc-). May be specified more than once.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4746OPTION(prefix_3, "--offload-compression-level=", offload_compression_level_EQ, Joined, offload_Group, INVALID, nullptr, HelpHidden, DefaultVis | DefaultVis | CLOption, 0, 4747 "Compression level for offload device binaries (HIP only)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4748OPTION(prefix_3, "--offload-compress", offload_compress, Flag, offload_Group, INVALID, nullptr, 0, DefaultVis | DefaultVis | CLOption, 0, 4749 "Compress offload device binaries (HIP only)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4750OPTION(prefix_3, "--offload-device-only", offload_device_only, Flag, offload_Group, INVALID, nullptr, 0, DefaultVis | FlangOption | DefaultVis | CLOption, 0, 4751 "Only compile for the offloading device.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4752OPTION(prefix_3, "--offload-host-device", offload_host_device, Flag, offload_Group, INVALID, nullptr, 0, DefaultVis | FlangOption | DefaultVis | CLOption, 0, 4753 "Compile for both the offloading host and device (default).", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4754OPTION(prefix_3, "--offload-host-only", offload_host_only, Flag, offload_Group, INVALID, nullptr, 0, DefaultVis | FlangOption | DefaultVis | CLOption, 0, 4755 "Only compile for the offloading host.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4756OPTION(prefix_3, "--offload-link", offload_link, Flag, Link_Group, INVALID, nullptr, 0, DefaultVis, 0, 4757 "Use the new offloading linker to perform the link job.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4758OPTION(prefix_3, "--offload-new-driver", offload_new_driver, Flag, offload_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis | CLOption, 0, 4759 "Use the new driver for offloading compilation.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4760OPTION(prefix_3, "--offload=", offload_EQ, CommaJoined, INVALID, INVALID, nullptr, NoXarchOption, DefaultVis, 0, 4761 "Specify comma-separated list of offloading target triples (CUDA and HIP only)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4762OPTION(prefix_2, "/Og", anonymous_2190, Flag, cl_Group, _SLASH_O, "g\0", NoXarchOption, CLOption, 0, 4763 "No effect", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4764OPTION(prefix_2, "/Oi-", anonymous_2192, Flag, cl_Group, _SLASH_O, "i-\0", NoXarchOption, CLOption, 0, 4765 "Disable use of builtin functions", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4766OPTION(prefix_2, "/Oi", anonymous_2191, Flag, cl_Group, _SLASH_O, "i\0", NoXarchOption, CLOption, 0, 4767 "Enable use of builtin functions", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4768OPTION(prefix_2, "/openmp-", _SLASH_openmp_, Flag, cl_Group, fno_openmp, nullptr, NoXarchOption, CLOption, 0, 4769 "Disable OpenMP support", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4770OPTION(prefix_2, "/openmp:experimental", _SLASH_openmp_experimental, Flag, cl_Group, fopenmp, nullptr, NoXarchOption, CLOption, 0, 4771 "Enable OpenMP support with experimental SIMD support", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4772OPTION(prefix_2, "/openmp", _SLASH_openmp, Flag, cl_Group, fopenmp, nullptr, NoXarchOption, CLOption, 0, 4773 "Enable OpenMP support", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4774OPTION(prefix_1, "-opt-record-file", opt_record_file, Separate, INVALID, INVALID, nullptr, 0, CC1Option | FC1Option, 0, 4775 "File name to use for YAML optimization record output", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4776OPTION(prefix_1, "-opt-record-format", opt_record_format, Separate, INVALID, INVALID, nullptr, 0, CC1Option | FC1Option, 0, 4777 "The format used for serializing remarks (default: YAML)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4778OPTION(prefix_1, "-opt-record-passes", opt_record_passes, Separate, INVALID, INVALID, nullptr, 0, CC1Option | FC1Option, 0, 4779 "Only record remark information for passes whose names match the given regular expression", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4780OPTION(prefix_3, "--optimize=", _optimize_EQ, Joined, INVALID, O, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4781OPTION(prefix_3, "--optimize", _optimize, Flag, INVALID, O, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4782OPTION(prefix_2, "/Os", anonymous_2193, Flag, cl_Group, _SLASH_O, "s\0", NoXarchOption, CLOption, 0, 4783 "Optimize for size (like clang -Os)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4784OPTION(prefix_2, "/Ot", anonymous_2194, Flag, cl_Group, _SLASH_O, "t\0", NoXarchOption, CLOption, 0, 4785 "Optimize for speed (like clang -O3)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4786OPTION(prefix_1, "-output-asm-variant", output_asm_variant, Separate, INVALID, INVALID, nullptr, 0, CC1AsOption, 0, 4787 "Select the asm variant index to use for output", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4788OPTION(prefix_3, "--output-class-directory=", _output_class_directory_EQ, Joined, INVALID, foutput_class_dir_EQ, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4789OPTION(prefix_3, "--output-class-directory", _output_class_directory, Separate, INVALID, foutput_class_dir_EQ, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4790OPTION(prefix_3, "--output=", _output_EQ, Joined, INVALID, o, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4791OPTION(prefix_3, "--output", _output, Separate, INVALID, o, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4792OPTION(prefix_2, "/Ox", anonymous_2195, Flag, cl_Group, _SLASH_O, "x\0", NoXarchOption, CLOption, 0, 4793 "Deprecated (like /Og /Oi /Ot /Oy /Ob2); use /O2", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4794OPTION(prefix_2, "/Oy-", anonymous_2197, Flag, cl_Group, _SLASH_O, "y-\0", NoXarchOption, CLOption, 0, 4795 "Disable frame pointer omission (x86 only, default)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4796OPTION(prefix_2, "/Oy", anonymous_2196, Flag, cl_Group, _SLASH_O, "y\0", NoXarchOption, CLOption, 0, 4797 "Enable frame pointer omission (x86 only)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4798OPTION(prefix_1, "-O", O_flag, Flag, INVALID, O, "1\0", 0, DefaultVis | CC1Option | FC1Option, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4799OPTION(prefix_1, "-O", O, Joined, O_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | FC1Option | FlangOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4800OPTION(prefix_2, "/O", _SLASH_O, Joined, cl_Group, INVALID, nullptr, NoXarchOption, CLOption | DXCOption, 0, 4801 "Set multiple /O flags at once; e.g. '/O2y-' for '/O2 /Oy-'", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "<flags>", nullptr) 4802OPTION(prefix_1, "-o", o, JoinedOrSeparate, INVALID, INVALID, nullptr, NoXarchOption, DefaultVis | CC1Option | CC1AsOption | FC1Option | FlangOption, 0, 4803 "Write output to <file>", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "<file>", nullptr) 4804OPTION(prefix_2, "/o", _SLASH_o, JoinedOrSeparate, cl_Group, INVALID, nullptr, NoXarchOption, CLOption, 0, 4805 "Deprecated (set output file name); use /Fe or /Fe", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "<file or dir/>", nullptr) 4806OPTION(prefix_1, "-pagezero_size", pagezero__size, JoinedOrSeparate, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4807OPTION(prefix_3, "--param=", _param_EQ, Joined, INVALID, _param, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4808OPTION(prefix_3, "--param", _param, Separate, CompileOnly_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4809OPTION(prefix_4, "-pass-exit-codes", pass_exit_codes, Flag, INVALID, INVALID, nullptr, Unsupported, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4810OPTION(prefix_1, "-pch-through-hdrstop-create", pch_through_hdrstop_create, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 4811 "When creating a PCH, stop PCH generation after #pragma hdrstop.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4812OPTION(prefix_1, "-pch-through-hdrstop-use", pch_through_hdrstop_use, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 4813 "When using a PCH, skip tokens until after a #pragma hdrstop.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4814OPTION(prefix_1, "-pch-through-header=", pch_through_header_EQ, Joined, INVALID, INVALID, nullptr, 0, CC1Option, 0, 4815 "Stop PCH generation after including this file. When using a PCH, skip tokens until after this file is included.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4816OPTION(prefix_4, "-pedantic-errors", pedantic_errors, Flag, pedantic_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4817OPTION(prefix_4, "-pedantic", pedantic, Flag, pedantic_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | FlangOption | FC1Option, 0, 4818 "Warn on language extensions", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4819OPTION(prefix_2, "/permissive-", _SLASH_permissive_, Flag, cl_Group, INVALID, nullptr, NoXarchOption, CLOption, 0, 4820 "Disable non conforming code from compiling (default)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4821OPTION(prefix_2, "/permissive", _SLASH_permissive, Flag, cl_Group, INVALID, nullptr, NoXarchOption, CLOption, 0, 4822 "Enable some non conforming code to compile", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4823OPTION(prefix_1, "-pg", pg, Flag, INVALID, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 4824 "Enable mcount instrumentation", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4825OPTION(prefix_1, "-pic-is-pie", pic_is_pie, Flag, INVALID, INVALID, nullptr, 0, CC1Option | FC1Option, 0, 4826 "File is for a position independent executable", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4827OPTION(prefix_1, "-pic-level", pic_level, Separate, INVALID, INVALID, nullptr, 0, CC1Option | FC1Option, 0, 4828 "Value for __PIC__", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4829OPTION(prefix_1, "-pie", pie, Flag, Link_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4830OPTION(prefix_4, "-pipe", pipe, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0, 4831 "Use pipes between commands, when possible", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4832OPTION(prefix_1, "-plugin-arg-", plugin_arg, JoinedAndSeparate, INVALID, INVALID, nullptr, 0, CC1Option, 0, 4833 "Pass <arg> to plugin <name>", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "<name> <arg>", nullptr) 4834OPTION(prefix_1, "-plugin", plugin, Separate, INVALID, INVALID, nullptr, 0, CC1Option | FC1Option, 0, 4835 "Use the named plugin action instead of the default action (use \"help\" to list available options)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "<name>", nullptr) 4836OPTION(prefix_1, "-pointer-tbaa", pointer_tbaa, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 4837 "Turn on Type Based Alias Analysis for pointer accesses", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4838OPTION(prefix_1, "-preamble-bytes=", preamble_bytes_EQ, Joined, INVALID, INVALID, nullptr, 0, CC1Option, 0, 4839 "Assume that the precompiled header is a precompiled preamble covering the first N bytes of the main file", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4840OPTION(prefix_1, "-prebind_all_twolevel_modules", prebind__all__twolevel__modules, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4841OPTION(prefix_1, "-prebind", prebind, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4842OPTION(prefix_3, "--precompile", _precompile, Flag, Action_Group, INVALID, nullptr, NoXarchOption, DefaultVis | CLOption, 0, 4843 "Only precompile the input", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4844OPTION(prefix_3, "--prefix=", _prefix_EQ, Joined, INVALID, B, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4845OPTION(prefix_3, "--prefix", _prefix, Separate, INVALID, B, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4846OPTION(prefix_1, "-preload", preload, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4847OPTION(prefix_3, "--preprocess", _preprocess, Flag, INVALID, E, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4848OPTION(prefix_3, "--pretty-sgf", emit_pretty_sgf, Flag, INVALID, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 4849 "Emit pretty printed symbol graphs", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4850OPTION(prefix_1, "-print-dependency-directives-minimized-source", print_dependency_directives_minimized_source, Flag, Action_Group, INVALID, nullptr, 0, CC1Option, 0, 4851 "Print the output of the dependency directives source minimizer", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4852OPTION(prefix_3, "--print-diagnostic-categories", _print_diagnostic_categories, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4853OPTION(prefix_4, "-print-diagnostic-options", print_diagnostic_options, Flag, INVALID, INVALID, nullptr, 0, DefaultVis | CLOption, 0, 4854 "Print all of Clang's warning options", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4855OPTION(prefix_4, "-print-effective-triple", print_effective_triple, Flag, INVALID, INVALID, nullptr, 0, DefaultVis | FlangOption | CLOption, 0, 4856 "Print the effective target triple", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4857OPTION(prefix_4, "-print-enabled-extensions", print_enabled_extensions, Flag, INVALID, INVALID, nullptr, 0, DefaultVis | CC1Option | CLOption, 0, 4858 "Print the extensions enabled by the given target and -march/-mcpu options. (AArch64 and RISC-V only)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4859OPTION(prefix_4, "-print-file-name=", print_file_name_EQ, Joined, INVALID, INVALID, nullptr, 0, DefaultVis | CLOption, 0, 4860 "Print the full library path of <file>", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "<file>", nullptr) 4861OPTION(prefix_3, "--print-file-name", _print_file_name, Separate, INVALID, print_file_name_EQ, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4862OPTION(prefix_1, "-print-ivar-layout", print_ivar_layout, Flag, INVALID, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 4863 "Enable Objective-C Ivar layout bitmap print trace", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4864OPTION(prefix_4, "-print-libgcc-file-name", print_libgcc_file_name, Flag, INVALID, INVALID, nullptr, 0, DefaultVis | CLOption, 0, 4865 "Print the library path for the currently used compiler runtime library (\"libgcc.a\" or \"libclang_rt.builtins.*.a\")", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4866OPTION(prefix_4, "-print-library-module-manifest-path", print_std_module_manifest_path, Flag, INVALID, INVALID, nullptr, 0, DefaultVis | CLOption, 0, 4867 "Print the path for the C++ Standard library module manifest", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4868OPTION(prefix_3, "--print-missing-file-dependencies", _print_missing_file_dependencies, Flag, INVALID, MG, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4869OPTION(prefix_4, "-print-multi-directory", print_multi_directory, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4870OPTION(prefix_4, "-print-multi-flags-experimental", print_multi_flags, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0, 4871 "Print the flags used for selecting multilibs (experimental)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4872OPTION(prefix_4, "-print-multi-lib", print_multi_lib, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4873OPTION(prefix_4, "-print-multi-os-directory", print_multi_os_directory, Flag, INVALID, INVALID, nullptr, Unsupported, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4874OPTION(prefix_4, "-print-multiarch", anonymous_1719, Flag, INVALID, INVALID, nullptr, Unsupported, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4875OPTION(prefix_1, "-print-preamble", print_preamble, Flag, Action_Group, INVALID, nullptr, 0, CC1Option, 0, 4876 "Print the \"preamble\" of a file, which is a candidate for implicit precompiled headers.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4877OPTION(prefix_4, "-print-prog-name=", print_prog_name_EQ, Joined, INVALID, INVALID, nullptr, 0, DefaultVis | CLOption, 0, 4878 "Print the full program path of <name>", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "<name>", nullptr) 4879OPTION(prefix_3, "--print-prog-name", _print_prog_name, Separate, INVALID, print_prog_name_EQ, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4880OPTION(prefix_4, "-print-resource-dir", print_resource_dir, Flag, INVALID, INVALID, nullptr, 0, DefaultVis | CLOption | FlangOption, 0, 4881 "Print the resource directory pathname", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{FlangOption}}, "Print the resource directory pathname that contains lib and include directories with the runtime libraries and MODULE files.") }}), nullptr, nullptr) 4882OPTION(prefix_4, "-print-rocm-search-dirs", print_rocm_search_dirs, Flag, INVALID, INVALID, nullptr, 0, DefaultVis | CLOption, 0, 4883 "Print the paths used for finding ROCm installation", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4884OPTION(prefix_4, "-print-runtime-dir", print_runtime_dir, Flag, INVALID, INVALID, nullptr, 0, DefaultVis | CLOption, 0, 4885 "Print the directory pathname containing Clang's runtime libraries", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4886OPTION(prefix_4, "-print-search-dirs", print_search_dirs, Flag, INVALID, INVALID, nullptr, 0, DefaultVis | CLOption, 0, 4887 "Print the paths used for finding libraries and programs", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4888OPTION(prefix_1, "-print-stats", print_stats, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 4889 "Print performance metrics and statistics", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4890OPTION(prefix_4, "-print-supported-cpus", print_supported_cpus, Flag, CompileOnly_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | CLOption, 0, 4891 "Print supported cpu models for the given target (if target is not specified, it will print the supported cpus for the default target)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4892OPTION(prefix_4, "-print-supported-extensions", print_supported_extensions, Flag, INVALID, INVALID, nullptr, 0, DefaultVis | CC1Option | CLOption, 0, 4893 "Print supported -march extensions (RISC-V, AArch64 and ARM only)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4894OPTION(prefix_4, "-print-target-triple", print_target_triple, Flag, INVALID, INVALID, nullptr, 0, DefaultVis | FlangOption | CLOption, 0, 4895 "Print the normalized target triple", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4896OPTION(prefix_4, "-print-targets", print_targets, Flag, INVALID, INVALID, nullptr, 0, DefaultVis | CLOption, 0, 4897 "Print the registered targets", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4898OPTION(prefix_1, "-private_bundle", private__bundle, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4899OPTION(prefix_3, "--product-name=", product_name_EQ, Joined, INVALID, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4900OPTION(prefix_3, "--profile", _profile, Flag, INVALID, p, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4901OPTION(prefix_1, "-pthreads", pthreads, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4902OPTION(prefix_1, "-pthread", pthread, Flag, INVALID, INVALID, nullptr, 0, DefaultVis | DefaultVis | CC1Option | FlangOption | FC1Option, 0, 4903 "Support POSIX threads in generated code", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4904OPTION(prefix_3, "--ptxas-path=", ptxas_path_EQ, Joined, cuda_Group, INVALID, nullptr, 0, DefaultVis | DefaultVis | CLOption, 0, 4905 "Path to ptxas (used for compiling CUDA code)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4906OPTION(prefix_1, "-P", P, Flag, Preprocessor_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | FlangOption | FC1Option, 0, 4907 "Disable linemarker output in -E mode", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4908OPTION(prefix_2, "/P", _SLASH_P, Flag, cl_Group, INVALID, nullptr, NoXarchOption, CLOption, 0, 4909 "Preprocess to file", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4910OPTION(prefix_1, "-p", p, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0, 4911 "Enable mcount instrumentation with prof", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4912OPTION(prefix_2, "/Qembed_debug", anonymous_2207, Flag, dxc_Group, INVALID, nullptr, Ignored, DXCOption | DXCOption, 0, 4913 "Embed PDB in shader container (ignored)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4914OPTION(prefix_2, "/Qfast_transcendentals", _SLASH_Qfast_transcendentals, Flag, cl_Group, INVALID, nullptr, NoXarchOption, CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4915OPTION(prefix_2, "/Qgather-", anonymous_2198, Flag, cl_Group, mno_gather, nullptr, NoXarchOption, CLOption, 0, 4916 "Disable generation of gather instructions in auto-vectorization(x86 only)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4917OPTION(prefix_2, "/QIfist", _SLASH_QIfist, Flag, cl_Group, INVALID, nullptr, NoXarchOption, CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4918OPTION(prefix_2, "/Qimprecise_fwaits", _SLASH_Qimprecise_fwaits, Flag, cl_Group, INVALID, nullptr, NoXarchOption, CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4919OPTION(prefix_2, "/QIntel-jcc-erratum", _SLASH_QIntel_jcc_erratum, Flag, cl_Group, mbranches_within_32B_boundaries, nullptr, NoXarchOption, CLOption, 0, 4920 "Align branches within 32-byte boundaries to mitigate the performance impact of the Intel JCC erratum.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4921OPTION(prefix_1, "-Qn", Qn, Flag, INVALID, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 4922 "Do not emit metadata containing compiler name and version", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4923OPTION(prefix_2, "/Qpar-report", _SLASH_Qpar_report, Joined, cl_Group, INVALID, nullptr, NoXarchOption, CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4924OPTION(prefix_2, "/Qpar", _SLASH_Qpar, Flag, cl_Group, INVALID, nullptr, NoXarchOption, CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4925OPTION(prefix_2, "/Qsafe_fp_loads", _SLASH_Qsafe_fp_loads, Flag, cl_Group, INVALID, nullptr, NoXarchOption, CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4926OPTION(prefix_2, "/Qscatter-", anonymous_2199, Flag, cl_Group, mno_scatter, nullptr, NoXarchOption, CLOption, 0, 4927 "Disable generation of scatter instructions in auto-vectorization(x86 only)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4928OPTION(prefix_2, "/Qspectre-load-cf", _SLASH_Qspectre_load_cf, Flag, cl_Group, INVALID, nullptr, NoXarchOption, CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4929OPTION(prefix_2, "/Qspectre-load", _SLASH_Qspectre_load, Flag, cl_Group, INVALID, nullptr, NoXarchOption, CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4930OPTION(prefix_2, "/Qspectre", _SLASH_Qspectre, Flag, cl_Group, INVALID, nullptr, NoXarchOption, CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4931OPTION(prefix_1, "-Qunused-arguments", Qunused_arguments, Flag, INVALID, INVALID, nullptr, NoXarchOption, DefaultVis | CLOption | DXCOption, 0, 4932 "Don't emit warning for unused driver arguments", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4933OPTION(prefix_2, "/Qvec-report", _SLASH_Qvec_report, Joined, cl_Group, INVALID, nullptr, NoXarchOption, CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4934OPTION(prefix_2, "/Qvec-", _SLASH_Qvec_, Flag, cl_Group, fno_vectorize, nullptr, NoXarchOption, CLOption, 0, 4935 "Disable the loop vectorization passes", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4936OPTION(prefix_2, "/Qvec", _SLASH_Qvec, Flag, cl_Group, fvectorize, nullptr, NoXarchOption, CLOption, 0, 4937 "Enable the loop vectorization passes", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4938OPTION(prefix_1, "-Qy", Qy, Flag, INVALID, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 4939 "Emit metadata containing compiler name and version", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4940OPTION(prefix_1, "-Q", Q, Flag, INVALID, INVALID, nullptr, HelpHidden, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4941OPTION(prefix_1, "-rdynamic", rdynamic, Flag, Link_Group, INVALID, nullptr, 0, DefaultVis | FlangOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4942OPTION(prefix_1, "-read_only_relocs", read__only__relocs, Separate, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4943OPTION(prefix_1, "-record-command-line", record_command_line, Separate, INVALID, INVALID, nullptr, 0, CC1Option | CC1AsOption, 0, 4944 "The string to embed in the .LLVM.command.line section.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4945OPTION(prefix_1, "-reexport-l", reexport_l, Joined, INVALID, INVALID, nullptr, LinkerInput, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4946OPTION(prefix_1, "-reexport_framework", reexport_framework, Separate, INVALID, INVALID, nullptr, LinkerInput, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4947OPTION(prefix_1, "-reexport_library", reexport_library, JoinedOrSeparate, INVALID, INVALID, nullptr, LinkerInput, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4948OPTION(prefix_2, "/reference", _SLASH_reference, JoinedOrSeparate, cl_Group, INVALID, nullptr, NoXarchOption, CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4949OPTION(prefix_1, "-regcall4", regcall4, Flag, m_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis | CLOption, 0, 4950 "Set __regcall4 as a default calling convention to respect __regcall ABI v.4", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4951OPTION(prefix_1, "-relaxed-aliasing", relaxed_aliasing, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 4952 "Turn off Type Based Alias Analysis", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4953OPTION(prefix_4, "-relocatable-pch", relocatable_pch, Flag, INVALID, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 4954 "Whether to build a relocatable precompiled header", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4955OPTION(prefix_1, "-remap-file", remap_file, Separate, INVALID, INVALID, nullptr, 0, CC1Option, 0, 4956 "Replace the contents of the <from> file with the contents of the <to> file", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "<from>;<to>", nullptr) 4957OPTION(prefix_1, "-remap", remap, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4958OPTION(prefix_1, "-resource-dir=", resource_dir_EQ, Joined, INVALID, resource_dir, nullptr, NoXarchOption, DefaultVis | CLOption | DXCOption | FlangOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4959OPTION(prefix_1, "-resource-dir", resource_dir, Separate, INVALID, INVALID, nullptr, NoXarchOption | HelpHidden, DefaultVis | CC1Option | CLOption | DXCOption | FlangOption | FC1Option, 0, 4960 "The directory which holds the compiler resource files", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4961OPTION(prefix_3, "--resource=", _resource_EQ, Joined, INVALID, fcompile_resource_EQ, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4962OPTION(prefix_3, "--resource", _resource, Separate, INVALID, fcompile_resource_EQ, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4963OPTION(prefix_1, "-rewrite-legacy-objc", rewrite_legacy_objc, Flag, INVALID, INVALID, nullptr, NoXarchOption, DefaultVis, 0, 4964 "Rewrite Legacy Objective-C source to C++", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4965OPTION(prefix_1, "-rewrite-macros", rewrite_macros, Flag, Action_Group, INVALID, nullptr, 0, CC1Option, 0, 4966 "Expand macros without full preprocessing", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4967OPTION(prefix_1, "-rewrite-objc", rewrite_objc, Flag, Action_Group, INVALID, nullptr, NoXarchOption, DefaultVis | CC1Option, 0, 4968 "Rewrite Objective-C source to C++", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4969OPTION(prefix_1, "-rewrite-test", rewrite_test, Flag, Action_Group, INVALID, nullptr, 0, CC1Option, 0, 4970 "Rewriter playground", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4971OPTION(prefix_3, "--rocm-device-lib-path=", rocm_device_lib_path_EQ, Joined, hip_Group, INVALID, nullptr, 0, DefaultVis | DefaultVis | CLOption, 0, 4972 "ROCm device library path. Alternative to rocm-path.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4973OPTION(prefix_3, "--rocm-path=", rocm_path_EQ, Joined, hip_Group, INVALID, nullptr, 0, FlangOption | DefaultVis | CLOption, 0, 4974 "ROCm installation path, used for finding and automatically linking required bitcode libraries.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4975OPTION(prefix_1, "-round-trip-args", round_trip_args, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 4976 "Enable command line arguments round-trip.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4977OPTION(prefix_1, "-Rpass-analysis=", Rpass_analysis_EQ, Joined, R_value_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | FC1Option | FlangOption, 0, 4978 "Report transformation analysis from optimization passes whose name matches the given POSIX regular expression", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4979OPTION(prefix_1, "-Rpass-missed=", Rpass_missed_EQ, Joined, R_value_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | FC1Option | FlangOption, 0, 4980 "Report missed transformations by optimization passes whose name matches the given POSIX regular expression", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4981OPTION(prefix_1, "-Rpass=", Rpass_EQ, Joined, R_value_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | FC1Option | FlangOption, 0, 4982 "Report transformations performed by optimization passes whose name matches the given POSIX regular expression", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4983OPTION(prefix_1, "-rpath", rpath, Separate, Link_Group, INVALID, nullptr, LinkerInput, DefaultVis | CLOption | DXCOption | FlangOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4984OPTION(prefix_3, "--rsp-quoting=", rsp_quoting, Joined, internal_driver_Group, INVALID, nullptr, NoXarchOption | HelpHidden, DefaultVis | CLOption | DXCOption, 0, 4985 "Set the rsp quoting to either 'posix', or 'windows'", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4986OPTION(prefix_2, "/RTC", _SLASH_RTC, Joined, cl_ignored_Group, INVALID, nullptr, NoXarchOption | HelpHidden, CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4987OPTION(prefix_4, "-rtlib=", rtlib_EQ, Joined, INVALID, INVALID, nullptr, 0, DefaultVis | CLOption | FlangOption, 0, 4988 "Compiler runtime library to use", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4989OPTION(prefix_3, "--rtlib", _rtlib, Separate, INVALID, rtlib_EQ, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4990OPTION(prefix_1, "-R", R_Joined, Joined, R_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | FC1Option | FlangOption, 0, 4991 "Enable the specified remark", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "<remark>", nullptr) 4992OPTION(prefix_1, "-r", r, Flag, Link_Group, INVALID, nullptr, LinkerInput | NoArgumentUnused, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4993OPTION(prefix_4, "-save-stats=", save_stats_EQ, Joined, INVALID, INVALID, nullptr, NoXarchOption, DefaultVis, 0, 4994 "Save llvm statistics.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4995OPTION(prefix_4, "-save-stats", save_stats, Flag, INVALID, save_stats_EQ, "cwd\0", NoXarchOption, DefaultVis, 0, 4996 "Save llvm statistics.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4997OPTION(prefix_4, "-save-temps=", save_temps_EQ, Joined, INVALID, INVALID, nullptr, NoXarchOption, DefaultVis | CC1Option | FlangOption | FC1Option, 0, 4998 "Save intermediate compilation results. <arg> can be set to 'cwd' for current working directory, or 'obj' which will save temporary files in the same directory as the final output file", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 4999OPTION(prefix_4, "-save-temps", save_temps, Flag, INVALID, save_temps_EQ, "cwd\0", NoXarchOption, DefaultVis | FlangOption | FC1Option, 0, 5000 "Alias for --save-temps=cwd", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5001OPTION(prefix_2, "/sdl-", _SLASH_sdl_, Flag, cl_ignored_Group, INVALID, nullptr, NoXarchOption, CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5002OPTION(prefix_2, "/sdl", _SLASH_sdl, Flag, cl_ignored_Group, INVALID, nullptr, NoXarchOption, CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5003OPTION(prefix_1, "-sectalign", sectalign, MultiArg, INVALID, INVALID, nullptr, 0, DefaultVis, 3, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5004OPTION(prefix_1, "-sectcreate", sectcreate, MultiArg, INVALID, INVALID, nullptr, 0, DefaultVis, 3, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5005OPTION(prefix_1, "-sectobjectsymbols", sectobjectsymbols, MultiArg, INVALID, INVALID, nullptr, 0, DefaultVis, 2, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5006OPTION(prefix_1, "-sectorder", sectorder, MultiArg, INVALID, INVALID, nullptr, 0, DefaultVis, 3, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5007OPTION(prefix_1, "-seg1addr", seg1addr, JoinedOrSeparate, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5008OPTION(prefix_1, "-seg_addr_table_filename", seg__addr__table__filename, Separate, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5009OPTION(prefix_1, "-seg_addr_table", seg__addr__table, Separate, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5010OPTION(prefix_1, "-segaddr", segaddr, MultiArg, INVALID, INVALID, nullptr, 0, DefaultVis, 2, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5011OPTION(prefix_1, "-segcreate", segcreate, MultiArg, INVALID, INVALID, nullptr, 0, DefaultVis, 3, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5012OPTION(prefix_1, "-seglinkedit", seglinkedit, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5013OPTION(prefix_1, "-segprot", segprot, MultiArg, INVALID, INVALID, nullptr, 0, DefaultVis, 3, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5014OPTION(prefix_1, "-segs_read_only_addr", segs__read__only__addr, Separate, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5015OPTION(prefix_1, "-segs_read_write_addr", segs__read__write__addr, Separate, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5016OPTION(prefix_1, "-segs_read_", segs__read__, Joined, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5017OPTION(prefix_1, "-serialize-diagnostic-file", diagnostic_serialized_file, Separate, INVALID, INVALID, nullptr, 0, CC1Option, 0, 5018 "File for serializing diagnostics in a binary format", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "<filename>", nullptr) 5019OPTION(prefix_4, "-serialize-diagnostics", _serialize_diags, Separate, INVALID, INVALID, nullptr, NoXarchOption, DefaultVis, 0, 5020 "Serialize compiler diagnostics to a file", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5021OPTION(prefix_1, "-setup-static-analyzer", setup_static_analyzer, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 5022 "Set up preprocessor for static analyzer (done automatically when static analyzer is run).", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5023OPTION(prefix_1, "-shared-libasan", anonymous_245, Flag, INVALID, shared_libsan, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5024OPTION(prefix_1, "-shared-libgcc", shared_libgcc, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5025OPTION(prefix_1, "-shared-libsan", shared_libsan, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0, 5026 "Dynamically link the sanitizer runtime", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5027OPTION(prefix_4, "-shared", shared, Flag, Link_Group, INVALID, nullptr, 0, DefaultVis | CLOption | DXCOption | FlangOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5028OPTION(prefix_1, "-show-encoding", show_encoding, Flag, INVALID, INVALID, nullptr, 0, CC1AsOption, 0, 5029 "Show instruction encoding information in transliterate mode", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5030OPTION(prefix_3, "--show-includes", show_includes, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 5031 "Print cl.exe style /showIncludes to stdout", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5032OPTION(prefix_1, "-show-inst", show_inst, Flag, INVALID, INVALID, nullptr, 0, CC1AsOption, 0, 5033 "Show internal instruction representation in transliterate mode", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5034OPTION(prefix_2, "/showFilenames-", _SLASH_showFilenames_, Flag, cl_Group, INVALID, nullptr, NoXarchOption, CLOption, 0, 5035 "Do not print the name of each compiled file (default)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5036OPTION(prefix_2, "/showFilenames", _SLASH_showFilenames, Flag, cl_Group, INVALID, nullptr, NoXarchOption, CLOption, 0, 5037 "Print the name of each compiled file", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5038OPTION(prefix_2, "/showIncludes:user", _SLASH_showIncludes_user, Flag, cl_Group, INVALID, nullptr, NoXarchOption, CLOption, 0, 5039 "Like /showIncludes but omit system headers", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5040OPTION(prefix_2, "/showIncludes", _SLASH_showIncludes, Flag, cl_Group, INVALID, nullptr, NoXarchOption, CLOption, 0, 5041 "Print info about included files to stderr", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5042OPTION(prefix_3, "--signed-char", _signed_char, Flag, INVALID, fsigned_char, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5043OPTION(prefix_1, "-single_module", single__module, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5044OPTION(prefix_1, "-skip-function-bodies", skip_function_bodies, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 5045 "Skip function bodies when possible", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5046OPTION(prefix_2, "/source-charset:", _SLASH_source_charset, Joined, cl_compile_Group, finput_charset_EQ, nullptr, NoXarchOption, CLOption, 0, 5047 "Set source encoding, supports only UTF-8", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5048OPTION(prefix_1, "-source-date-epoch", source_date_epoch, Separate, INVALID, INVALID, nullptr, 0, CC1Option, 0, 5049 "Time to be used in __DATE__, __TIME__, and __TIMESTAMP__ macros", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "<time since Epoch in seconds>", nullptr) 5050OPTION(prefix_2, "/sourceDependencies:directives", _SLASH_sourceDependenciesDirectives, JoinedOrSeparate, cl_Group, INVALID, nullptr, NoXarchOption, CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5051OPTION(prefix_2, "/sourceDependencies", _SLASH_sourceDependencies, JoinedOrSeparate, cl_Group, INVALID, nullptr, NoXarchOption, CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5052OPTION(prefix_4, "-specs=", specs_EQ, Joined, Link_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5053OPTION(prefix_4, "-specs", specs, Separate, INVALID, INVALID, nullptr, Unsupported, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5054OPTION(prefix_2, "/spirv", spirv, Flag, dxc_Group, INVALID, nullptr, 0, DXCOption | DXCOption, 0, 5055 "Generate SPIR-V code", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5056OPTION(prefix_1, "-split-dwarf-file", split_dwarf_file, Separate, INVALID, INVALID, nullptr, 0, CC1Option, 0, 5057 "Name of the split dwarf debug info file to encode in the object file", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5058OPTION(prefix_1, "-split-dwarf-output", split_dwarf_output, Separate, INVALID, INVALID, nullptr, 0, CC1Option | CC1AsOption, 0, 5059 "File name to use for split dwarf debug info output", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5060OPTION(prefix_1, "-stack-protector-buffer-size", stack_protector_buffer_size, Separate, INVALID, INVALID, nullptr, 0, CC1Option, 0, 5061 "Lower bound for a buffer to be considered for stack protection", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5062OPTION(prefix_1, "-stack-protector", stack_protector, Separate, INVALID, INVALID, nullptr, 0, CC1Option, 0, 5063 "Enable stack protectors", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, "0,1,2,3") 5064OPTION(prefix_1, "-stack-usage-file", stack_usage_file, Separate, INVALID, INVALID, nullptr, 0, CC1Option, 0, 5065 "Filename (or -) to write stack usage output to", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5066OPTION(prefix_3, "--start-no-unused-arguments", start_no_unused_arguments, Flag, INVALID, INVALID, nullptr, 0, DefaultVis | CLOption | DXCOption, 0, 5067 "Don't emit warnings about unused arguments for the following arguments", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5068OPTION(prefix_1, "-static-define", static_define, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 5069 "Should __STATIC__ be defined", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5070OPTION(prefix_1, "-static-libasan", anonymous_246, Flag, INVALID, static_libsan, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5071OPTION(prefix_1, "-static-libgcc", static_libgcc, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5072OPTION(prefix_1, "-static-libgfortran", static_libgfortran, Flag, gfortran_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5073OPTION(prefix_1, "-static-libsan", static_libsan, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0, 5074 "Statically link the sanitizer runtime (Not supported for ASan, TSan or UBSan on darwin)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5075OPTION(prefix_1, "-static-libstdc++", static_libstdcxx, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5076OPTION(prefix_1, "-static-openmp", static_openmp, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0, 5077 "Use the static host OpenMP runtime while linking.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5078OPTION(prefix_1, "-static-pie", static_pie, Flag, Link_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5079OPTION(prefix_4, "-static", static, Flag, Link_Group, INVALID, nullptr, NoArgumentUnused, DefaultVis | CLOption | DXCOption | FlangOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5080OPTION(prefix_1, "-stats-file-append", stats_file_append, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 5081 "If stats should be appended to stats-file instead of overwriting it", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5082OPTION(prefix_1, "-stats-file=", stats_file, Joined, INVALID, INVALID, nullptr, 0, CC1Option, 0, 5083 "Filename to write statistics to", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5084OPTION(prefix_1, "-std-default=", std_default_EQ, Joined, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5085OPTION(prefix_2, "/std:", _SLASH_std, Joined, cl_compile_Group, INVALID, nullptr, NoXarchOption, CLOption, 0, 5086 "Set language version (c++14,c++17,c++20,c++latest,c11,c17)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5087OPTION(prefix_4, "-std=", std_EQ, Joined, CompileOnly_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | FlangOption | FC1Option, 0, 5088 "Language standard to compile for", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, std_EQ_Values) 5089OPTION(prefix_1, "-stdlib++-isystem", stdlibxx_isystem, JoinedOrSeparate, clang_i_Group, INVALID, nullptr, NoXarchOption, DefaultVis, 0, 5090 "Use directory as the C++ standard library include path", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "<directory>", nullptr) 5091OPTION(prefix_4, "-stdlib=", stdlib_EQ, Joined, INVALID, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 5092 "C++ standard library to use", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, "libc++,libstdc++,platform") 5093OPTION(prefix_3, "--stdlib", _stdlib, Separate, INVALID, stdlib_EQ, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5094OPTION(prefix_3, "--std", _std, Separate, INVALID, std_EQ, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5095OPTION(prefix_1, "-sub_library", sub__library, JoinedOrSeparate, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5096OPTION(prefix_1, "-sub_umbrella", sub__umbrella, JoinedOrSeparate, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5097OPTION(prefix_1, "-sycl-std=", sycl_std_EQ, Joined, sycl_Group, INVALID, nullptr, NoArgumentUnused, DefaultVis | CC1Option | CLOption, 0, 5098 "SYCL language standard to compile for.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, "2020,2017,121,1.2.1,sycl-1.2.1") 5099OPTION(prefix_3, "--symbol-graph-dir=", symbol_graph_dir_EQ, Joined, INVALID, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 5100 "Directory in which to emit symbol graphs.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5101OPTION(prefix_1, "-sys-header-deps", sys_header_deps, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 5102 "Include system headers in dependency output", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5103OPTION(prefix_3, "--sysroot=", _sysroot_EQ, Joined, INVALID, INVALID, nullptr, 0, DefaultVis | FlangOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5104OPTION(prefix_3, "--sysroot", _sysroot, Separate, INVALID, _sysroot_EQ, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5105OPTION(prefix_3, "--system-header-prefix=", system_header_prefix, Joined, clang_i_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 5106 "Treat all #include paths starting with <prefix> as including a system header.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "<prefix>", nullptr) 5107OPTION(prefix_3, "--system-header-prefix", anonymous_1732, Separate, INVALID, system_header_prefix, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5108OPTION(prefix_1, "-S", S, Flag, Action_Group, INVALID, nullptr, NoXarchOption, DefaultVis | CC1Option | FlangOption | FC1Option, 0, 5109 "Only run preprocess and compilation steps", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5110OPTION(prefix_1, "-s", s, Flag, Link_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5111OPTION(prefix_1, "-target-abi", target_abi, Separate, INVALID, INVALID, nullptr, 0, CC1Option | CC1AsOption, 0, 5112 "Target a particular ABI type", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5113OPTION(prefix_1, "-target-cpu", target_cpu, Separate, INVALID, INVALID, nullptr, 0, CC1Option | CC1AsOption | FC1Option, 0, 5114 "Target a specific cpu type", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5115OPTION(prefix_1, "-target-feature", target_feature, Separate, INVALID, INVALID, nullptr, 0, CC1Option | CC1AsOption | FC1Option, 0, 5116 "Target specific attributes", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5117OPTION(prefix_3, "--target-help", _target_help, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5118OPTION(prefix_1, "-target-linker-version", target_linker_version, Separate, INVALID, INVALID, nullptr, 0, CC1Option, 0, 5119 "Target linker version", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5120OPTION(prefix_1, "-target-sdk-version=", target_sdk_version_EQ, Joined, INVALID, INVALID, nullptr, 0, CC1Option | CC1AsOption, 0, 5121 "The version of target SDK used for compilation", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5122OPTION(prefix_3, "--target=", target, Joined, INVALID, INVALID, nullptr, NoXarchOption, DefaultVis | CLOption | DXCOption | FlangOption, 0, 5123 "Generate code for the given target", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5124OPTION(prefix_1, "-target", target_legacy_spelling, Separate, INVALID, target, nullptr, 0, DefaultVis | CLOption | DXCOption | FlangOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5125OPTION(prefix_2, "/TC", _SLASH_TC, Flag, cl_compile_Group, INVALID, nullptr, NoXarchOption, CLOption, 0, 5126 "Treat all source files as C", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5127OPTION(prefix_2, "/Tc", _SLASH_Tc, JoinedOrSeparate, cl_compile_Group, INVALID, nullptr, NoXarchOption, CLOption, 0, 5128 "Treat <file> as C source file", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "<file>", nullptr) 5129OPTION(prefix_1, "-templight-dump", templight_dump, Flag, Action_Group, INVALID, nullptr, 0, CC1Option, 0, 5130 "Dump templight information to stdout", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5131OPTION(prefix_1, "-test-io", test_io, Flag, Action_Group, INVALID, nullptr, 0, FC1Option, 0, 5132 "Run the InputOuputTest action. Use for development and testing only.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5133OPTION(prefix_1, "-time", time, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0, 5134 "Time individual commands", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5135OPTION(prefix_2, "/TP", _SLASH_TP, Flag, cl_compile_Group, INVALID, nullptr, NoXarchOption, CLOption, 0, 5136 "Treat all source files as C++", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5137OPTION(prefix_2, "/Tp", _SLASH_Tp, JoinedOrSeparate, cl_compile_Group, INVALID, nullptr, NoXarchOption, CLOption, 0, 5138 "Treat <file> as C++ source file", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "<file>", nullptr) 5139OPTION(prefix_3, "--trace-includes", _trace_includes, Flag, INVALID, H, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5140OPTION(prefix_4, "-traditional-cpp", traditional_cpp, Flag, INVALID, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 5141 "Enable some traditional CPP emulation", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5142OPTION(prefix_4, "-traditional", traditional, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5143OPTION(prefix_2, "/translateInclude", _SLASH_translateInclude, Flag, cl_Group, INVALID, nullptr, NoXarchOption, CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5144OPTION(prefix_4, "-trigraphs", trigraphs, Flag, INVALID, ftrigraphs, nullptr, 0, DefaultVis, 0, 5145 "Process trigraph sequences", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5146OPTION(prefix_1, "-trim-egraph", trim_egraph, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 5147 "Only show error-related paths in the analysis graph", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5148OPTION(prefix_1, "-triple=", triple_EQ, Joined, INVALID, triple, nullptr, 0, CC1Option, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5149OPTION(prefix_1, "-triple", triple, Separate, INVALID, INVALID, nullptr, 0, CC1Option | CC1AsOption | FC1Option, 0, 5150 "Specify target triple (e.g. i686-apple-darwin9)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5151OPTION(prefix_1, "-tune-cpu", tune_cpu, Separate, INVALID, INVALID, nullptr, 0, CC1Option | CC1AsOption | FC1Option, 0, 5152 "Tune for a specific cpu type", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5153OPTION(prefix_2, "/tune:", _SLASH_tune, Joined, cl_compile_Group, mtune_EQ, nullptr, NoXarchOption, CLOption, 0, 5154 "Set CPU for optimization without affecting instruction set", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5155OPTION(prefix_1, "-twolevel_namespace_hints", twolevel__namespace__hints, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5156OPTION(prefix_1, "-twolevel_namespace", twolevel__namespace, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5157OPTION(prefix_1, "-T", T, JoinedOrSeparate, T_Group, INVALID, nullptr, 0, DefaultVis, 0, 5158 "Specify <script> as linker script", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "<script>", nullptr) 5159OPTION(prefix_2, "/T", target_profile, JoinedOrSeparate, dxc_Group, INVALID, nullptr, 0, DXCOption | DXCOption, 0, 5160 "Set target profile", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "<profile>", "ps_6_0, ps_6_1, ps_6_2, ps_6_3, ps_6_4, ps_6_5, ps_6_6, ps_6_7,vs_6_0, vs_6_1, vs_6_2, vs_6_3, vs_6_4, vs_6_5, vs_6_6, vs_6_7,gs_6_0, gs_6_1, gs_6_2, gs_6_3, gs_6_4, gs_6_5, gs_6_6, gs_6_7,hs_6_0, hs_6_1, hs_6_2, hs_6_3, hs_6_4, hs_6_5, hs_6_6, hs_6_7,ds_6_0, ds_6_1, ds_6_2, ds_6_3, ds_6_4, ds_6_5, ds_6_6, ds_6_7,cs_6_0, cs_6_1, cs_6_2, cs_6_3, cs_6_4, cs_6_5, cs_6_6, cs_6_7,lib_6_3, lib_6_4, lib_6_5, lib_6_6, lib_6_7, lib_6_x,ms_6_5, ms_6_6, ms_6_7,as_6_5, as_6_6, as_6_7") 5161OPTION(prefix_1, "-t", t, Flag, Link_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5162OPTION(prefix_1, "-umbrella", umbrella, Separate, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5163OPTION(prefix_3, "--undefine-macro=", _undefine_macro_EQ, Joined, INVALID, U, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5164OPTION(prefix_3, "--undefine-macro", _undefine_macro, Separate, INVALID, U, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5165OPTION(prefix_1, "-undefined", undefined, JoinedOrSeparate, u_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5166OPTION(prefix_1, "-undef", undef, Flag, u_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 5167 "undef all system defines", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5168OPTION(prefix_1, "-unexported_symbols_list", unexported__symbols__list, Separate, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5169OPTION(prefix_1, "-unoptimized-cfg", analysis_UnoptimizedCFG, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 5170 "Generate unoptimized CFGs for all analyses", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5171OPTION(prefix_3, "--unsigned-char", _unsigned_char, Flag, INVALID, funsigned_char, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5172OPTION(prefix_4, "-unwindlib=", unwindlib_EQ, Joined, INVALID, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 5173 "Unwind library to use", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, "libgcc,unwindlib,platform") 5174OPTION(prefix_3, "--user-dependencies", _user_dependencies, Flag, INVALID, MM, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5175OPTION(prefix_2, "/utf-8", _SLASH_utf8, Flag, cl_ignored_Group, INVALID, nullptr, NoXarchOption, CLOption, 0, 5176 "Set source and runtime encoding to UTF-8 (default)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5177OPTION(prefix_1, "-U", U, JoinedOrSeparate, Preprocessor_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | FlangOption | FC1Option, 0, 5178 "Undefine macro <macro>", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "<macro>", nullptr) 5179OPTION(prefix_2, "/U", _SLASH_U, JoinedOrSeparate, cl_Group, U, nullptr, NoXarchOption, CLOption, 0, 5180 "Undefine macro", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "<macro>", nullptr) 5181OPTION(prefix_1, "-u", u, JoinedOrSeparate, u_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5182OPTION(prefix_2, "/u", _SLASH_u, Flag, cl_Group, INVALID, nullptr, NoXarchOption, CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5183OPTION(prefix_2, "/validate-charset-", _SLASH_validate_charset_, Flag, cl_Group, W_Joined, "no-invalid-source-encoding\0", NoXarchOption, CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5184OPTION(prefix_2, "/validate-charset", _SLASH_validate_charset, Flag, cl_Group, W_Joined, "invalid-source-encoding\0", NoXarchOption, CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5185OPTION(prefix_2, "/validator-version", dxil_validator_version, Separate, dxc_Group, INVALID, nullptr, HelpHidden, DXCOption | DefaultVis | CC1Option | DXCOption, 0, 5186 "Override validator version for module. Format: <major.minor>;Default: DXIL.dll version or current internal version", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5187OPTION(prefix_2, "/vctoolsdir", _SLASH_vctoolsdir, JoinedOrSeparate, cl_Group, INVALID, nullptr, NoXarchOption, CLOption, 0, 5188 "Path to the VCToolChain", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "<dir>", nullptr) 5189OPTION(prefix_2, "/vctoolsversion", _SLASH_vctoolsversion, JoinedOrSeparate, cl_Group, INVALID, nullptr, NoXarchOption, CLOption, 0, 5190 "For use with /winsysroot, defaults to newest found", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5191OPTION(prefix_2, "/Vd", dxc_disable_validation, Flag, dxc_Group, INVALID, nullptr, 0, DXCOption | DXCOption, 0, 5192 "Disable validation", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5193OPTION(prefix_2, "/vd", _SLASH_vd, Joined, cl_Group, vtordisp_mode_EQ, nullptr, NoXarchOption, CLOption, 0, 5194 "Control vtordisp placement", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5195OPTION(prefix_1, "-vectorize-loops", vectorize_loops, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 5196 "Run the Loop vectorization passes", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5197OPTION(prefix_1, "-vectorize-slp", vectorize_slp, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 5198 "Run the SLP vectorization passes", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5199OPTION(prefix_3, "--verbose", _verbose, Flag, INVALID, v, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5200OPTION(prefix_3, "--verify-debug-info", verify_debug_info, Flag, INVALID, INVALID, nullptr, NoXarchOption, DefaultVis, 0, 5201 "Verify the binary representation of debug output", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5202OPTION(prefix_1, "-verify-ignore-unexpected=", verify_ignore_unexpected_EQ, CommaJoined, INVALID, INVALID, nullptr, 0, CC1Option, 0, 5203 "Ignore unexpected diagnostic messages", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5204OPTION(prefix_1, "-verify-ignore-unexpected", verify_ignore_unexpected, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 5205 "Ignore unexpected diagnostic messages", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5206OPTION(prefix_1, "-verify-pch", verify_pch, Flag, Action_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 5207 "Load and verify that a pre-compiled header file is not stale", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5208OPTION(prefix_1, "-verify=", verify_EQ, CommaJoined, INVALID, INVALID, nullptr, 0, CC1Option, 0, 5209 "Verify diagnostic output using comment directives that start with prefixes in the comma-separated sequence <prefixes>", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "<prefixes>", nullptr) 5210OPTION(prefix_1, "-verify", verify, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 5211 "Equivalent to -verify=expected", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5212OPTION(prefix_3, "--version", _version, Flag, INVALID, INVALID, nullptr, 0, DefaultVis | CLOption | DXCOption | FlangOption, 0, 5213 "Print version information", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5214OPTION(prefix_1, "-version", version, Flag, INVALID, INVALID, nullptr, 0, CC1Option | CC1AsOption | FC1Option, 0, 5215 "Print the compiler version", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5216OPTION(prefix_4, "-vfsoverlay", vfsoverlay, JoinedOrSeparate, INVALID, INVALID, nullptr, 0, DefaultVis | CC1Option | CLOption | DXCOption, 0, 5217 "Overlay the virtual filesystem described by file over the real file system. Additionally, pass this overlay file to the linker if it supports it", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5218OPTION(prefix_4, "-via-file-asm", via_file_asm, Flag, internal_debug_Group, INVALID, nullptr, NoXarchOption | HelpHidden, DefaultVis | CLOption | DXCOption, 0, 5219 "Write assembly to file for input to assemble jobs", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5220OPTION(prefix_2, "/vmb", _SLASH_vmb, Flag, cl_Group, INVALID, nullptr, NoXarchOption, CLOption, 0, 5221 "Use a best-case representation method for member pointers", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5222OPTION(prefix_2, "/vmg", _SLASH_vmg, Flag, cl_Group, INVALID, nullptr, NoXarchOption, CLOption, 0, 5223 "Use a most-general representation for member pointers", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5224OPTION(prefix_2, "/vmm", _SLASH_vmm, Flag, cl_Group, INVALID, nullptr, NoXarchOption, CLOption, 0, 5225 "Set the default most-general representation to multiple inheritance", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5226OPTION(prefix_2, "/vms", _SLASH_vms, Flag, cl_Group, INVALID, nullptr, NoXarchOption, CLOption, 0, 5227 "Set the default most-general representation to single inheritance", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5228OPTION(prefix_2, "/vmv", _SLASH_vmv, Flag, cl_Group, INVALID, nullptr, NoXarchOption, CLOption, 0, 5229 "Set the default most-general representation to virtual inheritance", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5230OPTION(prefix_2, "/volatile:iso", _SLASH_volatile_iso, Flag, INVALID, fno_ms_volatile, nullptr, 0, CLOption, 0, 5231 "Volatile loads and stores have standard semantics", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5232OPTION(prefix_2, "/volatile:ms", _SLASH_volatile_ms, Flag, INVALID, fms_volatile, nullptr, 0, CLOption, 0, 5233 "Volatile loads and stores have acquire and release semantics", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5234OPTION(prefix_1, "-vtordisp-mode=", vtordisp_mode_EQ, Joined, INVALID, INVALID, nullptr, 0, CC1Option, 0, 5235 "Control vtordisp placement on win32 targets", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5236OPTION(prefix_1, "-V", V, JoinedOrSeparate, INVALID, INVALID, nullptr, NoXarchOption | Unsupported, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5237OPTION(prefix_2, "/V", _SLASH_V, Flag, cl_Group, INVALID, nullptr, NoXarchOption, CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5238OPTION(prefix_1, "-v", v, Flag, INVALID, INVALID, nullptr, 0, DefaultVis | CC1Option | CLOption | DXCOption | FlangOption, 0, 5239 "Show commands to run and use verbose output", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5240OPTION(prefix_2, "/W0", _SLASH_W0, Flag, cl_Group, w, nullptr, NoXarchOption, CLOption, 0, 5241 "Disable all warnings", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5242OPTION(prefix_2, "/W1", _SLASH_W1, Flag, cl_Group, Wall, nullptr, NoXarchOption, CLOption, 0, 5243 "Enable -Wall", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5244OPTION(prefix_2, "/W2", _SLASH_W2, Flag, cl_Group, Wall, nullptr, NoXarchOption, CLOption, 0, 5245 "Enable -Wall", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5246OPTION(prefix_2, "/W3", _SLASH_W3, Flag, cl_Group, Wall, nullptr, NoXarchOption, CLOption, 0, 5247 "Enable -Wall", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5248OPTION(prefix_2, "/W4", _SLASH_W4, Flag, cl_Group, WCL4, nullptr, NoXarchOption, CLOption, 0, 5249 "Enable -Wall and -Wextra", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5250OPTION(prefix_1, "-Wa,", Wa_COMMA, CommaJoined, INVALID, INVALID, nullptr, 0, DefaultVis, 0, 5251 "Pass the comma separated arguments in <arg> to the assembler", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "<arg>", nullptr) 5252OPTION(prefix_4, "-Waliasing", unsupported_warning_wanonymous_1769, Flag, flang_ignored_w_Group, INVALID, nullptr, Ignored, FlangOption | FlangOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5253OPTION(prefix_1, "-Wall", Wall, Flag, W_Group, INVALID, nullptr, HelpHidden, DefaultVis | CC1Option | FlangOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5254OPTION(prefix_2, "/Wall", _SLASH_Wall, Flag, cl_Group, W_Joined, "everything\0", NoXarchOption, CLOption, 0, 5255 "Enable -Weverything", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5256OPTION(prefix_4, "-Wampersand", unsupported_warning_wanonymous_1770, Flag, flang_ignored_w_Group, INVALID, nullptr, Ignored, FlangOption | FlangOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5257OPTION(prefix_3, "--warn-=", _warn__EQ, Joined, INVALID, W_Joined, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5258OPTION(prefix_3, "--warn-", _warn_, Joined, INVALID, W_Joined, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5259OPTION(prefix_4, "-Warray-bounds", unsupported_warning_wanonymous_1771, Flag, flang_ignored_w_Group, INVALID, nullptr, Ignored, FlangOption | FlangOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5260OPTION(prefix_3, "--wasm-opt", wasm_opt, Flag, m_Group, INVALID, nullptr, 0, DefaultVis | DefaultVis | CLOption, 0, 5261 "Enable the wasm-opt optimizer (default)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5262OPTION(prefix_4, "-Wc-binding-type", unsupported_warning_wanonymous_1772, Flag, flang_ignored_w_Group, INVALID, nullptr, Ignored, FlangOption | FlangOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5263OPTION(prefix_4, "-Wcharacter-truncation", unsupported_warning_wanonymous_1773, Flag, flang_ignored_w_Group, INVALID, nullptr, Ignored, FlangOption | FlangOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5264OPTION(prefix_1, "-WCL4", WCL4, Flag, W_Group, INVALID, nullptr, HelpHidden, DefaultVis | CC1Option, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5265OPTION(prefix_4, "-Wconversion", unsupported_warning_wanonymous_1774, Flag, flang_ignored_w_Group, INVALID, nullptr, Ignored, FlangOption | FlangOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5266OPTION(prefix_1, "-Wdeprecated", Wdeprecated, Flag, W_Group, INVALID, nullptr, HelpHidden, DefaultVis | CC1Option, 0, 5267 "Enable warnings for deprecated constructs and define __DEPRECATED", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5268OPTION(prefix_4, "-Wdo-subscript", unsupported_warning_wanonymous_1775, Flag, flang_ignored_w_Group, INVALID, nullptr, Ignored, FlangOption | FlangOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5269OPTION(prefix_2, "/wd", _SLASH_wd, Joined, cl_compile_Group, INVALID, nullptr, NoXarchOption, CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5270OPTION(prefix_1, "-weak-l", weak_l, Joined, INVALID, INVALID, nullptr, LinkerInput, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5271OPTION(prefix_1, "-weak_framework", weak__framework, Separate, INVALID, INVALID, nullptr, LinkerInput, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5272OPTION(prefix_1, "-weak_library", weak__library, Separate, INVALID, INVALID, nullptr, LinkerInput, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5273OPTION(prefix_1, "-weak_reference_mismatches", weak__reference__mismatches, Separate, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5274OPTION(prefix_4, "-Wextra", unsupported_warning_wanonymous_1768, Flag, flang_ignored_w_Group, INVALID, nullptr, Ignored, FlangOption | FlangOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5275OPTION(prefix_1, "-Wframe-larger-than=", Wframe_larger_than_EQ, Joined, W_value_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5276OPTION(prefix_1, "-Wframe-larger-than", Wframe_larger_than, Flag, INVALID, Wframe_larger_than_EQ, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5277OPTION(prefix_4, "-Wfrontend-loop-interchange", unsupported_warning_wanonymous_1792, Flag, flang_ignored_w_Group, INVALID, nullptr, Ignored, FlangOption | FlangOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5278OPTION(prefix_4, "-Wfunction-elimination", unsupported_warning_wanonymous_1776, Flag, flang_ignored_w_Group, INVALID, nullptr, Ignored, FlangOption | FlangOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5279OPTION(prefix_1, "-whatsloaded", whatsloaded, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5280OPTION(prefix_1, "-why_load", why_load, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5281OPTION(prefix_1, "-whyload", whyload, Flag, INVALID, why_load, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5282OPTION(prefix_4, "-Wimplicit-interface", unsupported_warning_wanonymous_1777, Flag, flang_ignored_w_Group, INVALID, nullptr, Ignored, FlangOption | FlangOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5283OPTION(prefix_4, "-Wimplicit-procedure", unsupported_warning_wanonymous_1778, Flag, flang_ignored_w_Group, INVALID, nullptr, Ignored, FlangOption | FlangOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5284OPTION(prefix_2, "/winsdkdir", _SLASH_winsdkdir, JoinedOrSeparate, cl_Group, INVALID, nullptr, NoXarchOption, CLOption, 0, 5285 "Path to the Windows SDK", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "<dir>", nullptr) 5286OPTION(prefix_2, "/winsdkversion", _SLASH_winsdkversion, JoinedOrSeparate, cl_Group, INVALID, nullptr, NoXarchOption, CLOption, 0, 5287 "Full version of the Windows SDK, defaults to newest found", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5288OPTION(prefix_2, "/winsysroot", _SLASH_winsysroot, JoinedOrSeparate, cl_Group, INVALID, nullptr, NoXarchOption, CLOption, 0, 5289 "Same as \"/diasdkdir <dir>/DIA SDK\" /vctoolsdir <dir>/VC/Tools/MSVC/<vctoolsversion> \"/winsdkdir <dir>/Windows Kits/10\"", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "<dir>", nullptr) 5290OPTION(prefix_4, "-Wintrinsic-shadow", unsupported_warning_wanonymous_1779, Flag, flang_ignored_w_Group, INVALID, nullptr, Ignored, FlangOption | FlangOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5291OPTION(prefix_4, "-Wintrinsics-std", unsupported_warning_wanonymous_1781, Flag, flang_ignored_w_Group, INVALID, nullptr, Ignored, FlangOption | FlangOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5292OPTION(prefix_1, "-Winvalid-constexpr", Winvalid_constexpr, Flag, W_Group, INVALID, nullptr, HelpHidden, DefaultVis | CC1Option | DefaultVis | CC1Option, 0, 5293 "Enable checking of constexpr function bodies for validity within a constant expression context", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5294OPTION(prefix_1, "-Wl,", Wl_COMMA, CommaJoined, Link_Group, INVALID, nullptr, LinkerInput | RenderAsInput, DefaultVis | FlangOption, 0, 5295 "Pass the comma separated arguments in <arg> to the linker", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "<arg>", nullptr) 5296OPTION(prefix_1, "-Wlarge-by-value-copy=", Wlarge_by_value_copy_EQ, Joined, INVALID, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5297OPTION(prefix_1, "-Wlarge-by-value-copy", Wlarge_by_value_copy_def, Flag, INVALID, INVALID, nullptr, HelpHidden, DefaultVis, 0, 5298 "Warn if a function definition returns or accepts an object larger in bytes than a given value", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5299OPTION(prefix_1, "-Wlarger-than-", Wlarger_than_, Joined, INVALID, Wlarger_than_EQ, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5300OPTION(prefix_1, "-Wlarger-than=", Wlarger_than_EQ, Joined, clang_ignored_f_Group, INVALID, nullptr, Ignored, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5301OPTION(prefix_4, "-Wline-truncation", unsupported_warning_wanonymous_1782, Flag, flang_ignored_w_Group, INVALID, nullptr, Ignored, FlangOption | FlangOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5302OPTION(prefix_2, "/WL", _SLASH_WL, Flag, cl_Group, INVALID, nullptr, NoXarchOption, CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5303OPTION(prefix_4, "-Wno-align-commons", unsupported_warning_wanonymous_1783, Flag, flang_ignored_w_Group, INVALID, nullptr, Ignored, FlangOption | FlangOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5304OPTION(prefix_1, "-Wno-deprecated", Wno_deprecated, Flag, W_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5305OPTION(prefix_1, "-Wno-invalid-constexpr", Wno_invalid_constexpr, Flag, W_Group, INVALID, nullptr, HelpHidden, DefaultVis | CC1Option | DefaultVis | CC1Option, 0, 5306 "Disable checking of constexpr function bodies for validity within a constant expression context", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5307OPTION(prefix_1, "-Wno-nonportable-cfstrings", Wno_nonportable_cfstrings, Joined, W_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5308OPTION(prefix_4, "-Wno-overwrite-recursive", unsupported_warning_wanonymous_1784, Flag, flang_ignored_w_Group, INVALID, nullptr, Ignored, FlangOption | FlangOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5309OPTION(prefix_1, "-Wno-rewrite-macros", Wno_rewrite_macros, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 5310 "Silence ObjC rewriting warnings", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5311OPTION(prefix_1, "-Wno-system-headers", Wno_system_headers, Flag, W_Group, INVALID, nullptr, HelpHidden, DefaultVis | CC1Option, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5312OPTION(prefix_4, "-Wno-tabs", unsupported_warning_wanonymous_1785, Flag, flang_ignored_w_Group, INVALID, nullptr, Ignored, FlangOption | FlangOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5313OPTION(prefix_1, "-Wno-write-strings", Wno_write_strings, Flag, W_Group, INVALID, nullptr, HelpHidden, DefaultVis | CC1Option, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5314OPTION(prefix_1, "-Wnonportable-cfstrings", Wnonportable_cfstrings, Joined, W_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5315OPTION(prefix_1, "-working-directory=", working_directory_EQ, Joined, INVALID, working_directory, nullptr, 0, DefaultVis | CC1Option, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5316OPTION(prefix_1, "-working-directory", working_directory, Separate, INVALID, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 5317 "Resolve file paths relative to the specified directory", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5318OPTION(prefix_1, "-Wp,", Wp_COMMA, CommaJoined, Preprocessor_Group, INVALID, nullptr, 0, DefaultVis, 0, 5319 "Pass the comma separated arguments in <arg> to the preprocessor", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "<arg>", nullptr) 5320OPTION(prefix_2, "/Wp64", _SLASH_Wp64, Flag, cl_Group, INVALID, nullptr, NoXarchOption, CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5321OPTION(prefix_4, "-Wreal-q-constant", unsupported_warning_wanonymous_1786, Flag, flang_ignored_w_Group, INVALID, nullptr, Ignored, FlangOption | FlangOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5322OPTION(prefix_4, "-Wrealloc-lhs-all", unsupported_warning_wanonymous_1791, Flag, flang_ignored_w_Group, INVALID, nullptr, Ignored, FlangOption | FlangOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5323OPTION(prefix_4, "-Wrealloc-lhs", unsupported_warning_wanonymous_1790, Flag, flang_ignored_w_Group, INVALID, nullptr, Ignored, FlangOption | FlangOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5324OPTION(prefix_3, "--write-dependencies", _write_dependencies, Flag, INVALID, MD, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5325OPTION(prefix_3, "--write-user-dependencies", _write_user_dependencies, Flag, INVALID, MMD, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5326OPTION(prefix_4, "-Wsurprising", unsupported_warning_wanonymous_1787, Flag, flang_ignored_w_Group, INVALID, nullptr, Ignored, FlangOption | FlangOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5327OPTION(prefix_1, "-Wsystem-headers-in-module=", Wsystem_headers_in_module_EQ, Joined, INVALID, INVALID, nullptr, HelpHidden, DefaultVis | CC1Option, 0, 5328 "Enable -Wsystem-headers when building <module>", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "<module>", nullptr) 5329OPTION(prefix_1, "-Wsystem-headers", Wsystem_headers, Flag, W_Group, INVALID, nullptr, HelpHidden, DefaultVis | CC1Option, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5330OPTION(prefix_4, "-Wtarget-lifetime", unsupported_warning_wanonymous_1793, Flag, flang_ignored_w_Group, INVALID, nullptr, Ignored, FlangOption | FlangOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5331OPTION(prefix_1, "-Wundef-prefix=", Wundef_prefix_EQ, CommaJoined, W_value_Group, INVALID, nullptr, HelpHidden, DefaultVis | CC1Option | CLOption | DXCOption, 0, 5332 "Enable warnings for undefined macros with a prefix in the comma separated list <arg>", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "<arg>", nullptr) 5333OPTION(prefix_4, "-Wunderflow", unsupported_warning_wanonymous_1788, Flag, flang_ignored_w_Group, INVALID, nullptr, Ignored, FlangOption | FlangOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5334OPTION(prefix_4, "-Wunused-parameter", unsupported_warning_wanonymous_1789, Flag, flang_ignored_w_Group, INVALID, nullptr, Ignored, FlangOption | FlangOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5335OPTION(prefix_4, "-Wuse-without-only", unsupported_warning_wanonymous_1780, Flag, flang_ignored_w_Group, INVALID, nullptr, Ignored, FlangOption | FlangOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5336OPTION(prefix_2, "/Wv", _SLASH_Wv_, Joined, cl_ignored_Group, INVALID, nullptr, NoXarchOption | HelpHidden, CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5337OPTION(prefix_1, "-Wwrite-strings", Wwrite_strings, Flag, W_Group, INVALID, nullptr, HelpHidden, DefaultVis | CC1Option, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5338OPTION(prefix_2, "/WX-", _SLASH_WX_, Flag, cl_Group, W_Joined, "no-error\0", NoXarchOption, CLOption, 0, 5339 "Do not treat warnings as errors (default)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5340OPTION(prefix_2, "/WX", _SLASH_WX, Flag, cl_Group, W_Joined, "error\0", NoXarchOption, CLOption, 0, 5341 "Treat warnings as errors", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5342OPTION(prefix_1, "-W", W_Joined, Joined, W_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | CLOption | DXCOption | FC1Option | FlangOption, 0, 5343 "Enable the specified warning", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "<warning>", nullptr) 5344OPTION(prefix_1, "-w", w, Flag, INVALID, INVALID, nullptr, 0, DefaultVis | CC1Option | FlangOption | FC1Option, 0, 5345 "Suppress all warnings", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5346OPTION(prefix_2, "/w", _SLASH_w_flag, Flag, cl_Group, w, nullptr, NoXarchOption, CLOption, 0, 5347 "Disable all warnings", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5348OPTION(prefix_2, "/w", _SLASH_w, Joined, cl_ignored_Group, INVALID, nullptr, NoXarchOption | HelpHidden, CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5349OPTION(prefix_1, "-Xanalyzer", Xanalyzer, Separate, StaticAnalyzer_Group, INVALID, nullptr, 0, DefaultVis, 0, 5350 "Pass <arg> to the static analyzer", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "<arg>", nullptr) 5351OPTION(prefix_1, "-Xarch_device", Xarch_device, Separate, INVALID, INVALID, nullptr, NoXarchOption, DefaultVis, 0, 5352 "Pass <arg> to the CUDA/HIP device compilation", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "<arg>", nullptr) 5353OPTION(prefix_1, "-Xarch_host", Xarch_host, Separate, INVALID, INVALID, nullptr, NoXarchOption, DefaultVis, 0, 5354 "Pass <arg> to the CUDA/HIP host compilation", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "<arg>", nullptr) 5355OPTION(prefix_1, "-Xarch_", Xarch__, JoinedAndSeparate, INVALID, INVALID, nullptr, NoXarchOption, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5356OPTION(prefix_1, "-Xassembler", Xassembler, Separate, CompileOnly_Group, INVALID, nullptr, 0, DefaultVis, 0, 5357 "Pass <arg> to the assembler", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "<arg>", nullptr) 5358OPTION(prefix_1, "-Xclang=", anonymous_54, Joined, CompileOnly_Group, Xclang, nullptr, NoXarchOption, DefaultVis | CLOption | DXCOption, 0, 5359 "Alias for -Xclang", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "<arg>", nullptr) 5360OPTION(prefix_1, "-Xclang", Xclang, Separate, CompileOnly_Group, INVALID, nullptr, NoXarchOption, DefaultVis | CLOption | DXCOption, 0, 5361 "Pass <arg> to clang -cc1", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "<arg>", nullptr) 5362OPTION(prefix_1, "-Xcompiler", anonymous_56, Flag, INVALID, INVALID, nullptr, HelpHidden, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5363OPTION(prefix_1, "-Xcuda-fatbinary", Xcuda_fatbinary, Separate, INVALID, INVALID, nullptr, 0, DefaultVis, 0, 5364 "Pass <arg> to fatbinary invocation", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "<arg>", nullptr) 5365OPTION(prefix_1, "-Xcuda-ptxas", Xcuda_ptxas, Separate, INVALID, INVALID, nullptr, 0, DefaultVis | CLOption, 0, 5366 "Pass <arg> to the ptxas assembler", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "<arg>", nullptr) 5367OPTION(prefix_1, "-Xflang", Xflang, Separate, CompileOnly_Group, INVALID, nullptr, NoXarchOption, FlangOption | CLOption, 0, 5368 "Pass <arg> to the flang compiler", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "<arg>", nullptr) 5369OPTION(prefix_1, "-Xlinker", Xlinker, Separate, Link_Group, INVALID, nullptr, LinkerInput | RenderAsInput, DefaultVis, 0, 5370 "Pass <arg> to the linker", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "<arg>", nullptr) 5371OPTION(prefix_1, "-Xmicrosoft-visualc-tools-root", anonymous_2200, Separate, INVALID, _SLASH_vctoolsdir, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5372OPTION(prefix_1, "-Xmicrosoft-visualc-tools-version", anonymous_2201, Separate, INVALID, _SLASH_vctoolsversion, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5373OPTION(prefix_1, "-Xmicrosoft-windows-sdk-root", anonymous_2202, Separate, INVALID, _SLASH_winsdkdir, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5374OPTION(prefix_1, "-Xmicrosoft-windows-sdk-version", anonymous_2203, Separate, INVALID, _SLASH_winsdkversion, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5375OPTION(prefix_1, "-Xmicrosoft-windows-sys-root", anonymous_2204, Separate, INVALID, _SLASH_winsysroot, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5376OPTION(prefix_1, "-Xoffload-linker", Xoffload_linker, JoinedAndSeparate, Link_Group, INVALID, nullptr, 0, DefaultVis, 0, 5377 "Pass <arg> to the offload linkers or the ones idenfied by -<triple>", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "<triple> <arg>", nullptr) 5378OPTION(prefix_1, "-Xopenmp-target=", Xopenmp_target_EQ, JoinedAndSeparate, CompileOnly_Group, INVALID, nullptr, 0, DefaultVis, 0, 5379 "Pass <arg> to the target offloading toolchain identified by <triple>.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "<triple> <arg>", nullptr) 5380OPTION(prefix_1, "-Xopenmp-target", Xopenmp_target, Separate, CompileOnly_Group, INVALID, nullptr, 0, DefaultVis, 0, 5381 "Pass <arg> to the target offloading toolchain.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "<arg>", nullptr) 5382OPTION(prefix_1, "-Xparser", anonymous_55, Flag, INVALID, INVALID, nullptr, HelpHidden, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5383OPTION(prefix_1, "-Xpreprocessor", Xpreprocessor, Separate, Preprocessor_Group, INVALID, nullptr, 0, DefaultVis, 0, 5384 "Pass <arg> to the preprocessor", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "<arg>", nullptr) 5385OPTION(prefix_1, "-X", X_Flag, Flag, Link_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5386OPTION(prefix_2, "/X", _SLASH_X, Flag, cl_Group, nostdlibinc, nullptr, NoXarchOption, CLOption, 0, 5387 "Do not add %INCLUDE% to include search path", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5388OPTION(prefix_1, "-x", x, JoinedOrSeparate, INVALID, INVALID, nullptr, NoXarchOption, DefaultVis | CC1Option | FlangOption | FC1Option | CLOption, 0, 5389 "Treat subsequent input files as having type <language>", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "<language>", nullptr) 5390OPTION(prefix_2, "/Y-", _SLASH_Y_, Flag, cl_Group, INVALID, nullptr, NoXarchOption, CLOption, 0, 5391 "Disable precompiled headers, overrides /Yc and /Yu", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5392OPTION(prefix_2, "/Yc", _SLASH_Yc, Joined, cl_Group, INVALID, nullptr, NoXarchOption, CLOption, 0, 5393 "Generate a pch file for all code up to and including <filename>", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "<filename>", nullptr) 5394OPTION(prefix_2, "/Yd", _SLASH_Yd, Flag, cl_Group, INVALID, nullptr, NoXarchOption, CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5395OPTION(prefix_2, "/Yl", _SLASH_Yl, Joined, cl_Group, INVALID, nullptr, NoXarchOption, CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5396OPTION(prefix_2, "/Yu", _SLASH_Yu, Joined, cl_Group, INVALID, nullptr, NoXarchOption, CLOption, 0, 5397 "Load a pch file and use it instead of all code up to and including <filename>", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "<filename>", nullptr) 5398OPTION(prefix_1, "-y", y, Joined, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5399OPTION(prefix_1, "-Z-reserved-lib-cckext", Z_reserved_lib_cckext, Flag, reserved_lib_Group, INVALID, nullptr, LinkerInput | NoArgumentUnused | Unsupported | Unsupported, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5400OPTION(prefix_1, "-Z-reserved-lib-stdc++", Z_reserved_lib_stdcxx, Flag, reserved_lib_Group, INVALID, nullptr, LinkerInput | NoArgumentUnused | Unsupported | Unsupported, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5401OPTION(prefix_1, "-Z-Xlinker-no-demangle", Z_Xlinker__no_demangle, Flag, INVALID, INVALID, nullptr, Unsupported | NoArgumentUnused, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5402OPTION(prefix_2, "/Z7", _SLASH_Z7, Flag, cl_Group, g_Flag, nullptr, NoXarchOption, CLOption, 0, 5403 "Enable CodeView debug information in object files", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5404OPTION(prefix_2, "/Za", _SLASH_Za, Flag, cl_Group, INVALID, nullptr, NoXarchOption, CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5405OPTION(prefix_2, "/Zc:__cplusplus", _SLASH_Zc___cplusplus, Flag, cl_ignored_Group, INVALID, nullptr, NoXarchOption, CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5406OPTION(prefix_2, "/Zc:__STDC__", _SLASH_Zc___STDC__, Flag, cl_Group, fms_define_stdc, nullptr, NoXarchOption, CLOption, 0, 5407 "Define __STDC__", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5408OPTION(prefix_2, "/Zc:alignedNew-", _SLASH_Zc_alignedNew_, Flag, cl_Group, fno_aligned_allocation, nullptr, NoXarchOption, CLOption, 0, 5409 "Disable C++17 aligned allocation functions", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5410OPTION(prefix_2, "/Zc:alignedNew", _SLASH_Zc_alignedNew, Flag, cl_Group, faligned_allocation, nullptr, NoXarchOption, CLOption, 0, 5411 "Enable C++17 aligned allocation functions", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5412OPTION(prefix_2, "/Zc:auto", _SLASH_Zc_auto, Flag, cl_ignored_Group, INVALID, nullptr, NoXarchOption, CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5413OPTION(prefix_2, "/Zc:char8_t-", _SLASH_Zc_char8_t_, Flag, cl_Group, fno_char8__t, nullptr, NoXarchOption, CLOption, 0, 5414 "Disable char8_t from c++2a", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5415OPTION(prefix_2, "/Zc:char8_t", _SLASH_Zc_char8_t, Flag, cl_Group, fchar8__t, nullptr, NoXarchOption, CLOption, 0, 5416 "Enable char8_t from C++2a", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5417OPTION(prefix_2, "/Zc:dllexportInlines-", _SLASH_Zc_dllexportInlines_, Flag, cl_Group, INVALID, nullptr, NoXarchOption, CLOption, 0, 5418 "Do not dllexport/dllimport inline member functions of dllexport/import classes", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5419OPTION(prefix_2, "/Zc:dllexportInlines", _SLASH_Zc_dllexportInlines, Flag, cl_Group, INVALID, nullptr, NoXarchOption, CLOption, 0, 5420 "dllexport/dllimport inline member functions of dllexport/import classes (default)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5421OPTION(prefix_2, "/Zc:forScope", _SLASH_Zc_forScope, Flag, cl_ignored_Group, INVALID, nullptr, NoXarchOption, CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5422OPTION(prefix_2, "/Zc:inline", _SLASH_Zc_inline, Flag, cl_ignored_Group, INVALID, nullptr, NoXarchOption, CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5423OPTION(prefix_2, "/Zc:rvalueCast", _SLASH_Zc_rvalueCast, Flag, cl_ignored_Group, INVALID, nullptr, NoXarchOption, CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5424OPTION(prefix_2, "/Zc:sizedDealloc-", _SLASH_Zc_sizedDealloc_, Flag, cl_Group, fno_sized_deallocation, nullptr, NoXarchOption, CLOption, 0, 5425 "Disable C++14 sized global deallocation functions", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5426OPTION(prefix_2, "/Zc:sizedDealloc", _SLASH_Zc_sizedDealloc, Flag, cl_Group, fsized_deallocation, nullptr, NoXarchOption, CLOption, 0, 5427 "Enable C++14 sized global deallocation functions", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5428OPTION(prefix_2, "/Zc:strictStrings", _SLASH_Zc_strictStrings, Flag, cl_Group, W_Joined, "error=c++11-compat-deprecated-writable-strings\0", NoXarchOption, CLOption, 0, 5429 "Treat string literals as const", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5430OPTION(prefix_2, "/Zc:ternary", _SLASH_Zc_ternary, Flag, cl_ignored_Group, INVALID, nullptr, NoXarchOption, CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5431OPTION(prefix_2, "/Zc:threadSafeInit-", _SLASH_Zc_threadSafeInit_, Flag, cl_Group, fno_threadsafe_statics, nullptr, NoXarchOption, CLOption, 0, 5432 "Disable thread-safe initialization of static variables", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5433OPTION(prefix_2, "/Zc:threadSafeInit", _SLASH_Zc_threadSafeInit, Flag, cl_Group, fthreadsafe_statics, nullptr, NoXarchOption, CLOption, 0, 5434 "Enable thread-safe initialization of static variables", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5435OPTION(prefix_2, "/Zc:trigraphs-", _SLASH_Zc_trigraphs_off, Flag, cl_Group, fno_trigraphs, nullptr, NoXarchOption, CLOption, 0, 5436 "Disable trigraphs (default)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5437OPTION(prefix_2, "/Zc:trigraphs", _SLASH_Zc_trigraphs, Flag, cl_Group, ftrigraphs, nullptr, NoXarchOption, CLOption, 0, 5438 "Enable trigraphs", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5439OPTION(prefix_2, "/Zc:twoPhase-", _SLASH_Zc_twoPhase_, Flag, cl_Group, fdelayed_template_parsing, nullptr, NoXarchOption, CLOption, 0, 5440 "Disable two-phase name lookup in templates (default)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5441OPTION(prefix_2, "/Zc:twoPhase", _SLASH_Zc_twoPhase, Flag, cl_Group, fno_delayed_template_parsing, nullptr, NoXarchOption, CLOption, 0, 5442 "Enable two-phase name lookup in templates", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5443OPTION(prefix_2, "/Zc:wchar_t-", _SLASH_Zc_wchar_t_, Flag, cl_Group, INVALID, nullptr, NoXarchOption, CLOption, 0, 5444 "Disable C++ builtin type wchar_t", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5445OPTION(prefix_2, "/Zc:wchar_t", _SLASH_Zc_wchar_t, Flag, cl_Group, INVALID, nullptr, NoXarchOption, CLOption, 0, 5446 "Enable C++ builtin type wchar_t (default)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5447OPTION(prefix_2, "/Zc:", _SLASH_Zc, Joined, cl_Group, INVALID, nullptr, NoXarchOption, CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5448OPTION(prefix_2, "/Ze", _SLASH_Ze, Flag, cl_Group, INVALID, nullptr, NoXarchOption, CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5449OPTION(prefix_2, "/Zg", _SLASH_Zg, Flag, cl_Group, INVALID, nullptr, NoXarchOption, CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5450OPTION(prefix_2, "/ZH:MD5", _SLASH_ZH_MD5, Flag, cl_Group, gsrc_hash_EQ, "md5\0", NoXarchOption, CLOption, 0, 5451 "Use MD5 for file checksums in debug info (default)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5452OPTION(prefix_2, "/ZH:SHA1", _SLASH_ZH_SHA1, Flag, cl_Group, gsrc_hash_EQ, "sha1\0", NoXarchOption, CLOption, 0, 5453 "Use SHA1 for file checksums in debug info", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5454OPTION(prefix_2, "/ZH:SHA_256", _SLASH_ZH_SHA_256, Flag, cl_Group, gsrc_hash_EQ, "sha256\0", NoXarchOption, CLOption, 0, 5455 "Use SHA256 for file checksums in debug info", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5456OPTION(prefix_2, "/ZI", _SLASH_ZI, Flag, cl_Group, INVALID, nullptr, NoXarchOption, CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5457OPTION(prefix_2, "/Zi", _SLASH_Zi, Flag, cl_Group, g_Flag, nullptr, NoXarchOption, CLOption | DXCOption, 0, 5458 "Like /Z7", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5459OPTION(prefix_1, "-Zlinker-input", Zlinker_input, Separate, INVALID, INVALID, nullptr, Unsupported | NoArgumentUnused, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5460OPTION(prefix_2, "/Zl", _SLASH_Zl, Flag, cl_Group, fms_omit_default_lib, nullptr, NoXarchOption, CLOption, 0, 5461 "Do not let object file auto-link default libraries", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5462OPTION(prefix_2, "/Zm", _SLASH_Zm, Joined, cl_ignored_Group, INVALID, nullptr, NoXarchOption | HelpHidden, CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5463OPTION(prefix_2, "/Zo-", _SLASH_Zo_, Flag, cl_ignored_Group, INVALID, nullptr, NoXarchOption, CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5464OPTION(prefix_2, "/Zo", _SLASH_Zo, Flag, cl_ignored_Group, INVALID, nullptr, NoXarchOption, CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5465OPTION(prefix_2, "/Zp", _SLASH_Zp_flag, Flag, cl_Group, fpack_struct_EQ, "1\0", NoXarchOption, CLOption, 0, 5466 "Set default maximum struct packing alignment to 1", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5467OPTION(prefix_2, "/Zp", _SLASH_Zp, Joined, cl_Group, fpack_struct_EQ, nullptr, NoXarchOption, CLOption, 0, 5468 "Set default maximum struct packing alignment", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5469OPTION(prefix_2, "/Zs", _SLASH_Zs, Flag, cl_Group, fsyntax_only, nullptr, NoXarchOption, CLOption, 0, 5470 "Run the preprocessor, parser and semantic analysis stages", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5471OPTION(prefix_2, "/ZW", _SLASH_ZW, Joined, cl_Group, INVALID, nullptr, NoXarchOption, CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5472OPTION(prefix_1, "-Z", Z_Flag, Flag, Link_Group, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5473OPTION(prefix_1, "-z", z, Separate, Link_Group, INVALID, nullptr, LinkerInput, DefaultVis, 0, 5474 "Pass -z <arg> to the linker", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "<arg>", nullptr) 5475OPTION(prefix_3, "--", _DASH_DASH, RemainingArgs, INVALID, INVALID, nullptr, NoXarchOption, DefaultVis | CLOption | DXCOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) 5476#endif // OPTION 5477#ifdef FRONTEND_OPTION_WITH_MARSHALLING 5478FRONTEND_OPTION_WITH_MARSHALLING(prefix_1, "-arcmt-migrate-report-output", arcmt_migrate_report_output, Separate, INVALID, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 5479 "Output path for the plist report", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, FrontendOpts.ARCMTMigrateReportOut, std::string(), false, std::string(), normalizeString, denormalizeString, mergeForwardValue, extractForwardValue, -1) 5480#endif // FRONTEND_OPTION_WITH_MARSHALLING 5481#ifdef FRONTEND_OPTION_WITH_MARSHALLING 5482FRONTEND_OPTION_WITH_MARSHALLING(prefix_1, "-arcmt-migrate-emit-errors", arcmt_migrate_emit_arc_errors, Flag, INVALID, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 5483 "Emit ARC errors even if the migrator can fix them", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, FrontendOpts.ARCMTMigrateEmitARCErrors, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 5484#endif // FRONTEND_OPTION_WITH_MARSHALLING 5485#ifdef FRONTEND_OPTION_WITH_MARSHALLING 5486FRONTEND_OPTION_WITH_MARSHALLING(prefix_1, "-objcmt-migrate-literals", objcmt_migrate_literals, Flag, INVALID, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 5487 "Enable migration to modern ObjC literals", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, FrontendOpts.ObjCMTAction, 0u, false, 0u, makeFlagToValueNormalizer(FrontendOptions::ObjCMT_Literals), denormalizeSimpleFlag, mergeMaskValue, (extractMaskValue<unsigned, decltype(FrontendOptions::ObjCMT_Literals), FrontendOptions::ObjCMT_Literals>), -1) 5488#endif // FRONTEND_OPTION_WITH_MARSHALLING 5489#ifdef FRONTEND_OPTION_WITH_MARSHALLING 5490FRONTEND_OPTION_WITH_MARSHALLING(prefix_1, "-objcmt-migrate-subscripting", objcmt_migrate_subscripting, Flag, INVALID, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 5491 "Enable migration to modern ObjC subscripting", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, FrontendOpts.ObjCMTAction, 0u, false, 0u, makeFlagToValueNormalizer(FrontendOptions::ObjCMT_Subscripting), denormalizeSimpleFlag, mergeMaskValue, (extractMaskValue<unsigned, decltype(FrontendOptions::ObjCMT_Subscripting), FrontendOptions::ObjCMT_Subscripting>), -1) 5492#endif // FRONTEND_OPTION_WITH_MARSHALLING 5493#ifdef FRONTEND_OPTION_WITH_MARSHALLING 5494FRONTEND_OPTION_WITH_MARSHALLING(prefix_1, "-objcmt-migrate-property", objcmt_migrate_property, Flag, INVALID, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 5495 "Enable migration to modern ObjC property", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, FrontendOpts.ObjCMTAction, 0u, false, 0u, makeFlagToValueNormalizer(FrontendOptions::ObjCMT_Property), denormalizeSimpleFlag, mergeMaskValue, (extractMaskValue<unsigned, decltype(FrontendOptions::ObjCMT_Property), FrontendOptions::ObjCMT_Property>), -1) 5496#endif // FRONTEND_OPTION_WITH_MARSHALLING 5497#ifdef FRONTEND_OPTION_WITH_MARSHALLING 5498FRONTEND_OPTION_WITH_MARSHALLING(prefix_1, "-objcmt-migrate-all", objcmt_migrate_all, Flag, INVALID, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 5499 "Enable migration to modern ObjC", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, FrontendOpts.ObjCMTAction, 0u, false, 0u, makeFlagToValueNormalizer(FrontendOptions::ObjCMT_MigrateDecls), denormalizeSimpleFlag, mergeMaskValue, (extractMaskValue<unsigned, decltype(FrontendOptions::ObjCMT_MigrateDecls), FrontendOptions::ObjCMT_MigrateDecls>), -1) 5500#endif // FRONTEND_OPTION_WITH_MARSHALLING 5501#ifdef FRONTEND_OPTION_WITH_MARSHALLING 5502FRONTEND_OPTION_WITH_MARSHALLING(prefix_1, "-objcmt-migrate-readonly-property", objcmt_migrate_readonly_property, Flag, INVALID, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 5503 "Enable migration to modern ObjC readonly property", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, FrontendOpts.ObjCMTAction, 0u, false, 0u, makeFlagToValueNormalizer(FrontendOptions::ObjCMT_ReadonlyProperty), denormalizeSimpleFlag, mergeMaskValue, (extractMaskValue<unsigned, decltype(FrontendOptions::ObjCMT_ReadonlyProperty), FrontendOptions::ObjCMT_ReadonlyProperty>), -1) 5504#endif // FRONTEND_OPTION_WITH_MARSHALLING 5505#ifdef FRONTEND_OPTION_WITH_MARSHALLING 5506FRONTEND_OPTION_WITH_MARSHALLING(prefix_1, "-objcmt-migrate-readwrite-property", objcmt_migrate_readwrite_property, Flag, INVALID, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 5507 "Enable migration to modern ObjC readwrite property", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, FrontendOpts.ObjCMTAction, 0u, false, 0u, makeFlagToValueNormalizer(FrontendOptions::ObjCMT_ReadwriteProperty), denormalizeSimpleFlag, mergeMaskValue, (extractMaskValue<unsigned, decltype(FrontendOptions::ObjCMT_ReadwriteProperty), FrontendOptions::ObjCMT_ReadwriteProperty>), -1) 5508#endif // FRONTEND_OPTION_WITH_MARSHALLING 5509#ifdef FRONTEND_OPTION_WITH_MARSHALLING 5510FRONTEND_OPTION_WITH_MARSHALLING(prefix_1, "-objcmt-migrate-property-dot-syntax", objcmt_migrate_property_dot_syntax, Flag, INVALID, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 5511 "Enable migration of setter/getter messages to property-dot syntax", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, FrontendOpts.ObjCMTAction, 0u, false, 0u, makeFlagToValueNormalizer(FrontendOptions::ObjCMT_PropertyDotSyntax), denormalizeSimpleFlag, mergeMaskValue, (extractMaskValue<unsigned, decltype(FrontendOptions::ObjCMT_PropertyDotSyntax), FrontendOptions::ObjCMT_PropertyDotSyntax>), -1) 5512#endif // FRONTEND_OPTION_WITH_MARSHALLING 5513#ifdef FRONTEND_OPTION_WITH_MARSHALLING 5514FRONTEND_OPTION_WITH_MARSHALLING(prefix_1, "-objcmt-migrate-annotation", objcmt_migrate_annotation, Flag, INVALID, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 5515 "Enable migration to property and method annotations", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, FrontendOpts.ObjCMTAction, 0u, false, 0u, makeFlagToValueNormalizer(FrontendOptions::ObjCMT_Annotation), denormalizeSimpleFlag, mergeMaskValue, (extractMaskValue<unsigned, decltype(FrontendOptions::ObjCMT_Annotation), FrontendOptions::ObjCMT_Annotation>), -1) 5516#endif // FRONTEND_OPTION_WITH_MARSHALLING 5517#ifdef FRONTEND_OPTION_WITH_MARSHALLING 5518FRONTEND_OPTION_WITH_MARSHALLING(prefix_1, "-objcmt-migrate-instancetype", objcmt_migrate_instancetype, Flag, INVALID, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 5519 "Enable migration to infer instancetype for method result type", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, FrontendOpts.ObjCMTAction, 0u, false, 0u, makeFlagToValueNormalizer(FrontendOptions::ObjCMT_Instancetype), denormalizeSimpleFlag, mergeMaskValue, (extractMaskValue<unsigned, decltype(FrontendOptions::ObjCMT_Instancetype), FrontendOptions::ObjCMT_Instancetype>), -1) 5520#endif // FRONTEND_OPTION_WITH_MARSHALLING 5521#ifdef FRONTEND_OPTION_WITH_MARSHALLING 5522FRONTEND_OPTION_WITH_MARSHALLING(prefix_1, "-objcmt-migrate-ns-macros", objcmt_migrate_nsmacros, Flag, INVALID, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 5523 "Enable migration to NS_ENUM/NS_OPTIONS macros", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, FrontendOpts.ObjCMTAction, 0u, false, 0u, makeFlagToValueNormalizer(FrontendOptions::ObjCMT_NsMacros), denormalizeSimpleFlag, mergeMaskValue, (extractMaskValue<unsigned, decltype(FrontendOptions::ObjCMT_NsMacros), FrontendOptions::ObjCMT_NsMacros>), -1) 5524#endif // FRONTEND_OPTION_WITH_MARSHALLING 5525#ifdef FRONTEND_OPTION_WITH_MARSHALLING 5526FRONTEND_OPTION_WITH_MARSHALLING(prefix_1, "-objcmt-migrate-protocol-conformance", objcmt_migrate_protocol_conformance, Flag, INVALID, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 5527 "Enable migration to add protocol conformance on classes", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, FrontendOpts.ObjCMTAction, 0u, false, 0u, makeFlagToValueNormalizer(FrontendOptions::ObjCMT_ProtocolConformance), denormalizeSimpleFlag, mergeMaskValue, (extractMaskValue<unsigned, decltype(FrontendOptions::ObjCMT_ProtocolConformance), FrontendOptions::ObjCMT_ProtocolConformance>), -1) 5528#endif // FRONTEND_OPTION_WITH_MARSHALLING 5529#ifdef FRONTEND_OPTION_WITH_MARSHALLING 5530FRONTEND_OPTION_WITH_MARSHALLING(prefix_1, "-objcmt-atomic-property", objcmt_atomic_property, Flag, INVALID, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 5531 "Make migration to 'atomic' properties", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, FrontendOpts.ObjCMTAction, 0u, false, 0u, makeFlagToValueNormalizer(FrontendOptions::ObjCMT_AtomicProperty), denormalizeSimpleFlag, mergeMaskValue, (extractMaskValue<unsigned, decltype(FrontendOptions::ObjCMT_AtomicProperty), FrontendOptions::ObjCMT_AtomicProperty>), -1) 5532#endif // FRONTEND_OPTION_WITH_MARSHALLING 5533#ifdef FRONTEND_OPTION_WITH_MARSHALLING 5534FRONTEND_OPTION_WITH_MARSHALLING(prefix_1, "-objcmt-returns-innerpointer-property", objcmt_returns_innerpointer_property, Flag, INVALID, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 5535 "Enable migration to annotate property with NS_RETURNS_INNER_POINTER", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, FrontendOpts.ObjCMTAction, 0u, false, 0u, makeFlagToValueNormalizer(FrontendOptions::ObjCMT_ReturnsInnerPointerProperty), denormalizeSimpleFlag, mergeMaskValue, (extractMaskValue<unsigned, decltype(FrontendOptions::ObjCMT_ReturnsInnerPointerProperty), FrontendOptions::ObjCMT_ReturnsInnerPointerProperty>), -1) 5536#endif // FRONTEND_OPTION_WITH_MARSHALLING 5537#ifdef FRONTEND_OPTION_WITH_MARSHALLING 5538FRONTEND_OPTION_WITH_MARSHALLING(prefix_1, "-objcmt-ns-nonatomic-iosonly", objcmt_ns_nonatomic_iosonly, Flag, INVALID, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 5539 "Enable migration to use NS_NONATOMIC_IOSONLY macro for setting property's 'atomic' attribute", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, FrontendOpts.ObjCMTAction, 0u, false, 0u, makeFlagToValueNormalizer(FrontendOptions::ObjCMT_NsAtomicIOSOnlyProperty), denormalizeSimpleFlag, mergeMaskValue, (extractMaskValue<unsigned, decltype(FrontendOptions::ObjCMT_NsAtomicIOSOnlyProperty), FrontendOptions::ObjCMT_NsAtomicIOSOnlyProperty>), -1) 5540#endif // FRONTEND_OPTION_WITH_MARSHALLING 5541#ifdef FRONTEND_OPTION_WITH_MARSHALLING 5542FRONTEND_OPTION_WITH_MARSHALLING(prefix_1, "-objcmt-migrate-designated-init", objcmt_migrate_designated_init, Flag, INVALID, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 5543 "Enable migration to infer NS_DESIGNATED_INITIALIZER for initializer methods", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, FrontendOpts.ObjCMTAction, 0u, false, 0u, makeFlagToValueNormalizer(FrontendOptions::ObjCMT_DesignatedInitializer), denormalizeSimpleFlag, mergeMaskValue, (extractMaskValue<unsigned, decltype(FrontendOptions::ObjCMT_DesignatedInitializer), FrontendOptions::ObjCMT_DesignatedInitializer>), -1) 5544#endif // FRONTEND_OPTION_WITH_MARSHALLING 5545#ifdef FRONTEND_OPTION_WITH_MARSHALLING 5546FRONTEND_OPTION_WITH_MARSHALLING(prefix_1, "-objcmt-allowlist-dir-path=", objcmt_allowlist_dir_path, Joined, INVALID, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 5547 "Only modify files with a filename contained in the provided directory path", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, FrontendOpts.ObjCMTAllowListPath, std::string(), false, std::string(), normalizeString, denormalizeString, mergeForwardValue, extractForwardValue, -1) 5548#endif // FRONTEND_OPTION_WITH_MARSHALLING 5549#ifdef PREPROCESSOR_OUTPUT_OPTION_WITH_MARSHALLING 5550PREPROCESSOR_OUTPUT_OPTION_WITH_MARSHALLING(prefix_1, "-CC", CC, Flag, Preprocessor_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 5551 "Include comments from within macros in preprocessed output", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, PreprocessorOutputOpts.ShowMacroComments, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 5552#endif // PREPROCESSOR_OUTPUT_OPTION_WITH_MARSHALLING 5553#ifdef PREPROCESSOR_OUTPUT_OPTION_WITH_MARSHALLING 5554PREPROCESSOR_OUTPUT_OPTION_WITH_MARSHALLING(prefix_1, "-C", C, Flag, Preprocessor_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 5555 "Include comments in preprocessed output", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, PreprocessorOutputOpts.ShowComments, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 5556#endif // PREPROCESSOR_OUTPUT_OPTION_WITH_MARSHALLING 5557#ifdef DEPENDENCY_OUTPUT_OPTION_WITH_MARSHALLING 5558DEPENDENCY_OUTPUT_OPTION_WITH_MARSHALLING(prefix_1, "-H", H, Flag, Preprocessor_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 5559 "Show header includes and nesting depth", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, DependencyOutputOpts.ShowHeaderIncludes, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 5560#endif // DEPENDENCY_OUTPUT_OPTION_WITH_MARSHALLING 5561#ifdef DEPENDENCY_OUTPUT_OPTION_WITH_MARSHALLING 5562DEPENDENCY_OUTPUT_OPTION_WITH_MARSHALLING(prefix_1, "-fshow-skipped-includes", fshow_skipped_includes, Flag, INVALID, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 5563 "Show skipped includes in -H output.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, DependencyOutputOpts.ShowSkippedHeaderIncludes, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 5564#endif // DEPENDENCY_OUTPUT_OPTION_WITH_MARSHALLING 5565#ifdef DEPENDENCY_OUTPUT_OPTION_WITH_MARSHALLING 5566DEPENDENCY_OUTPUT_OPTION_WITH_MARSHALLING(prefix_1, "-MG", MG, Flag, M_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 5567 "Add missing headers to depfile", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, DependencyOutputOpts.AddMissingHeaderDeps, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 5568#endif // DEPENDENCY_OUTPUT_OPTION_WITH_MARSHALLING 5569#ifdef DEPENDENCY_OUTPUT_OPTION_WITH_MARSHALLING 5570DEPENDENCY_OUTPUT_OPTION_WITH_MARSHALLING(prefix_1, "-MP", MP, Flag, M_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 5571 "Create phony target for each dependency (other than main file)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, DependencyOutputOpts.UsePhonyTargets, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 5572#endif // DEPENDENCY_OUTPUT_OPTION_WITH_MARSHALLING 5573#ifdef DEPENDENCY_OUTPUT_OPTION_WITH_MARSHALLING 5574DEPENDENCY_OUTPUT_OPTION_WITH_MARSHALLING(prefix_1, "-MT", MT, JoinedOrSeparate, M_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 5575 "Specify name of main file output in depfile", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, DependencyOutputOpts.Targets, std::vector<std::string>({}), false, std::vector<std::string>({}), normalizeStringVector, denormalizeStringVector, mergeForwardValue, extractForwardValue, -1) 5576#endif // DEPENDENCY_OUTPUT_OPTION_WITH_MARSHALLING 5577#ifdef DEPENDENCY_OUTPUT_OPTION_WITH_MARSHALLING 5578DEPENDENCY_OUTPUT_OPTION_WITH_MARSHALLING(prefix_1, "-MV", MV, Flag, M_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 5579 "Use NMake/Jom format for the depfile", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, DependencyOutputOpts.OutputFormat, DependencyOutputFormat::Make, false, DependencyOutputFormat::Make, makeFlagToValueNormalizer(DependencyOutputFormat::NMake), denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 5580#endif // DEPENDENCY_OUTPUT_OPTION_WITH_MARSHALLING 5581#ifdef PREPROCESSOR_OUTPUT_OPTION_WITH_MARSHALLING 5582PREPROCESSOR_OUTPUT_OPTION_WITH_MARSHALLING(prefix_1, "-P", P, Flag, Preprocessor_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | FlangOption | FC1Option, 0, 5583 "Disable linemarker output in -E mode", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, PreprocessorOutputOpts.ShowLineMarkers, true, false, true, normalizeSimpleNegativeFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 5584#endif // PREPROCESSOR_OUTPUT_OPTION_WITH_MARSHALLING 5585#ifdef DIAG_OPTION_WITH_MARSHALLING 5586DIAG_OPTION_WITH_MARSHALLING(prefix_1, "-Wsystem-headers-in-module=", Wsystem_headers_in_module_EQ, Joined, INVALID, INVALID, nullptr, HelpHidden, DefaultVis | CC1Option, 0, 5587 "Enable -Wsystem-headers when building <module>", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "<module>", nullptr, true, 0, DiagnosticOpts->SystemHeaderWarningsModules, std::vector<std::string>({}), false, std::vector<std::string>({}), normalizeStringVector, denormalizeStringVector, mergeForwardValue, extractForwardValue, -1) 5588#endif // DIAG_OPTION_WITH_MARSHALLING 5589#ifdef LANG_OPTION_WITH_MARSHALLING 5590LANG_OPTION_WITH_MARSHALLING(prefix_1, "-Wno-invalid-constexpr", Wno_invalid_constexpr, Flag, W_Group, INVALID, nullptr, HelpHidden, DefaultVis | CC1Option | DefaultVis | CC1Option, 0, 5591 "Disable checking of constexpr function bodies for validity within a constant expression context", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->CheckConstexprFunctionBodies, !LangOpts->CPlusPlus23, false, true, makeBooleanOptionNormalizer(false, true, OPT_Winvalid_constexpr), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1) 5592#endif // LANG_OPTION_WITH_MARSHALLING 5593#ifdef LANG_OPTION_WITH_MARSHALLING 5594LANG_OPTION_WITH_MARSHALLING(prefix_1, "-Winvalid-constexpr", Winvalid_constexpr, Flag, W_Group, INVALID, nullptr, HelpHidden, DefaultVis | CC1Option | DefaultVis | CC1Option, 0, 5595 "Enable checking of constexpr function bodies for validity within a constant expression context", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->CheckConstexprFunctionBodies, !LangOpts->CPlusPlus23, false, true, makeBooleanOptionNormalizer(true, false, OPT_Wno_invalid_constexpr), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1) 5596#endif // LANG_OPTION_WITH_MARSHALLING 5597#ifdef DIAG_OPTION_WITH_MARSHALLING 5598DIAG_OPTION_WITH_MARSHALLING(prefix_1, "-Wundef-prefix=", Wundef_prefix_EQ, CommaJoined, W_value_Group, INVALID, nullptr, HelpHidden, DefaultVis | CC1Option | CLOption | DXCOption, 0, 5599 "Enable warnings for undefined macros with a prefix in the comma separated list <arg>", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "<arg>", nullptr, true, 0, DiagnosticOpts->UndefPrefixes, std::vector<std::string>({}), false, std::vector<std::string>({}), normalizeStringVector, denormalizeStringVector, mergeForwardValue, extractForwardValue, -1) 5600#endif // DIAG_OPTION_WITH_MARSHALLING 5601#ifdef LANG_OPTION_WITH_MARSHALLING 5602LANG_OPTION_WITH_MARSHALLING(prefix_1, "-foffload-uniform-block", foffload_uniform_block, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis, 0, 5603 "Assume that kernels are launched with uniform block sizes (default true for CUDA/HIP and false otherwise)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->OffloadUniformBlock, LangOpts->CUDA, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_offload_uniform_block), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1) 5604#endif // LANG_OPTION_WITH_MARSHALLING 5605#ifdef LANG_OPTION_WITH_MARSHALLING 5606LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fno-offload-uniform-block", fno_offload_uniform_block, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis, 0, 5607 "Don't assume that kernels are launched with uniform block sizes (default true for CUDA/HIP and false otherwise)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->OffloadUniformBlock, LangOpts->CUDA, false, false, makeBooleanOptionNormalizer(false, true, OPT_foffload_uniform_block), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1) 5608#endif // LANG_OPTION_WITH_MARSHALLING 5609#ifdef LANG_OPTION_WITH_MARSHALLING 5610LANG_OPTION_WITH_MARSHALLING(prefix_1, "-complex-range=", complex_range_EQ, Joined, f_Group, INVALID, nullptr, 0, CC1Option, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, "full,improved,promoted,basic", true, 0, LangOpts->ComplexRange, LangOptions::CX_Full, false, LangOptions::CX_Full, normalizeSimpleEnum, denormalizeSimpleEnum, mergeForwardValue, extractForwardValue, 0) 5611#endif // LANG_OPTION_WITH_MARSHALLING 5612#ifdef LANG_OPTION_WITH_MARSHALLING 5613LANG_OPTION_WITH_MARSHALLING(prefix_1, "-cl-single-precision-constant", cl_single_precision_constant, Flag, opencl_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 5614 "OpenCL only. Treat double precision floating-point constant as single precision constant.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->SinglePrecisionConstants, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 5615#endif // LANG_OPTION_WITH_MARSHALLING 5616#ifdef CODEGEN_OPTION_WITH_MARSHALLING 5617CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-cl-kernel-arg-info", cl_kernel_arg_info, Flag, opencl_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 5618 "OpenCL only. Generate kernel argument metadata.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.EmitOpenCLArgMetadata, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 5619#endif // CODEGEN_OPTION_WITH_MARSHALLING 5620#ifdef LANG_OPTION_WITH_MARSHALLING 5621LANG_OPTION_WITH_MARSHALLING(prefix_1, "-cl-unsafe-math-optimizations", cl_unsafe_math_optimizations, Flag, opencl_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 5622 "OpenCL only. Allow unsafe floating-point optimizations. Also implies -cl-no-signed-zeros and -cl-mad-enable.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->CLUnsafeMath, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 5623#endif // LANG_OPTION_WITH_MARSHALLING 5624#ifdef LANG_OPTION_WITH_MARSHALLING 5625LANG_OPTION_WITH_MARSHALLING(prefix_1, "-cl-fast-relaxed-math", cl_fast_relaxed_math, Flag, opencl_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 5626 "OpenCL only. Sets -cl-finite-math-only and -cl-unsafe-math-optimizations, and defines __FAST_RELAXED_MATH__.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->FastRelaxedMath, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 5627#endif // LANG_OPTION_WITH_MARSHALLING 5628#ifdef CODEGEN_OPTION_WITH_MARSHALLING 5629CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-cl-mad-enable", cl_mad_enable, Flag, opencl_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 5630 "OpenCL only. Allow use of less precise MAD computations in the generated binary.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.LessPreciseFPMAD, false, false || LangOpts->CLUnsafeMath || LangOpts->FastRelaxedMath, true, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 5631#endif // CODEGEN_OPTION_WITH_MARSHALLING 5632#ifdef LANG_OPTION_WITH_MARSHALLING 5633LANG_OPTION_WITH_MARSHALLING(prefix_1, "-cl-no-signed-zeros", cl_no_signed_zeros, Flag, opencl_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 5634 "OpenCL only. Allow use of less precise no signed zeros computations in the generated binary.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->CLNoSignedZero, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 5635#endif // LANG_OPTION_WITH_MARSHALLING 5636#ifdef CODEGEN_OPTION_WITH_MARSHALLING 5637CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-cl-fp32-correctly-rounded-divide-sqrt", cl_fp32_correctly_rounded_divide_sqrt, Flag, opencl_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 5638 "OpenCL only. Specify that single precision floating-point divide and sqrt used in the program source are correctly rounded.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.OpenCLCorrectlyRoundedDivSqrt, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 5639#endif // CODEGEN_OPTION_WITH_MARSHALLING 5640#ifdef TARGET_OPTION_WITH_MARSHALLING 5641TARGET_OPTION_WITH_MARSHALLING(prefix_1, "-cl-ext=", cl_ext_EQ, CommaJoined, opencl_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 5642 "OpenCL only. Enable or disable OpenCL extensions/optional features. The argument is a comma-separated sequence of one or more extension names, each prefixed by '+' or '-'.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, TargetOpts->OpenCLExtensionsAsWritten, std::vector<std::string>({}), false, std::vector<std::string>({}), normalizeStringVector, denormalizeStringVector, mergeForwardValue, extractForwardValue, -1) 5643#endif // TARGET_OPTION_WITH_MARSHALLING 5644#ifdef LANG_OPTION_WITH_MARSHALLING 5645LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fno-convergent-functions", fno_convergent_functions, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | DefaultVis, 0, 5646 "Assume all functions may be convergent.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->ConvergentFunctions, false, false, true, makeBooleanOptionNormalizer(false, true, OPT_fconvergent_functions), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1) 5647#endif // LANG_OPTION_WITH_MARSHALLING 5648#ifdef LANG_OPTION_WITH_MARSHALLING 5649LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fconvergent-functions", fconvergent_functions, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis, 0, 5650 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->ConvergentFunctions, false, false, true, makeBooleanOptionNormalizer(true, false, OPT_fno_convergent_functions), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1) 5651#endif // LANG_OPTION_WITH_MARSHALLING 5652#ifdef LANG_OPTION_WITH_MARSHALLING 5653LANG_OPTION_WITH_MARSHALLING(prefix_3, "--offload-new-driver", offload_new_driver, Flag, offload_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis | CLOption, 0, 5654 "Use the new driver for offloading compilation.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->OffloadingNewDriver, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 5655#endif // LANG_OPTION_WITH_MARSHALLING 5656#ifdef LANG_OPTION_WITH_MARSHALLING 5657LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fgpu-rdc", fgpu_rdc, Flag, offload_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis | DefaultVis | CLOption, 0, 5658 "Generate relocatable device code, also known as separate compilation mode", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->GPURelocatableDeviceCode, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_gpu_rdc), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1) 5659#endif // LANG_OPTION_WITH_MARSHALLING 5660#ifdef LANG_OPTION_WITH_MARSHALLING 5661LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fno-gpu-rdc", fno_gpu_rdc, Flag, offload_Group, INVALID, nullptr, 0, DefaultVis | DefaultVis | CLOption, 0, 5662 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->GPURelocatableDeviceCode, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_fgpu_rdc), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1) 5663#endif // LANG_OPTION_WITH_MARSHALLING 5664#ifdef LANG_OPTION_WITH_MARSHALLING 5665LANG_OPTION_WITH_MARSHALLING(prefix_1, "-foffload-implicit-host-device-templates", foffload_implicit_host_device_templates, Flag, offload_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis | DefaultVis | CLOption, 0, 5666 "Template functions or specializations without host, device and global attributes have implicit host device attributes (CUDA/HIP only)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->OffloadImplicitHostDeviceTemplates, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_offload_implicit_host_device_templates), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1) 5667#endif // LANG_OPTION_WITH_MARSHALLING 5668#ifdef LANG_OPTION_WITH_MARSHALLING 5669LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fno-offload-implicit-host-device-templates", fno_offload_implicit_host_device_templates, Flag, offload_Group, INVALID, nullptr, 0, DefaultVis | DefaultVis | CLOption, 0, 5670 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->OffloadImplicitHostDeviceTemplates, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_foffload_implicit_host_device_templates), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1) 5671#endif // LANG_OPTION_WITH_MARSHALLING 5672#ifdef LANG_OPTION_WITH_MARSHALLING 5673LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fgpu-default-stream=", fgpu_default_stream_EQ, Joined, offload_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis | CLOption, 0, 5674 "Specify default stream. The default value is 'legacy'. (CUDA/HIP only)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, "legacy,per-thread", true, 0, LangOpts->GPUDefaultStream, LangOptions::GPUDefaultStreamKind::Legacy, false, LangOptions::GPUDefaultStreamKind::Legacy, normalizeSimpleEnum, denormalizeSimpleEnum, mergeForwardValue, extractForwardValue, 1) 5675#endif // LANG_OPTION_WITH_MARSHALLING 5676#ifdef LANG_OPTION_WITH_MARSHALLING 5677LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fgpu-defer-diag", fgpu_defer_diag, Flag, offload_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis | DefaultVis | CLOption, 0, 5678 "Defer host/device related diagnostic messages for CUDA/HIP", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->GPUDeferDiag, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_gpu_defer_diag), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1) 5679#endif // LANG_OPTION_WITH_MARSHALLING 5680#ifdef LANG_OPTION_WITH_MARSHALLING 5681LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fno-gpu-defer-diag", fno_gpu_defer_diag, Flag, offload_Group, INVALID, nullptr, 0, DefaultVis | DefaultVis | DefaultVis | CLOption, 0, 5682 "Don't defer host/device related diagnostic messages for CUDA/HIP", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->GPUDeferDiag, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_fgpu_defer_diag), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1) 5683#endif // LANG_OPTION_WITH_MARSHALLING 5684#ifdef LANG_OPTION_WITH_MARSHALLING 5685LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fgpu-exclude-wrong-side-overloads", fgpu_exclude_wrong_side_overloads, Flag, offload_Group, INVALID, nullptr, HelpHidden, DefaultVis | CC1Option | DefaultVis | CLOption, 0, 5686 "Always exclude wrong side overloads in overloading resolution for CUDA/HIP", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->GPUExcludeWrongSideOverloads, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_gpu_exclude_wrong_side_overloads), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1) 5687#endif // LANG_OPTION_WITH_MARSHALLING 5688#ifdef LANG_OPTION_WITH_MARSHALLING 5689LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fno-gpu-exclude-wrong-side-overloads", fno_gpu_exclude_wrong_side_overloads, Flag, offload_Group, INVALID, nullptr, HelpHidden, DefaultVis | DefaultVis | CLOption, 0, 5690 "Exclude wrong side overloads only if there are same side overloads in overloading resolution for CUDA/HIP", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->GPUExcludeWrongSideOverloads, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_fgpu_exclude_wrong_side_overloads), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1) 5691#endif // LANG_OPTION_WITH_MARSHALLING 5692#ifdef LANG_OPTION_WITH_MARSHALLING 5693LANG_OPTION_WITH_MARSHALLING(prefix_1, "-cuid=", cuid_EQ, Joined, offload_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis | CLOption, 0, 5694 "An ID for compilation unit, which should be the same for the same compilation unit but different for different compilation units. It is used to externalize device-side static variables for single source offloading languages CUDA and HIP so that they can be accessed by the host code of the same compilation unit.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->CUID, std::string(), false, std::string(), normalizeString, denormalizeString, mergeForwardValue, extractForwardValue, -1) 5695#endif // LANG_OPTION_WITH_MARSHALLING 5696#ifdef LANG_OPTION_WITH_MARSHALLING 5697LANG_OPTION_WITH_MARSHALLING(prefix_1, "-foffload-via-llvm", foffload_via_llvm, Flag, offload_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis | DefaultVis | CLOption, 0, 5698 "Use LLVM/Offload as portable offloading runtime.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->OffloadViaLLVM, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_offload_via_llvm), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1) 5699#endif // LANG_OPTION_WITH_MARSHALLING 5700#ifdef LANG_OPTION_WITH_MARSHALLING 5701LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fno-offload-via-llvm", fno_offload_via_llvm, Flag, offload_Group, INVALID, nullptr, 0, DefaultVis | DefaultVis | DefaultVis | CLOption, 0, 5702 "Don't use LLVM/Offload as portable offloading runtime.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->OffloadViaLLVM, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_foffload_via_llvm), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1) 5703#endif // LANG_OPTION_WITH_MARSHALLING 5704#ifdef TARGET_OPTION_WITH_MARSHALLING 5705TARGET_OPTION_WITH_MARSHALLING(prefix_1, "-fcuda-short-ptr", fcuda_short_ptr, Flag, cuda_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis | DefaultVis | CLOption, 0, 5706 "Use 32-bit pointers for accessing const/local/shared address spaces", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, TargetOpts->NVPTXUseShortPointers, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_cuda_short_ptr), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1) 5707#endif // TARGET_OPTION_WITH_MARSHALLING 5708#ifdef TARGET_OPTION_WITH_MARSHALLING 5709TARGET_OPTION_WITH_MARSHALLING(prefix_1, "-fno-cuda-short-ptr", fno_cuda_short_ptr, Flag, cuda_Group, INVALID, nullptr, 0, DefaultVis | DefaultVis | CLOption, 0, 5710 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, TargetOpts->NVPTXUseShortPointers, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_fcuda_short_ptr), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1) 5711#endif // TARGET_OPTION_WITH_MARSHALLING 5712#ifdef TARGET_OPTION_WITH_MARSHALLING 5713TARGET_OPTION_WITH_MARSHALLING(prefix_1, "-mprintf-kind=", mprintf_kind_EQ, Joined, m_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis | CLOption, 0, 5714 "Specify the printf lowering scheme (AMDGPU only), allowed values are \"hostcall\"(printing happens during kernel execution, this scheme relies on hostcalls which require system to support pcie atomics) and \"buffered\"(printing happens after all kernel threads exit, this uses a printf buffer and does not rely on pcie atomic support)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, "hostcall,buffered", true, 0, TargetOpts->AMDGPUPrintfKindVal, TargetOptions::AMDGPUPrintfKind::Hostcall, false, TargetOptions::AMDGPUPrintfKind::Hostcall, normalizeSimpleEnum, denormalizeSimpleEnum, mergeForwardValue, extractForwardValue, 2) 5715#endif // TARGET_OPTION_WITH_MARSHALLING 5716#ifdef LANG_OPTION_WITH_MARSHALLING 5717LANG_OPTION_WITH_MARSHALLING(prefix_3, "--hipstdpar", hipstdpar, Flag, hip_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis | CLOption, 0, 5718 "Enable HIP acceleration for standard parallel algorithms", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->HIPStdPar, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 5719#endif // LANG_OPTION_WITH_MARSHALLING 5720#ifdef LANG_OPTION_WITH_MARSHALLING 5721LANG_OPTION_WITH_MARSHALLING(prefix_3, "--hipstdpar-interpose-alloc", hipstdpar_interpose_alloc, Flag, hip_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis | CLOption, 0, 5722 "Replace all memory allocation / deallocation calls with hipManagedMalloc / hipFree equivalents", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->HIPStdParInterposeAlloc, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 5723#endif // LANG_OPTION_WITH_MARSHALLING 5724#ifdef LANG_OPTION_WITH_MARSHALLING 5725LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fhip-new-launch-api", fhip_new_launch_api, Flag, hip_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis | DefaultVis | CLOption, 0, 5726 "Use new kernel launching API for HIP", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->HIPUseNewLaunchAPI, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_hip_new_launch_api), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1) 5727#endif // LANG_OPTION_WITH_MARSHALLING 5728#ifdef LANG_OPTION_WITH_MARSHALLING 5729LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fno-hip-new-launch-api", fno_hip_new_launch_api, Flag, hip_Group, INVALID, nullptr, 0, DefaultVis | DefaultVis | DefaultVis | CLOption, 0, 5730 "Don't use new kernel launching API for HIP", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->HIPUseNewLaunchAPI, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_fhip_new_launch_api), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1) 5731#endif // LANG_OPTION_WITH_MARSHALLING 5732#ifdef CODEGEN_OPTION_WITH_MARSHALLING 5733CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-fhip-fp32-correctly-rounded-divide-sqrt", fhip_fp32_correctly_rounded_divide_sqrt, Flag, hip_Group, INVALID, nullptr, 0, DefaultVis | DefaultVis | DefaultVis | CLOption, 0, 5734 "Specify that single precision floating-point divide and sqrt used in the program source are correctly rounded (HIP device compilation only)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, LangOpts->HIP, 0, CodeGenOpts.HIPCorrectlyRoundedDivSqrt, true, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_hip_fp32_correctly_rounded_divide_sqrt), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1) 5735#endif // CODEGEN_OPTION_WITH_MARSHALLING 5736#ifdef CODEGEN_OPTION_WITH_MARSHALLING 5737CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-fno-hip-fp32-correctly-rounded-divide-sqrt", fno_hip_fp32_correctly_rounded_divide_sqrt, Flag, hip_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis | DefaultVis | CLOption, 0, 5738 "Don't specify that single precision floating-point divide and sqrt used in the program source are correctly rounded (HIP device compilation only)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, LangOpts->HIP, 0, CodeGenOpts.HIPCorrectlyRoundedDivSqrt, true, false, false, makeBooleanOptionNormalizer(false, true, OPT_fhip_fp32_correctly_rounded_divide_sqrt), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1) 5739#endif // CODEGEN_OPTION_WITH_MARSHALLING 5740#ifdef CODEGEN_OPTION_WITH_MARSHALLING 5741CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-fhip-kernel-arg-name", fhip_kernel_arg_name, Flag, hip_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis | DefaultVis | CLOption, 0, 5742 "Specify that kernel argument names are preserved (HIP only)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, LangOpts->HIP, 0, CodeGenOpts.HIPSaveKernelArgName, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_hip_kernel_arg_name), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1) 5743#endif // CODEGEN_OPTION_WITH_MARSHALLING 5744#ifdef CODEGEN_OPTION_WITH_MARSHALLING 5745CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-fno-hip-kernel-arg-name", fno_hip_kernel_arg_name, Flag, hip_Group, INVALID, nullptr, 0, DefaultVis | DefaultVis | DefaultVis | CLOption, 0, 5746 "Don't specify that kernel argument names are preserved (HIP only)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, LangOpts->HIP, 0, CodeGenOpts.HIPSaveKernelArgName, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_fhip_kernel_arg_name), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1) 5747#endif // CODEGEN_OPTION_WITH_MARSHALLING 5748#ifdef LANG_OPTION_WITH_MARSHALLING 5749LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fgpu-allow-device-init", fgpu_allow_device_init, Flag, hip_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis | DefaultVis | CLOption, 0, 5750 "Allow device side init function in HIP (experimental)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, LangOpts->HIP, 0, LangOpts->GPUAllowDeviceInit, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_gpu_allow_device_init), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1) 5751#endif // LANG_OPTION_WITH_MARSHALLING 5752#ifdef LANG_OPTION_WITH_MARSHALLING 5753LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fno-gpu-allow-device-init", fno_gpu_allow_device_init, Flag, hip_Group, INVALID, nullptr, 0, DefaultVis | DefaultVis | DefaultVis | CLOption, 0, 5754 "Don't allow device side init function in HIP (experimental)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, LangOpts->HIP, 0, LangOpts->GPUAllowDeviceInit, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_fgpu_allow_device_init), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1) 5755#endif // LANG_OPTION_WITH_MARSHALLING 5756#ifdef LANG_OPTION_WITH_MARSHALLING 5757LANG_OPTION_WITH_MARSHALLING(prefix_3, "--gpu-max-threads-per-block=", gpu_max_threads_per_block_EQ, Joined, hip_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis | CLOption, 0, 5758 "Default max threads per block for kernel launch bounds for HIP", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, LangOpts->HIP, 0, LangOpts->GPUMaxThreadsPerBlock, 1024, false, 1024, normalizeStringIntegral<unsigned>, denormalizeString<unsigned>, mergeForwardValue, extractForwardValue, -1) 5759#endif // LANG_OPTION_WITH_MARSHALLING 5760#ifdef PREPROCESSOR_OUTPUT_OPTION_WITH_MARSHALLING 5761PREPROCESSOR_OUTPUT_OPTION_WITH_MARSHALLING(prefix_1, "-dI", dI, Flag, d_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 5762 "Print include directives in -E mode in addition to normal output", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, PreprocessorOutputOpts.ShowIncludeDirectives, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 5763#endif // PREPROCESSOR_OUTPUT_OPTION_WITH_MARSHALLING 5764#ifdef PREPROCESSOR_OUTPUT_OPTION_WITH_MARSHALLING 5765PREPROCESSOR_OUTPUT_OPTION_WITH_MARSHALLING(prefix_1, "-dE", dE, Flag, d_Group, INVALID, nullptr, 0, CC1Option, 0, 5766 "Print embed directives in -E mode in addition to normal output", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, PreprocessorOutputOpts.ShowEmbedDirectives, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 5767#endif // PREPROCESSOR_OUTPUT_OPTION_WITH_MARSHALLING 5768#ifdef DEPENDENCY_OUTPUT_OPTION_WITH_MARSHALLING 5769DEPENDENCY_OUTPUT_OPTION_WITH_MARSHALLING(prefix_1, "-dependency-file", dependency_file, Separate, INVALID, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 5770 "Filename (or -) to write dependency output to", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, DependencyOutputOpts.OutputFile, std::string(), false, std::string(), normalizeString, denormalizeString, mergeForwardValue, extractForwardValue, -1) 5771#endif // DEPENDENCY_OUTPUT_OPTION_WITH_MARSHALLING 5772#ifdef DEPENDENCY_OUTPUT_OPTION_WITH_MARSHALLING 5773DEPENDENCY_OUTPUT_OPTION_WITH_MARSHALLING(prefix_1, "-dependency-dot", dependency_dot, Separate, INVALID, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 5774 "Filename to write DOT-formatted header dependencies to", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, DependencyOutputOpts.DOTOutputFile, std::string(), false, std::string(), normalizeString, denormalizeString, mergeForwardValue, extractForwardValue, -1) 5775#endif // DEPENDENCY_OUTPUT_OPTION_WITH_MARSHALLING 5776#ifdef DEPENDENCY_OUTPUT_OPTION_WITH_MARSHALLING 5777DEPENDENCY_OUTPUT_OPTION_WITH_MARSHALLING(prefix_1, "-module-dependency-dir", module_dependency_dir, Separate, INVALID, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 5778 "Directory to dump module dependencies to", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, DependencyOutputOpts.ModuleDependencyOutputDir, std::string(), false, std::string(), normalizeString, denormalizeString, mergeForwardValue, extractForwardValue, -1) 5779#endif // DEPENDENCY_OUTPUT_OPTION_WITH_MARSHALLING 5780#ifdef FRONTEND_OPTION_WITH_MARSHALLING 5781FRONTEND_OPTION_WITH_MARSHALLING(prefix_3, "--product-name=", product_name_EQ, Joined, INVALID, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, FrontendOpts.ProductName, std::string(), false, std::string(), normalizeString, denormalizeString, mergeForwardValue, extractForwardValue, -1) 5782#endif // FRONTEND_OPTION_WITH_MARSHALLING 5783#ifdef FRONTEND_OPTION_WITH_MARSHALLING 5784FRONTEND_OPTION_WITH_MARSHALLING(prefix_1, "-emit-symbol-graph", emit_symbol_graph, Flag, INVALID, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 5785 "Generate Extract API information as a side effect of compilation.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, FrontendOpts.EmitSymbolGraph, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 5786#endif // FRONTEND_OPTION_WITH_MARSHALLING 5787#ifdef FRONTEND_OPTION_WITH_MARSHALLING 5788FRONTEND_OPTION_WITH_MARSHALLING(prefix_3, "--emit-extension-symbol-graphs", emit_extension_symbol_graphs, Flag, INVALID, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 5789 "Generate additional symbol graphs for extended modules.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, FrontendOpts.EmitExtensionSymbolGraphs, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 5790#endif // FRONTEND_OPTION_WITH_MARSHALLING 5791#ifdef FRONTEND_OPTION_WITH_MARSHALLING 5792FRONTEND_OPTION_WITH_MARSHALLING(prefix_3, "--extract-api-ignores=", extract_api_ignores_EQ, CommaJoined, INVALID, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 5793 "Comma separated list of files containing a new line separated list of API symbols to ignore when extracting API information.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, FrontendOpts.ExtractAPIIgnoresFileList, std::vector<std::string>({}), false, std::vector<std::string>({}), normalizeStringVector, denormalizeStringVector, mergeForwardValue, extractForwardValue, -1) 5794#endif // FRONTEND_OPTION_WITH_MARSHALLING 5795#ifdef FRONTEND_OPTION_WITH_MARSHALLING 5796FRONTEND_OPTION_WITH_MARSHALLING(prefix_3, "--symbol-graph-dir=", symbol_graph_dir_EQ, Joined, INVALID, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 5797 "Directory in which to emit symbol graphs.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, FrontendOpts.SymbolGraphOutputDir, std::string(), false, std::string(), normalizeString, denormalizeString, mergeForwardValue, extractForwardValue, -1) 5798#endif // FRONTEND_OPTION_WITH_MARSHALLING 5799#ifdef FRONTEND_OPTION_WITH_MARSHALLING 5800FRONTEND_OPTION_WITH_MARSHALLING(prefix_3, "--pretty-sgf", emit_pretty_sgf, Flag, INVALID, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 5801 "Emit pretty printed symbol graphs", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, FrontendOpts.EmitPrettySymbolGraphs, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 5802#endif // FRONTEND_OPTION_WITH_MARSHALLING 5803#ifdef FRONTEND_OPTION_WITH_MARSHALLING 5804FRONTEND_OPTION_WITH_MARSHALLING(prefix_3, "--emit-sgf-symbol-labels-for-testing", emit_sgf_symbol_labels_for_testing, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, FrontendOpts.EmitSymbolGraphSymbolLabelsForTesting, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 5805#endif // FRONTEND_OPTION_WITH_MARSHALLING 5806#ifdef LANG_OPTION_WITH_MARSHALLING 5807LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fmax-tokens=", fmax_tokens_EQ, Joined, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 5808 "Max total number of preprocessed tokens for -Wmax-tokens.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->MaxTokens, 0, false, 0, normalizeStringIntegral<unsigned>, denormalizeString<unsigned>, mergeForwardValue, extractForwardValue, -1) 5809#endif // LANG_OPTION_WITH_MARSHALLING 5810#ifdef LANG_OPTION_WITH_MARSHALLING 5811LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fno-access-control", fno_access_control, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis, 0, 5812 "Disable C++ access control", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->AccessControl, true, false, true, makeBooleanOptionNormalizer(false, true, OPT_faccess_control), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1) 5813#endif // LANG_OPTION_WITH_MARSHALLING 5814#ifdef LANG_OPTION_WITH_MARSHALLING 5815LANG_OPTION_WITH_MARSHALLING(prefix_1, "-faccess-control", faccess_control, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, 5816 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->AccessControl, true, false, true, makeBooleanOptionNormalizer(true, false, OPT_fno_access_control), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1) 5817#endif // LANG_OPTION_WITH_MARSHALLING 5818#ifdef CODEGEN_OPTION_WITH_MARSHALLING 5819CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-falign-loops=", falign_loops_EQ, Joined, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 5820 "N must be a power of two. Align loops to the boundary", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "<N>", nullptr, true, 0, CodeGenOpts.LoopAlignment, 0, false, 0, normalizeStringIntegral<unsigned>, denormalizeString<unsigned>, mergeForwardValue, extractForwardValue, -1) 5821#endif // CODEGEN_OPTION_WITH_MARSHALLING 5822#ifdef LANG_OPTION_WITH_MARSHALLING 5823LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fallow-editor-placeholders", fallow_editor_placeholders, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis, 0, 5824 "Treat editor placeholders as valid source code", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->AllowEditorPlaceholders, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_allow_editor_placeholders), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1) 5825#endif // LANG_OPTION_WITH_MARSHALLING 5826#ifdef LANG_OPTION_WITH_MARSHALLING 5827LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fno-allow-editor-placeholders", fno_allow_editor_placeholders, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, 5828 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->AllowEditorPlaceholders, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_fallow_editor_placeholders), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1) 5829#endif // LANG_OPTION_WITH_MARSHALLING 5830#ifdef LANG_OPTION_WITH_MARSHALLING 5831LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fapple-kext", fapple_kext, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 5832 "Use Apple's kernel extensions ABI", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->AppleKext, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 5833#endif // LANG_OPTION_WITH_MARSHALLING 5834#ifdef LANG_OPTION_WITH_MARSHALLING 5835LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fstrict-flex-arrays=", fstrict_flex_arrays_EQ, Joined, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 5836 "Enable optimizations based on the strict definition of flexible arrays", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "<n>", "0,1,2,3", true, 0, LangOpts->StrictFlexArraysLevel, LangOptions::StrictFlexArraysLevelKind::Default, false, LangOptions::StrictFlexArraysLevelKind::Default, normalizeSimpleEnum, denormalizeSimpleEnum, mergeForwardValue, extractForwardValue, 3) 5837#endif // LANG_OPTION_WITH_MARSHALLING 5838#ifdef LANG_OPTION_WITH_MARSHALLING 5839LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fapple-pragma-pack", fapple_pragma_pack, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis, 0, 5840 "Enable Apple gcc-compatible #pragma pack handling", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->ApplePragmaPack, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_apple_pragma_pack), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1) 5841#endif // LANG_OPTION_WITH_MARSHALLING 5842#ifdef LANG_OPTION_WITH_MARSHALLING 5843LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fno-apple-pragma-pack", fno_apple_pragma_pack, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, 5844 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->ApplePragmaPack, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_fapple_pragma_pack), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1) 5845#endif // LANG_OPTION_WITH_MARSHALLING 5846#ifdef LANG_OPTION_WITH_MARSHALLING 5847LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fxl-pragma-pack", fxl_pragma_pack, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis, 0, 5848 "Enable IBM XL #pragma pack handling", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->XLPragmaPack, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_xl_pragma_pack), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1) 5849#endif // LANG_OPTION_WITH_MARSHALLING 5850#ifdef LANG_OPTION_WITH_MARSHALLING 5851LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fno-xl-pragma-pack", fno_xl_pragma_pack, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, 5852 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->XLPragmaPack, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_fxl_pragma_pack), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1) 5853#endif // LANG_OPTION_WITH_MARSHALLING 5854#ifdef CODEGEN_OPTION_WITH_MARSHALLING 5855CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-fassume-unique-vtables", fassume_unique_vtables, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CLOption, 0, 5856 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.AssumeUniqueVTables, true, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_assume_unique_vtables), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1) 5857#endif // CODEGEN_OPTION_WITH_MARSHALLING 5858#ifdef CODEGEN_OPTION_WITH_MARSHALLING 5859CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-fno-assume-unique-vtables", fno_assume_unique_vtables, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis | CLOption, 0, 5860 "Disable optimizations based on vtable pointer identity", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.AssumeUniqueVTables, true, false, false, makeBooleanOptionNormalizer(false, true, OPT_fassume_unique_vtables), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1) 5861#endif // CODEGEN_OPTION_WITH_MARSHALLING 5862#ifdef LANG_OPTION_WITH_MARSHALLING 5863LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fdouble-square-bracket-attributes", fdouble_square_bracket_attributes, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, 5864 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->DoubleSquareBracketAttributes, true, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_double_square_bracket_attributes), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1) 5865#endif // LANG_OPTION_WITH_MARSHALLING 5866#ifdef LANG_OPTION_WITH_MARSHALLING 5867LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fno-double-square-bracket-attributes", fno_double_square_bracket_attributes, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, 5868 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->DoubleSquareBracketAttributes, true, false, false, makeBooleanOptionNormalizer(false, true, OPT_fdouble_square_bracket_attributes), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1) 5869#endif // LANG_OPTION_WITH_MARSHALLING 5870#ifdef LANG_OPTION_WITH_MARSHALLING 5871LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fexperimental-late-parse-attributes", fexperimental_late_parse_attributes, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | DefaultVis | CC1Option, 0, 5872 "Enable experimental late parsing of attributes", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->ExperimentalLateParseAttributes, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_experimental_late_parse_attributes), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1) 5873#endif // LANG_OPTION_WITH_MARSHALLING 5874#ifdef LANG_OPTION_WITH_MARSHALLING 5875LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fno-experimental-late-parse-attributes", fno_experimental_late_parse_attributes, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | DefaultVis | CC1Option, 0, 5876 "Disable experimental late parsing of attributes", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->ExperimentalLateParseAttributes, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_fexperimental_late_parse_attributes), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1) 5877#endif // LANG_OPTION_WITH_MARSHALLING 5878#ifdef CODEGEN_OPTION_WITH_MARSHALLING 5879CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-fno-autolink", fno_autolink, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis, 0, 5880 "Disable generation of linker directives for automatic library linking", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.Autolink, true, false, true, makeBooleanOptionNormalizer(false, true, OPT_fautolink), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1) 5881#endif // CODEGEN_OPTION_WITH_MARSHALLING 5882#ifdef CODEGEN_OPTION_WITH_MARSHALLING 5883CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-fautolink", fautolink, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, 5884 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.Autolink, true, false, true, makeBooleanOptionNormalizer(true, false, OPT_fno_autolink), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1) 5885#endif // CODEGEN_OPTION_WITH_MARSHALLING 5886#ifdef CODEGEN_OPTION_WITH_MARSHALLING 5887CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-fno-auto-import", fno_auto_import, Flag, f_Group, INVALID, nullptr, TargetSpecific, DefaultVis | CC1Option | DefaultVis, 0, 5888 "MinGW specific. Disable support for automatic dllimport in code generation and linking", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.AutoImport, true, false, true, makeBooleanOptionNormalizer(false, true, OPT_fauto_import), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1) 5889#endif // CODEGEN_OPTION_WITH_MARSHALLING 5890#ifdef CODEGEN_OPTION_WITH_MARSHALLING 5891CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-fauto-import", fauto_import, Flag, f_Group, INVALID, nullptr, TargetSpecific, DefaultVis, 0, 5892 "MinGW specific. Enable code generation support for automatic dllimport, and enable support for it in the linker. Enabled by default.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.AutoImport, true, false, true, makeBooleanOptionNormalizer(true, false, OPT_fno_auto_import), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1) 5893#endif // CODEGEN_OPTION_WITH_MARSHALLING 5894#ifdef LANG_OPTION_WITH_MARSHALLING 5895LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fcoroutines", fcoroutines, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis, 0, 5896 "Enable support for the C++ Coroutines", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->Coroutines, LangOpts->CPlusPlus20, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_coroutines), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1) 5897#endif // LANG_OPTION_WITH_MARSHALLING 5898#ifdef LANG_OPTION_WITH_MARSHALLING 5899LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fno-coroutines", fno_coroutines, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, 5900 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->Coroutines, LangOpts->CPlusPlus20, false, false, makeBooleanOptionNormalizer(false, true, OPT_fcoroutines), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1) 5901#endif // LANG_OPTION_WITH_MARSHALLING 5902#ifdef LANG_OPTION_WITH_MARSHALLING 5903LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fcoro-aligned-allocation", fcoro_aligned_allocation, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis, 0, 5904 "Prefer aligned allocation for C++ Coroutines", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->CoroAlignedAllocation, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_coro_aligned_allocation), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1) 5905#endif // LANG_OPTION_WITH_MARSHALLING 5906#ifdef LANG_OPTION_WITH_MARSHALLING 5907LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fno-coro-aligned-allocation", fno_coro_aligned_allocation, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, 5908 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->CoroAlignedAllocation, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_fcoro_aligned_allocation), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1) 5909#endif // LANG_OPTION_WITH_MARSHALLING 5910#ifdef LANG_OPTION_WITH_MARSHALLING 5911LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fexperimental-library", fexperimental_library, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | CLOption | DefaultVis, 0, 5912 "Control whether unstable and experimental library features are enabled. This option enables various library features that are either experimental (also known as TSes), or have been but are not stable yet in the selected Standard Library implementation. It is not recommended to use this option in production code, since neither ABI nor API stability are guaranteed. This is intended to provide a preview of features that will ship in the future for experimentation purposes", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->ExperimentalLibrary, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_experimental_library), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1) 5913#endif // LANG_OPTION_WITH_MARSHALLING 5914#ifdef LANG_OPTION_WITH_MARSHALLING 5915LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fno-experimental-library", fno_experimental_library, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, 5916 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->ExperimentalLibrary, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_fexperimental_library), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1) 5917#endif // LANG_OPTION_WITH_MARSHALLING 5918#ifdef CODEGEN_OPTION_WITH_MARSHALLING 5919CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-fembed-offload-object=", fembed_offload_object_EQ, Joined, f_Group, INVALID, nullptr, NoXarchOption, DefaultVis | CC1Option | FC1Option, 0, 5920 "Embed Offloading device-side binary into host object file as a section.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.OffloadObjects, std::vector<std::string>({}), false, std::vector<std::string>({}), normalizeStringVector, denormalizeStringVector, mergeForwardValue, extractForwardValue, -1) 5921#endif // CODEGEN_OPTION_WITH_MARSHALLING 5922#ifdef CODEGEN_OPTION_WITH_MARSHALLING 5923CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-fembed-bitcode=", fembed_bitcode_EQ, Joined, f_Group, INVALID, nullptr, NoXarchOption, DefaultVis | CC1Option | CC1AsOption, 0, 5924 "Embed LLVM bitcode", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "<option>", "off,all,bitcode,marker", true, 0, CodeGenOpts.EmbedBitcode, CodeGenOptions::Embed_Off, false, CodeGenOptions::Embed_Off, normalizeSimpleEnum, denormalizeSimpleEnum, mergeForwardValue, extractForwardValue, 4) 5925#endif // CODEGEN_OPTION_WITH_MARSHALLING 5926#ifdef LANG_OPTION_WITH_MARSHALLING 5927LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fno-gnu-inline-asm", fno_gnu_inline_asm, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis, 0, 5928 "Disable GNU style inline asm", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->GNUAsm, true, false, true, makeBooleanOptionNormalizer(false, true, OPT_fgnu_inline_asm), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1) 5929#endif // LANG_OPTION_WITH_MARSHALLING 5930#ifdef LANG_OPTION_WITH_MARSHALLING 5931LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fgnu-inline-asm", fgnu_inline_asm, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, 5932 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->GNUAsm, true, false, true, makeBooleanOptionNormalizer(true, false, OPT_fno_gnu_inline_asm), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1) 5933#endif // LANG_OPTION_WITH_MARSHALLING 5934#ifdef CODEGEN_OPTION_WITH_MARSHALLING 5935CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-fprofile-sample-use=", fprofile_sample_use_EQ, Joined, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 5936 "Enable sample-based profile guided optimizations", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.SampleProfileFile, std::string(), false, std::string(), normalizeString, denormalizeString, mergeForwardValue, extractForwardValue, -1) 5937#endif // CODEGEN_OPTION_WITH_MARSHALLING 5938#ifdef CODEGEN_OPTION_WITH_MARSHALLING 5939CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-fprofile-sample-accurate", fprofile_sample_accurate, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 5940 "Specifies that the sample profile is accurate", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.ProfileSampleAccurate, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 5941#endif // CODEGEN_OPTION_WITH_MARSHALLING 5942#ifdef CODEGEN_OPTION_WITH_MARSHALLING 5943CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-fdebug-compilation-dir=", fdebug_compilation_dir_EQ, Joined, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | CC1AsOption | CLOption | DXCOption, 0, 5944 "The compilation directory to embed in the debug info", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.DebugCompilationDir, std::string(), false, std::string(), normalizeString, denormalizeString, mergeForwardValue, extractForwardValue, -1) 5945#endif // CODEGEN_OPTION_WITH_MARSHALLING 5946#ifdef CODEGEN_OPTION_WITH_MARSHALLING 5947CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-fcoverage-compilation-dir=", fcoverage_compilation_dir_EQ, Joined, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | CC1AsOption | CLOption, 0, 5948 "The compilation directory to embed in the coverage mapping.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.CoverageCompilationDir, std::string(), false, std::string(), normalizeString, denormalizeString, mergeForwardValue, extractForwardValue, -1) 5949#endif // CODEGEN_OPTION_WITH_MARSHALLING 5950#ifdef CODEGEN_OPTION_WITH_MARSHALLING 5951CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-fdebug-info-for-profiling", fdebug_info_for_profiling, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis, 0, 5952 "Emit extra debug info to make sample profile more accurate", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.DebugInfoForProfiling, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_debug_info_for_profiling), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1) 5953#endif // CODEGEN_OPTION_WITH_MARSHALLING 5954#ifdef CODEGEN_OPTION_WITH_MARSHALLING 5955CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-fno-debug-info-for-profiling", fno_debug_info_for_profiling, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, 5956 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.DebugInfoForProfiling, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_fdebug_info_for_profiling), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1) 5957#endif // CODEGEN_OPTION_WITH_MARSHALLING 5958#ifdef CODEGEN_OPTION_WITH_MARSHALLING 5959CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-fprofile-remapping-file=", fprofile_remapping_file_EQ, Joined, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | CLOption, 0, 5960 "Use the remappings described in <file> to match the profile data against names in the program", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "<file>", nullptr, true, 0, CodeGenOpts.ProfileRemappingFile, std::string(), false, std::string(), normalizeString, denormalizeString, mergeForwardValue, extractForwardValue, -1) 5961#endif // CODEGEN_OPTION_WITH_MARSHALLING 5962#ifdef CODEGEN_OPTION_WITH_MARSHALLING 5963CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-fcoverage-mapping", fcoverage_mapping, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis | CLOption, 0, 5964 "Generate coverage mapping to enable code coverage analysis", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.CoverageMapping, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_coverage_mapping), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1) 5965#endif // CODEGEN_OPTION_WITH_MARSHALLING 5966#ifdef CODEGEN_OPTION_WITH_MARSHALLING 5967CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-fno-coverage-mapping", fno_coverage_mapping, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | DefaultVis | CLOption, 0, 5968 "Disable code coverage analysis", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.CoverageMapping, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_fcoverage_mapping), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1) 5969#endif // CODEGEN_OPTION_WITH_MARSHALLING 5970#ifdef CODEGEN_OPTION_WITH_MARSHALLING 5971CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-fcoverage-mcdc", fmcdc_coverage, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis | CLOption, 0, 5972 "Enable MC/DC criteria when generating code coverage", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.MCDCCoverage, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_mcdc_coverage), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1) 5973#endif // CODEGEN_OPTION_WITH_MARSHALLING 5974#ifdef CODEGEN_OPTION_WITH_MARSHALLING 5975CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-fno-coverage-mcdc", fno_mcdc_coverage, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | DefaultVis | CLOption, 0, 5976 "Disable MC/DC coverage criteria", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.MCDCCoverage, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_fmcdc_coverage), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1) 5977#endif // CODEGEN_OPTION_WITH_MARSHALLING 5978#ifdef CODEGEN_OPTION_WITH_MARSHALLING 5979CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-fmcdc-max-conditions=", fmcdc_max_conditions_EQ, Joined, f_Group, INVALID, nullptr, 0, CC1Option, 0, 5980 "Maximum number of conditions in MC/DC coverage", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.MCDCMaxConds, 32767, false, 32767, normalizeStringIntegral<unsigned>, denormalizeString<unsigned>, mergeForwardValue, extractForwardValue, -1) 5981#endif // CODEGEN_OPTION_WITH_MARSHALLING 5982#ifdef CODEGEN_OPTION_WITH_MARSHALLING 5983CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-fmcdc-max-test-vectors=", fmcdc_max_test_vectors_EQ, Joined, f_Group, INVALID, nullptr, 0, CC1Option, 0, 5984 "Maximum number of test vectors in MC/DC coverage", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.MCDCMaxTVs, 0x7FFFFFFE, false, 0x7FFFFFFE, normalizeStringIntegral<unsigned>, denormalizeString<unsigned>, mergeForwardValue, extractForwardValue, -1) 5985#endif // CODEGEN_OPTION_WITH_MARSHALLING 5986#ifdef CODEGEN_OPTION_WITH_MARSHALLING 5987CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-fprofile-filter-files=", fprofile_filter_files_EQ, Joined, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | CLOption, 0, 5988 "Instrument only functions from files where names match any regex separated by a semi-colon", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.ProfileFilterFiles, std::string(), false, std::string(), normalizeString, denormalizeString, mergeForwardValue, extractForwardValue, -1) 5989#endif // CODEGEN_OPTION_WITH_MARSHALLING 5990#ifdef CODEGEN_OPTION_WITH_MARSHALLING 5991CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-fprofile-exclude-files=", fprofile_exclude_files_EQ, Joined, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | CLOption, 0, 5992 "Instrument only functions from files where names don't match all the regexes separated by a semi-colon", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.ProfileExcludeFiles, std::string(), false, std::string(), normalizeString, denormalizeString, mergeForwardValue, extractForwardValue, -1) 5993#endif // CODEGEN_OPTION_WITH_MARSHALLING 5994#ifdef CODEGEN_OPTION_WITH_MARSHALLING 5995CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-fprofile-update=", fprofile_update_EQ, Joined, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | CLOption, 0, 5996 "Set update method of profile counters", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "<method>", "atomic,prefer-atomic,single", true, 0, CodeGenOpts.AtomicProfileUpdate, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 5997#endif // CODEGEN_OPTION_WITH_MARSHALLING 5998#ifdef CODEGEN_OPTION_WITH_MARSHALLING 5999CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-fpseudo-probe-for-profiling", fpseudo_probe_for_profiling, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | DefaultVis | CC1Option, 0, 6000 "Emit pseudo probes for sample profiling", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.PseudoProbeForProfiling, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_pseudo_probe_for_profiling), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1) 6001#endif // CODEGEN_OPTION_WITH_MARSHALLING 6002#ifdef CODEGEN_OPTION_WITH_MARSHALLING 6003CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-fno-pseudo-probe-for-profiling", fno_pseudo_probe_for_profiling, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | DefaultVis | CC1Option, 0, 6004 "Do not emit pseudo probes for sample profiling", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.PseudoProbeForProfiling, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_fpseudo_probe_for_profiling), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1) 6005#endif // CODEGEN_OPTION_WITH_MARSHALLING 6006#ifdef LANG_OPTION_WITH_MARSHALLING 6007LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fprofile-list=", fprofile_list_EQ, Joined, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | CLOption, 0, 6008 "Filename defining the list of functions/files to instrument. The file uses the sanitizer special case list format.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->ProfileListFiles, std::vector<std::string>({}), false, std::vector<std::string>({}), normalizeStringVector, denormalizeStringVector, mergeForwardValue, extractForwardValue, -1) 6009#endif // LANG_OPTION_WITH_MARSHALLING 6010#ifdef CODEGEN_OPTION_WITH_MARSHALLING 6011CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-fprofile-function-groups=", fprofile_function_groups, Joined, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 6012 "Partition functions into N groups and select only functions in group i to be instrumented using -fprofile-selected-function-group", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "<N>", nullptr, true, 0, CodeGenOpts.ProfileTotalFunctionGroups, 1, false, 1, normalizeStringIntegral<unsigned>, denormalizeString<unsigned>, mergeForwardValue, extractForwardValue, -1) 6013#endif // CODEGEN_OPTION_WITH_MARSHALLING 6014#ifdef CODEGEN_OPTION_WITH_MARSHALLING 6015CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-fprofile-selected-function-group=", fprofile_selected_function_group, Joined, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 6016 "Partition functions into N groups using -fprofile-function-groups and select only functions in group i to be instrumented. The valid range is 0 to N-1 inclusive", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "<i>", nullptr, true, 0, CodeGenOpts.ProfileSelectedFunctionGroup, 0, false, 0, normalizeStringIntegral<unsigned>, denormalizeString<unsigned>, mergeForwardValue, extractForwardValue, -1) 6017#endif // CODEGEN_OPTION_WITH_MARSHALLING 6018#ifdef CODEGEN_OPTION_WITH_MARSHALLING 6019CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-fswift-async-fp=", fswift_async_fp_EQ, Joined, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | CC1AsOption | CLOption, 0, 6020 "Control emission of Swift async extended frame info", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "<option>", "auto,always,never", true, 0, CodeGenOpts.SwiftAsyncFramePointer, CodeGenOptions::SwiftAsyncFramePointerKind::Always, false, CodeGenOptions::SwiftAsyncFramePointerKind::Always, normalizeSimpleEnum, denormalizeSimpleEnum, mergeForwardValue, extractForwardValue, 5) 6021#endif // CODEGEN_OPTION_WITH_MARSHALLING 6022#ifdef LANG_OPTION_WITH_MARSHALLING 6023LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fapinotes", fapinotes, Flag, f_clang_Group, INVALID, nullptr, 0, DefaultVis | DefaultVis | CC1Option, 0, 6024 "Enable external API notes support", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->APINotes, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_apinotes), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1) 6025#endif // LANG_OPTION_WITH_MARSHALLING 6026#ifdef LANG_OPTION_WITH_MARSHALLING 6027LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fno-apinotes", fno_apinotes, Flag, f_clang_Group, INVALID, nullptr, 0, DefaultVis | DefaultVis | CC1Option, 0, 6028 "Disable external API notes support", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->APINotes, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_fapinotes), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1) 6029#endif // LANG_OPTION_WITH_MARSHALLING 6030#ifdef LANG_OPTION_WITH_MARSHALLING 6031LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fapinotes-modules", fapinotes_modules, Flag, f_clang_Group, INVALID, nullptr, 0, DefaultVis | DefaultVis | CC1Option, 0, 6032 "Enable module-based external API notes support", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->APINotesModules, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_apinotes_modules), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1) 6033#endif // LANG_OPTION_WITH_MARSHALLING 6034#ifdef LANG_OPTION_WITH_MARSHALLING 6035LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fno-apinotes-modules", fno_apinotes_modules, Flag, f_clang_Group, INVALID, nullptr, 0, DefaultVis | DefaultVis | CC1Option, 0, 6036 "Disable module-based external API notes support", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->APINotesModules, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_fapinotes_modules), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1) 6037#endif // LANG_OPTION_WITH_MARSHALLING 6038#ifdef LANG_OPTION_WITH_MARSHALLING 6039LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fexperimental-bounds-safety", fbounds_safety, Flag, f_Group, INVALID, nullptr, 0, CC1Option | CC1Option, 0, 6040 "Enable experimental bounds safety extension for C", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->BoundsSafety, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_bounds_safety), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1) 6041#endif // LANG_OPTION_WITH_MARSHALLING 6042#ifdef LANG_OPTION_WITH_MARSHALLING 6043LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fno-experimental-bounds-safety", fno_bounds_safety, Flag, f_Group, INVALID, nullptr, 0, CC1Option | CC1Option, 0, 6044 "Disable experimental bounds safety extension for C", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->BoundsSafety, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_fbounds_safety), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1) 6045#endif // LANG_OPTION_WITH_MARSHALLING 6046#ifdef CODEGEN_OPTION_WITH_MARSHALLING 6047CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-faddrsig", faddrsig, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis | CLOption, 0, 6048 "Emit an address-significance table", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.Addrsig, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_addrsig), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1) 6049#endif // CODEGEN_OPTION_WITH_MARSHALLING 6050#ifdef CODEGEN_OPTION_WITH_MARSHALLING 6051CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-fno-addrsig", fno_addrsig, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | DefaultVis | CLOption, 0, 6052 "Don't emit an address-significance table", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.Addrsig, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_faddrsig), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1) 6053#endif // CODEGEN_OPTION_WITH_MARSHALLING 6054#ifdef LANG_OPTION_WITH_MARSHALLING 6055LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fborland-extensions", fborland_extensions, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis, 0, 6056 "Accept non-standard constructs supported by the Borland compiler", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->Borland, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_borland_extensions), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1) 6057#endif // LANG_OPTION_WITH_MARSHALLING 6058#ifdef LANG_OPTION_WITH_MARSHALLING 6059LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fno-borland-extensions", fno_borland_extensions, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, 6060 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->Borland, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_fborland_extensions), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1) 6061#endif // LANG_OPTION_WITH_MARSHALLING 6062#ifdef DIAG_OPTION_WITH_MARSHALLING 6063DIAG_OPTION_WITH_MARSHALLING(prefix_1, "-fno-caret-diagnostics", fno_caret_diagnostics, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis, 0, 6064 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, DiagnosticOpts->ShowCarets, true, false, true, makeBooleanOptionNormalizer(false, true, OPT_fcaret_diagnostics), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1) 6065#endif // DIAG_OPTION_WITH_MARSHALLING 6066#ifdef DIAG_OPTION_WITH_MARSHALLING 6067DIAG_OPTION_WITH_MARSHALLING(prefix_1, "-fcaret-diagnostics", fcaret_diagnostics, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, 6068 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, DiagnosticOpts->ShowCarets, true, false, true, makeBooleanOptionNormalizer(true, false, OPT_fno_caret_diagnostics), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1) 6069#endif // DIAG_OPTION_WITH_MARSHALLING 6070#ifdef DIAG_OPTION_WITH_MARSHALLING 6071DIAG_OPTION_WITH_MARSHALLING(prefix_1, "-fansi-escape-codes", fansi_escape_codes, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CLOption | DXCOption | CC1Option, 0, 6072 "Use ANSI escape codes for diagnostics", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, DiagnosticOpts->UseANSIEscapeCodes, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 6073#endif // DIAG_OPTION_WITH_MARSHALLING 6074#ifdef LANG_OPTION_WITH_MARSHALLING 6075LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fcomment-block-commands=", fcomment_block_commands, CommaJoined, f_clang_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 6076 "Treat each comma separated argument in <arg> as a documentation comment block command", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "<arg>", nullptr, true, 0, LangOpts->CommentOpts.BlockCommandNames, std::vector<std::string>({}), false, std::vector<std::string>({}), normalizeStringVector, denormalizeStringVector, mergeForwardValue, extractForwardValue, -1) 6077#endif // LANG_OPTION_WITH_MARSHALLING 6078#ifdef LANG_OPTION_WITH_MARSHALLING 6079LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fparse-all-comments", fparse_all_comments, Flag, f_clang_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->CommentOpts.ParseAllComments, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 6080#endif // LANG_OPTION_WITH_MARSHALLING 6081#ifdef CODEGEN_OPTION_WITH_MARSHALLING 6082CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-fcommon", fcommon, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CLOption | CC1Option, 0, 6083 "Place uninitialized global variables in a common block", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.NoCommon, true, false, true, normalizeSimpleNegativeFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 6084#endif // CODEGEN_OPTION_WITH_MARSHALLING 6085#ifdef LANG_OPTION_WITH_MARSHALLING 6086LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fcomplete-member-pointers", fcomplete_member_pointers, Flag, f_clang_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis | CLOption, 0, 6087 "Require member pointer base types to be complete if they would be significant under the Microsoft ABI", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->CompleteMemberPointers, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_complete_member_pointers), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1) 6088#endif // LANG_OPTION_WITH_MARSHALLING 6089#ifdef LANG_OPTION_WITH_MARSHALLING 6090LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fno-complete-member-pointers", fno_complete_member_pointers, Flag, f_clang_Group, INVALID, nullptr, 0, DefaultVis | DefaultVis | CLOption, 0, 6091 "Do not require member pointer base types to be complete if they would be significant under the Microsoft ABI", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->CompleteMemberPointers, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_fcomplete_member_pointers), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1) 6092#endif // LANG_OPTION_WITH_MARSHALLING 6093#ifdef LANG_OPTION_WITH_MARSHALLING 6094LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fcf-runtime-abi=", fcf_runtime_abi_EQ, Joined, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, "unspecified,standalone,objc,swift,swift-5.0,swift-4.2,swift-4.1", true, 0, LangOpts->CFRuntime, LangOptions::CoreFoundationABI::ObjectiveC, false, LangOptions::CoreFoundationABI::ObjectiveC, normalizeSimpleEnum, denormalizeSimpleEnum, mergeForwardValue, extractForwardValue, 6) 6095#endif // LANG_OPTION_WITH_MARSHALLING 6096#ifdef LANG_OPTION_WITH_MARSHALLING 6097LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fno-constant-cfstrings", fno_constant_cfstrings, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis, 0, 6098 "Disable creation of CodeFoundation-type constant strings", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->NoConstantCFStrings, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fconstant_cfstrings), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1) 6099#endif // LANG_OPTION_WITH_MARSHALLING 6100#ifdef LANG_OPTION_WITH_MARSHALLING 6101LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fconstant-cfstrings", fconstant_cfstrings, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, 6102 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->NoConstantCFStrings, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_fno_constant_cfstrings), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1) 6103#endif // LANG_OPTION_WITH_MARSHALLING 6104#ifdef LANG_OPTION_WITH_MARSHALLING 6105LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fconstexpr-depth=", fconstexpr_depth_EQ, Joined, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 6106 "Set the maximum depth of recursive constexpr function calls", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->ConstexprCallDepth, 512, false, 512, normalizeStringIntegral<unsigned>, denormalizeString<unsigned>, mergeForwardValue, extractForwardValue, -1) 6107#endif // LANG_OPTION_WITH_MARSHALLING 6108#ifdef LANG_OPTION_WITH_MARSHALLING 6109LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fconstexpr-steps=", fconstexpr_steps_EQ, Joined, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 6110 "Set the maximum number of steps in constexpr function evaluation", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->ConstexprStepLimit, 1048576, false, 1048576, normalizeStringIntegral<unsigned>, denormalizeString<unsigned>, mergeForwardValue, extractForwardValue, -1) 6111#endif // LANG_OPTION_WITH_MARSHALLING 6112#ifdef LANG_OPTION_WITH_MARSHALLING 6113LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fexperimental-new-constant-interpreter", fexperimental_new_constant_interpreter, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 6114 "Enable the experimental new constant interpreter", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->EnableNewConstInterp, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 6115#endif // LANG_OPTION_WITH_MARSHALLING 6116#ifdef DIAG_OPTION_WITH_MARSHALLING 6117DIAG_OPTION_WITH_MARSHALLING(prefix_1, "-fconstexpr-backtrace-limit=", fconstexpr_backtrace_limit_EQ, Joined, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 6118 "Set the maximum number of entries to print in a constexpr evaluation backtrace (0 = no limit)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, DiagnosticOpts->ConstexprBacktraceLimit, DiagnosticOptions::DefaultConstexprBacktraceLimit, false, DiagnosticOptions::DefaultConstexprBacktraceLimit, normalizeStringIntegral<unsigned>, denormalizeString<unsigned>, mergeForwardValue, extractForwardValue, -1) 6119#endif // DIAG_OPTION_WITH_MARSHALLING 6120#ifdef LANG_OPTION_WITH_MARSHALLING 6121LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fcxx-exceptions", fcxx_exceptions, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis, 0, 6122 "Enable C++ exceptions", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->CXXExceptions, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_cxx_exceptions), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1) 6123#endif // LANG_OPTION_WITH_MARSHALLING 6124#ifdef LANG_OPTION_WITH_MARSHALLING 6125LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fno-cxx-exceptions", fno_cxx_exceptions, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, 6126 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->CXXExceptions, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_fcxx_exceptions), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1) 6127#endif // LANG_OPTION_WITH_MARSHALLING 6128#ifdef LANG_OPTION_WITH_MARSHALLING 6129LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fasync-exceptions", fasync_exceptions, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis, 0, 6130 "Enable EH Asynchronous exceptions", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->EHAsynch, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_async_exceptions), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1) 6131#endif // LANG_OPTION_WITH_MARSHALLING 6132#ifdef LANG_OPTION_WITH_MARSHALLING 6133LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fno-async-exceptions", fno_async_exceptions, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, 6134 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->EHAsynch, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_fasync_exceptions), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1) 6135#endif // LANG_OPTION_WITH_MARSHALLING 6136#ifdef LANG_OPTION_WITH_MARSHALLING 6137LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fno-cxx-modules", fno_cxx_modules, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 6138 "Disable modules for C++", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, LangOpts->CPlusPlus, 0, LangOpts->CPlusPlusModules, LangOpts->CPlusPlus20, false, true, makeBooleanOptionNormalizer(false, true, OPT_fcxx_modules), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1) 6139#endif // LANG_OPTION_WITH_MARSHALLING 6140#ifdef LANG_OPTION_WITH_MARSHALLING 6141LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fcxx-modules", fcxx_modules, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, 6142 "Enable modules for C++", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, LangOpts->CPlusPlus, 0, LangOpts->CPlusPlusModules, LangOpts->CPlusPlus20, false, true, makeBooleanOptionNormalizer(true, false, OPT_fno_cxx_modules), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1) 6143#endif // LANG_OPTION_WITH_MARSHALLING 6144#ifdef DIAG_OPTION_WITH_MARSHALLING 6145DIAG_OPTION_WITH_MARSHALLING(prefix_1, "-fno-diagnostics-fixit-info", fno_diagnostics_fixit_info, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 6146 "Do not include fixit information in diagnostics", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, DiagnosticOpts->ShowFixits, true, false, true, normalizeSimpleNegativeFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 6147#endif // DIAG_OPTION_WITH_MARSHALLING 6148#ifdef DIAG_OPTION_WITH_MARSHALLING 6149DIAG_OPTION_WITH_MARSHALLING(prefix_1, "-fdiagnostics-parseable-fixits", fdiagnostics_parseable_fixits, Flag, f_clang_Group, INVALID, nullptr, 0, DefaultVis | CLOption | DXCOption | CC1Option, 0, 6150 "Print fix-its in machine parseable form", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, DiagnosticOpts->ShowParseableFixits, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 6151#endif // DIAG_OPTION_WITH_MARSHALLING 6152#ifdef DIAG_OPTION_WITH_MARSHALLING 6153DIAG_OPTION_WITH_MARSHALLING(prefix_1, "-fdiagnostics-print-source-range-info", fdiagnostics_print_source_range_info, Flag, f_clang_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 6154 "Print source range spans in numeric form", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, DiagnosticOpts->ShowSourceRanges, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 6155#endif // DIAG_OPTION_WITH_MARSHALLING 6156#ifdef CODEGEN_OPTION_WITH_MARSHALLING 6157CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-fdiagnostics-show-hotness", fdiagnostics_show_hotness, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis, 0, 6158 "Enable profile hotness information in diagnostic line", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.DiagnosticsWithHotness, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_diagnostics_show_hotness), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1) 6159#endif // CODEGEN_OPTION_WITH_MARSHALLING 6160#ifdef CODEGEN_OPTION_WITH_MARSHALLING 6161CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-fno-diagnostics-show-hotness", fno_diagnostics_show_hotness, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, 6162 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.DiagnosticsWithHotness, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_fdiagnostics_show_hotness), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1) 6163#endif // CODEGEN_OPTION_WITH_MARSHALLING 6164#ifdef DIAG_OPTION_WITH_MARSHALLING 6165DIAG_OPTION_WITH_MARSHALLING(prefix_1, "-fno-diagnostics-show-option", fno_diagnostics_show_option, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis, 0, 6166 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, DiagnosticOpts->ShowOptionNames, true, false, true, makeBooleanOptionNormalizer(false, true, OPT_fdiagnostics_show_option), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1) 6167#endif // DIAG_OPTION_WITH_MARSHALLING 6168#ifdef DIAG_OPTION_WITH_MARSHALLING 6169DIAG_OPTION_WITH_MARSHALLING(prefix_1, "-fdiagnostics-show-option", fdiagnostics_show_option, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | DefaultVis, 0, 6170 "Print option name with mappable diagnostics", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, DiagnosticOpts->ShowOptionNames, true, false, true, makeBooleanOptionNormalizer(true, false, OPT_fno_diagnostics_show_option), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1) 6171#endif // DIAG_OPTION_WITH_MARSHALLING 6172#ifdef DIAG_OPTION_WITH_MARSHALLING 6173DIAG_OPTION_WITH_MARSHALLING(prefix_1, "-fdiagnostics-show-note-include-stack", fdiagnostics_show_note_include_stack, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | DefaultVis | CC1Option, 0, 6174 "Display include stacks for diagnostic notes", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, DiagnosticOpts->ShowNoteIncludeStack, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_diagnostics_show_note_include_stack), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1) 6175#endif // DIAG_OPTION_WITH_MARSHALLING 6176#ifdef DIAG_OPTION_WITH_MARSHALLING 6177DIAG_OPTION_WITH_MARSHALLING(prefix_1, "-fno-diagnostics-show-note-include-stack", fno_diagnostics_show_note_include_stack, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 6178 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, DiagnosticOpts->ShowNoteIncludeStack, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_fdiagnostics_show_note_include_stack), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1) 6179#endif // DIAG_OPTION_WITH_MARSHALLING 6180#ifdef DIAG_OPTION_WITH_MARSHALLING 6181DIAG_OPTION_WITH_MARSHALLING(prefix_1, "-fdiagnostics-show-template-tree", fdiagnostics_show_template_tree, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 6182 "Print a template comparison tree for differing templates", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, DiagnosticOpts->ShowTemplateTree, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 6183#endif // DIAG_OPTION_WITH_MARSHALLING 6184#ifdef DIAG_OPTION_WITH_MARSHALLING 6185DIAG_OPTION_WITH_MARSHALLING(prefix_1, "-fsafe-buffer-usage-suggestions", fsafe_buffer_usage_suggestions, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis, 0, 6186 "Display suggestions to update code associated with -Wunsafe-buffer-usage warnings", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, DiagnosticOpts->ShowSafeBufferUsageSuggestions, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_safe_buffer_usage_suggestions), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1) 6187#endif // DIAG_OPTION_WITH_MARSHALLING 6188#ifdef DIAG_OPTION_WITH_MARSHALLING 6189DIAG_OPTION_WITH_MARSHALLING(prefix_1, "-fno-safe-buffer-usage-suggestions", fno_safe_buffer_usage_suggestions, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, 6190 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, DiagnosticOpts->ShowSafeBufferUsageSuggestions, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_fsafe_buffer_usage_suggestions), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1) 6191#endif // DIAG_OPTION_WITH_MARSHALLING 6192#ifdef LANG_OPTION_WITH_MARSHALLING 6193LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fdollars-in-identifiers", fdollars_in_identifiers, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | DefaultVis | CC1Option, 0, 6194 "Allow '$' in identifiers", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->DollarIdents, !LangOpts->AsmPreprocessor, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_dollars_in_identifiers), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1) 6195#endif // LANG_OPTION_WITH_MARSHALLING 6196#ifdef LANG_OPTION_WITH_MARSHALLING 6197LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fno-dollars-in-identifiers", fno_dollars_in_identifiers, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | DefaultVis | CC1Option, 0, 6198 "Disallow '$' in identifiers", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->DollarIdents, !LangOpts->AsmPreprocessor, false, false, makeBooleanOptionNormalizer(false, true, OPT_fdollars_in_identifiers), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1) 6199#endif // LANG_OPTION_WITH_MARSHALLING 6200#ifdef CODEGEN_OPTION_WITH_MARSHALLING 6201CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-fno-dwarf-directory-asm", fno_dwarf_directory_asm, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis, 0, 6202 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.NoDwarfDirectoryAsm, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fdwarf_directory_asm), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1) 6203#endif // CODEGEN_OPTION_WITH_MARSHALLING 6204#ifdef CODEGEN_OPTION_WITH_MARSHALLING 6205CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-fdwarf-directory-asm", fdwarf_directory_asm, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, 6206 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.NoDwarfDirectoryAsm, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_fno_dwarf_directory_asm), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1) 6207#endif // CODEGEN_OPTION_WITH_MARSHALLING 6208#ifdef LANG_OPTION_WITH_MARSHALLING 6209LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fno-elide-constructors", fno_elide_constructors, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis, 0, 6210 "Disable C++ copy constructor elision", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->ElideConstructors, true, false, true, makeBooleanOptionNormalizer(false, true, OPT_felide_constructors), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1) 6211#endif // LANG_OPTION_WITH_MARSHALLING 6212#ifdef LANG_OPTION_WITH_MARSHALLING 6213LANG_OPTION_WITH_MARSHALLING(prefix_1, "-felide-constructors", felide_constructors, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, 6214 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->ElideConstructors, true, false, true, makeBooleanOptionNormalizer(true, false, OPT_fno_elide_constructors), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1) 6215#endif // LANG_OPTION_WITH_MARSHALLING 6216#ifdef DIAG_OPTION_WITH_MARSHALLING 6217DIAG_OPTION_WITH_MARSHALLING(prefix_1, "-fno-elide-type", fno_elide_type, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 6218 "Do not elide types when printing diagnostics", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, DiagnosticOpts->ElideType, true, false, true, normalizeSimpleNegativeFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 6219#endif // DIAG_OPTION_WITH_MARSHALLING 6220#ifdef LANG_OPTION_WITH_MARSHALLING 6221LANG_OPTION_WITH_MARSHALLING(prefix_1, "-femit-all-decls", femit_all_decls, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 6222 "Emit all declarations, even if unused", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->EmitAllDecls, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 6223#endif // LANG_OPTION_WITH_MARSHALLING 6224#ifdef CODEGEN_OPTION_WITH_MARSHALLING 6225CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-femulated-tls", femulated_tls, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis, 0, 6226 "Use emutls functions to access thread_local variables", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.EmulatedTLS, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_emulated_tls), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1) 6227#endif // CODEGEN_OPTION_WITH_MARSHALLING 6228#ifdef CODEGEN_OPTION_WITH_MARSHALLING 6229CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-fno-emulated-tls", fno_emulated_tls, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, 6230 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.EmulatedTLS, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_femulated_tls), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1) 6231#endif // CODEGEN_OPTION_WITH_MARSHALLING 6232#ifdef LANG_OPTION_WITH_MARSHALLING 6233LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fexceptions", fexceptions, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis, 0, 6234 "Enable support for exception handling", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->Exceptions, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_exceptions), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1) 6235#endif // LANG_OPTION_WITH_MARSHALLING 6236#ifdef LANG_OPTION_WITH_MARSHALLING 6237LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fno-exceptions", fno_exceptions, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | DefaultVis, 0, 6238 "Disable support for exception handling", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->Exceptions, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_fexceptions), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1) 6239#endif // LANG_OPTION_WITH_MARSHALLING 6240#ifdef LANG_OPTION_WITH_MARSHALLING 6241LANG_OPTION_WITH_MARSHALLING(prefix_1, "-exception-model", exception_model, Separate, INVALID, INVALID, nullptr, 0, CC1Option, 0, 6242 "The exception model", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, "dwarf,sjlj,seh,wasm", true, 0, LangOpts->ExceptionHandling, LangOptions::ExceptionHandlingKind::None, false, LangOptions::ExceptionHandlingKind::None, normalizeSimpleEnum, denormalizeSimpleEnum, mergeForwardValue, extractForwardValue, 7) 6243#endif // LANG_OPTION_WITH_MARSHALLING 6244#ifdef LANG_OPTION_WITH_MARSHALLING 6245LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fignore-exceptions", fignore_exceptions, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 6246 "Enable support for ignoring exception handling constructs", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->IgnoreExceptions, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 6247#endif // LANG_OPTION_WITH_MARSHALLING 6248#ifdef LANG_OPTION_WITH_MARSHALLING 6249LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fassume-nothrow-exception-dtor", fassume_nothrow_exception_dtor, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis, 0, 6250 "Assume that exception objects' destructors are non-throwing", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->AssumeNothrowExceptionDtor, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_assume_nothrow_exception_dtor), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1) 6251#endif // LANG_OPTION_WITH_MARSHALLING 6252#ifdef LANG_OPTION_WITH_MARSHALLING 6253LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fno-assume-nothrow-exception-dtor", fno_assume_nothrow_exception_dtor, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, 6254 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->AssumeNothrowExceptionDtor, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_fassume_nothrow_exception_dtor), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1) 6255#endif // LANG_OPTION_WITH_MARSHALLING 6256#ifdef LANG_OPTION_WITH_MARSHALLING 6257LANG_OPTION_WITH_MARSHALLING(prefix_1, "-ffloat16-excess-precision=", ffloat16_excess_precision_EQ, Joined, f_Group, INVALID, nullptr, 0, CC1Option, 0, 6258 "Allows control over excess precision on targets where native support for Float16 precision types is not available. By default, excess precision is used to calculate intermediate results following the rules specified in ISO C99.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, "standard,fast,none", true, 0, LangOpts->Float16ExcessPrecision, LangOptions::FPP_Standard, false, LangOptions::FPP_Standard, normalizeSimpleEnum, denormalizeSimpleEnum, mergeForwardValue, extractForwardValue, 8) 6259#endif // LANG_OPTION_WITH_MARSHALLING 6260#ifdef LANG_OPTION_WITH_MARSHALLING 6261LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fbfloat16-excess-precision=", fbfloat16_excess_precision_EQ, Joined, f_Group, INVALID, nullptr, 0, CC1Option, 0, 6262 "Allows control over excess precision on targets where native support for BFloat16 precision types is not available. By default, excess precision is used to calculate intermediate results following the rules specified in ISO C99.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, "standard,fast,none", true, 0, LangOpts->BFloat16ExcessPrecision, LangOptions::FPP_Standard, false, LangOptions::FPP_Standard, normalizeSimpleEnum, denormalizeSimpleEnum, mergeForwardValue, extractForwardValue, 9) 6263#endif // LANG_OPTION_WITH_MARSHALLING 6264#ifdef LANG_OPTION_WITH_MARSHALLING 6265LANG_OPTION_WITH_MARSHALLING(prefix_1, "-ffp-eval-method=", ffp_eval_method_EQ, Joined, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 6266 "Specifies the evaluation method to use for floating-point arithmetic.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, "source,double,extended", true, 0, LangOpts->FPEvalMethod, LangOptions::FEM_UnsetOnCommandLine, false, LangOptions::FEM_UnsetOnCommandLine, normalizeSimpleEnum, denormalizeSimpleEnum, mergeForwardValue, extractForwardValue, 10) 6267#endif // LANG_OPTION_WITH_MARSHALLING 6268#ifdef LANG_OPTION_WITH_MARSHALLING 6269LANG_OPTION_WITH_MARSHALLING(prefix_1, "-ffp-exception-behavior=", ffp_exception_behavior_EQ, Joined, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 6270 "Specifies the exception behavior of floating-point operations.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, "ignore,maytrap,strict", true, 0, LangOpts->FPExceptionMode, LangOptions::FPE_Default, false, LangOptions::FPE_Default, normalizeSimpleEnum, denormalizeSimpleEnum, mergeForwardValue, extractForwardValue, 11) 6271#endif // LANG_OPTION_WITH_MARSHALLING 6272#ifdef LANG_OPTION_WITH_MARSHALLING 6273LANG_OPTION_WITH_MARSHALLING(prefix_1, "-ffast-math", ffast_math, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | FC1Option | FlangOption | DefaultVis, 0, 6274 "Allow aggressive, lossy floating-point optimizations", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->FastMath, false, false || LangOpts->FastRelaxedMath, true, makeBooleanOptionNormalizer(true, false, OPT_fno_fast_math), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1) 6275#endif // LANG_OPTION_WITH_MARSHALLING 6276#ifdef LANG_OPTION_WITH_MARSHALLING 6277LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fno-fast-math", fno_fast_math, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | FC1Option | FlangOption | DefaultVis, 0, 6278 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->FastMath, false, false || LangOpts->FastRelaxedMath, true, makeBooleanOptionNormalizer(false, true, OPT_ffast_math), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1) 6279#endif // LANG_OPTION_WITH_MARSHALLING 6280#ifdef LANG_OPTION_WITH_MARSHALLING 6281LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fmath-errno", fmath_errno, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis, 0, 6282 "Require math functions to indicate errors by setting errno", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, !LangOpts->OpenCL, 0, LangOpts->MathErrno, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_math_errno), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1) 6283#endif // LANG_OPTION_WITH_MARSHALLING 6284#ifdef LANG_OPTION_WITH_MARSHALLING 6285LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fno-math-errno", fno_math_errno, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, 6286 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, !LangOpts->OpenCL, 0, LangOpts->MathErrno, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_fmath_errno), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1) 6287#endif // LANG_OPTION_WITH_MARSHALLING 6288#ifdef LANG_OPTION_WITH_MARSHALLING 6289LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fextend-arguments=", fextend_args_EQ, Joined, f_Group, INVALID, nullptr, NoArgumentUnused, DefaultVis | CC1Option, 0, 6290 "Controls how scalar integer arguments are extended in calls to unprototyped and varargs functions", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, "32,64", true, 0, LangOpts->ExtendIntArgs, LangOptions::ExtendArgsKind::ExtendTo32, false, LangOptions::ExtendArgsKind::ExtendTo32, normalizeSimpleEnum, denormalizeSimpleEnum, mergeForwardValue, extractForwardValue, 12) 6291#endif // LANG_OPTION_WITH_MARSHALLING 6292#ifdef CODEGEN_OPTION_WITH_MARSHALLING 6293CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-fno-jump-tables", fno_jump_tables, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis, 0, 6294 "Do not use jump tables for lowering switches", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.NoUseJumpTables, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fjump_tables), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1) 6295#endif // CODEGEN_OPTION_WITH_MARSHALLING 6296#ifdef CODEGEN_OPTION_WITH_MARSHALLING 6297CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-fjump-tables", fjump_tables, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | DefaultVis, 0, 6298 "Use jump tables for lowering switches", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.NoUseJumpTables, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_fno_jump_tables), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1) 6299#endif // CODEGEN_OPTION_WITH_MARSHALLING 6300#ifdef TARGET_OPTION_WITH_MARSHALLING 6301TARGET_OPTION_WITH_MARSHALLING(prefix_1, "-fforce-enable-int128", fforce_enable_int128, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis, 0, 6302 "Enable support for int128_t type", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, TargetOpts->ForceEnableInt128, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_force_enable_int128), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1) 6303#endif // TARGET_OPTION_WITH_MARSHALLING 6304#ifdef TARGET_OPTION_WITH_MARSHALLING 6305TARGET_OPTION_WITH_MARSHALLING(prefix_1, "-fno-force-enable-int128", fno_force_enable_int128, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | DefaultVis, 0, 6306 "Disable support for int128_t type", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, TargetOpts->ForceEnableInt128, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_fforce_enable_int128), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1) 6307#endif // TARGET_OPTION_WITH_MARSHALLING 6308#ifdef CODEGEN_OPTION_WITH_MARSHALLING 6309CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-fkeep-static-consts", fkeep_static_consts, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 6310 "Keep static const variables even if unused", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.KeepStaticConsts, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_keep_static_consts), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1) 6311#endif // CODEGEN_OPTION_WITH_MARSHALLING 6312#ifdef CODEGEN_OPTION_WITH_MARSHALLING 6313CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-fno-keep-static-consts", fno_keep_static_consts, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, 6314 "Don't keep static const variables even if unused", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.KeepStaticConsts, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_fkeep_static_consts), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1) 6315#endif // CODEGEN_OPTION_WITH_MARSHALLING 6316#ifdef CODEGEN_OPTION_WITH_MARSHALLING 6317CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-fkeep-persistent-storage-variables", fkeep_persistent_storage_variables, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 6318 "Enable keeping all variables that have a persistent storage duration, including global, static and thread-local variables, to guarantee that they can be directly addressed", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.KeepPersistentStorageVariables, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_keep_persistent_storage_variables), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1) 6319#endif // CODEGEN_OPTION_WITH_MARSHALLING 6320#ifdef CODEGEN_OPTION_WITH_MARSHALLING 6321CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-fno-keep-persistent-storage-variables", fno_keep_persistent_storage_variables, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, 6322 "Disable keeping all variables that have a persistent storage duration, including global, static and thread-local variables, to guarantee that they can be directly addressed", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.KeepPersistentStorageVariables, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_fkeep_persistent_storage_variables), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1) 6323#endif // CODEGEN_OPTION_WITH_MARSHALLING 6324#ifdef LANG_OPTION_WITH_MARSHALLING 6325LANG_OPTION_WITH_MARSHALLING(prefix_1, "-ffixed-point", ffixed_point, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis, 0, 6326 "Enable fixed point types", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->FixedPoint, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_fixed_point), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1) 6327#endif // LANG_OPTION_WITH_MARSHALLING 6328#ifdef LANG_OPTION_WITH_MARSHALLING 6329LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fno-fixed-point", fno_fixed_point, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | DefaultVis, 0, 6330 "Disable fixed point types", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->FixedPoint, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_ffixed_point), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1) 6331#endif // LANG_OPTION_WITH_MARSHALLING 6332#ifdef LANG_OPTION_WITH_MARSHALLING 6333LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fno-c++-static-destructors", fno_cxx_static_destructors, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis, 0, 6334 "Disable C++ static destructor registration", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->RegisterStaticDestructors, true, false, true, makeBooleanOptionNormalizer(false, true, OPT_fcxx_static_destructors), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1) 6335#endif // LANG_OPTION_WITH_MARSHALLING 6336#ifdef LANG_OPTION_WITH_MARSHALLING 6337LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fc++-static-destructors", fcxx_static_destructors, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, 6338 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->RegisterStaticDestructors, true, false, true, makeBooleanOptionNormalizer(true, false, OPT_fno_cxx_static_destructors), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1) 6339#endif // LANG_OPTION_WITH_MARSHALLING 6340#ifdef CODEGEN_OPTION_WITH_MARSHALLING 6341CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-fsymbol-partition=", fsymbol_partition_EQ, Joined, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.SymbolPartition, std::string(), false, std::string(), normalizeString, denormalizeString, mergeForwardValue, extractForwardValue, -1) 6342#endif // CODEGEN_OPTION_WITH_MARSHALLING 6343#ifdef CODEGEN_OPTION_WITH_MARSHALLING 6344CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-fmemory-profile-use=", fmemory_profile_use_EQ, Joined, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | CLOption, 0, 6345 "Use memory profile for profile-guided memory optimization", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "<pathname>", nullptr, true, 0, CodeGenOpts.MemoryProfileUsePath, std::string(), false, std::string(), normalizeString, denormalizeString, mergeForwardValue, extractForwardValue, -1) 6346#endif // CODEGEN_OPTION_WITH_MARSHALLING 6347#ifdef CODEGEN_OPTION_WITH_MARSHALLING 6348CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-fsanitize-coverage-allowlist=", fsanitize_coverage_allowlist, Joined, f_clang_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | CLOption, 0, 6349 "Restrict sanitizer coverage instrumentation exclusively to modules and functions that match the provided special case list, except the blocked ones", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.SanitizeCoverageAllowlistFiles, std::vector<std::string>({}), false, std::vector<std::string>({}), normalizeStringVector, denormalizeStringVector, mergeForwardValue, extractForwardValue, -1) 6350#endif // CODEGEN_OPTION_WITH_MARSHALLING 6351#ifdef CODEGEN_OPTION_WITH_MARSHALLING 6352CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-fsanitize-coverage-ignorelist=", fsanitize_coverage_ignorelist, Joined, f_clang_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | CLOption, 0, 6353 "Disable sanitizer coverage instrumentation for modules and functions that match the provided special case list, even the allowed ones", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.SanitizeCoverageIgnorelistFiles, std::vector<std::string>({}), false, std::vector<std::string>({}), normalizeStringVector, denormalizeStringVector, mergeForwardValue, extractForwardValue, -1) 6354#endif // CODEGEN_OPTION_WITH_MARSHALLING 6355#ifdef CODEGEN_OPTION_WITH_MARSHALLING 6356CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-fexperimental-sanitize-metadata-ignorelist=", fexperimental_sanitize_metadata_ignorelist_EQ, Joined, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | CLOption, 0, 6357 "Disable sanitizer metadata for modules and functions that match the provided special case list", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.SanitizeMetadataIgnorelistFiles, std::vector<std::string>({}), false, std::vector<std::string>({}), normalizeStringVector, denormalizeStringVector, mergeForwardValue, extractForwardValue, -1) 6358#endif // CODEGEN_OPTION_WITH_MARSHALLING 6359#ifdef CODEGEN_OPTION_WITH_MARSHALLING 6360CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-fsanitize-memory-track-origins=", fsanitize_memory_track_origins_EQ, Joined, f_clang_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | CLOption, 0, 6361 "Enable origins tracking in MemorySanitizer", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.SanitizeMemoryTrackOrigins, 0, false, 0, normalizeStringIntegral<unsigned>, denormalizeString<unsigned>, mergeForwardValue, extractForwardValue, -1) 6362#endif // CODEGEN_OPTION_WITH_MARSHALLING 6363#ifdef CODEGEN_OPTION_WITH_MARSHALLING 6364CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-fsanitize-memory-use-after-dtor", fsanitize_memory_use_after_dtor, Flag, f_clang_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | CLOption, 0, 6365 "Enable use-after-destroy detection in MemorySanitizer", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.SanitizeMemoryUseAfterDtor, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_sanitize_memory_use_after_dtor), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1) 6366#endif // CODEGEN_OPTION_WITH_MARSHALLING 6367#ifdef CODEGEN_OPTION_WITH_MARSHALLING 6368CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-fno-sanitize-memory-use-after-dtor", fno_sanitize_memory_use_after_dtor, Flag, f_clang_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | CLOption, 0, 6369 "Disable use-after-destroy detection in MemorySanitizer", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.SanitizeMemoryUseAfterDtor, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_fsanitize_memory_use_after_dtor), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1) 6370#endif // CODEGEN_OPTION_WITH_MARSHALLING 6371#ifdef LANG_OPTION_WITH_MARSHALLING 6372LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fsanitize-address-field-padding=", fsanitize_address_field_padding, Joined, f_clang_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | CLOption, 0, 6373 "Level of field padding for AddressSanitizer", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->SanitizeAddressFieldPadding, 0, false, 0, normalizeStringIntegral<unsigned>, denormalizeString<unsigned>, mergeForwardValue, extractForwardValue, -1) 6374#endif // LANG_OPTION_WITH_MARSHALLING 6375#ifdef CODEGEN_OPTION_WITH_MARSHALLING 6376CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-fsanitize-address-use-after-scope", fsanitize_address_use_after_scope, Flag, f_clang_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | CLOption, 0, 6377 "Enable use-after-scope detection in AddressSanitizer", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.SanitizeAddressUseAfterScope, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_sanitize_address_use_after_scope), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1) 6378#endif // CODEGEN_OPTION_WITH_MARSHALLING 6379#ifdef CODEGEN_OPTION_WITH_MARSHALLING 6380CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-fno-sanitize-address-use-after-scope", fno_sanitize_address_use_after_scope, Flag, f_clang_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | CLOption, 0, 6381 "Disable use-after-scope detection in AddressSanitizer", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.SanitizeAddressUseAfterScope, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_fsanitize_address_use_after_scope), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1) 6382#endif // CODEGEN_OPTION_WITH_MARSHALLING 6383#ifdef CODEGEN_OPTION_WITH_MARSHALLING 6384CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-fsanitize-address-use-after-return=", sanitize_address_use_after_return_EQ, Joined, f_clang_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | CLOption, 0, 6385 "Select the mode of detecting stack use-after-return in AddressSanitizer", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "<mode>", "never,runtime,always", true, 0, CodeGenOpts.SanitizeAddressUseAfterReturn, llvm::AsanDetectStackUseAfterReturnMode::Runtime, false, llvm::AsanDetectStackUseAfterReturnMode::Runtime, normalizeSimpleEnum, denormalizeSimpleEnum, mergeForwardValue, extractForwardValue, 13) 6386#endif // CODEGEN_OPTION_WITH_MARSHALLING 6387#ifdef CODEGEN_OPTION_WITH_MARSHALLING 6388CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-fsanitize-address-poison-custom-array-cookie", fsanitize_address_poison_custom_array_cookie, Flag, f_clang_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | CLOption, 0, 6389 "Enable poisoning array cookies when using custom operator new[] in AddressSanitizer", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.SanitizeAddressPoisonCustomArrayCookie, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_sanitize_address_poison_custom_array_cookie), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1) 6390#endif // CODEGEN_OPTION_WITH_MARSHALLING 6391#ifdef CODEGEN_OPTION_WITH_MARSHALLING 6392CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-fno-sanitize-address-poison-custom-array-cookie", fno_sanitize_address_poison_custom_array_cookie, Flag, f_clang_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | CLOption, 0, 6393 "Disable poisoning array cookies when using custom operator new[] in AddressSanitizer", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.SanitizeAddressPoisonCustomArrayCookie, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_fsanitize_address_poison_custom_array_cookie), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1) 6394#endif // CODEGEN_OPTION_WITH_MARSHALLING 6395#ifdef CODEGEN_OPTION_WITH_MARSHALLING 6396CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-fsanitize-address-globals-dead-stripping", fsanitize_address_globals_dead_stripping, Flag, f_clang_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | CLOption, 0, 6397 "Enable linker dead stripping of globals in AddressSanitizer", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.SanitizeAddressGlobalsDeadStripping, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_sanitize_address_globals_dead_stripping), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1) 6398#endif // CODEGEN_OPTION_WITH_MARSHALLING 6399#ifdef CODEGEN_OPTION_WITH_MARSHALLING 6400CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-fno-sanitize-address-globals-dead-stripping", fno_sanitize_address_globals_dead_stripping, Flag, f_clang_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | CLOption, 0, 6401 "Disable linker dead stripping of globals in AddressSanitizer", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.SanitizeAddressGlobalsDeadStripping, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_fsanitize_address_globals_dead_stripping), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1) 6402#endif // CODEGEN_OPTION_WITH_MARSHALLING 6403#ifdef CODEGEN_OPTION_WITH_MARSHALLING 6404CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-fsanitize-address-use-odr-indicator", fsanitize_address_use_odr_indicator, Flag, f_clang_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | CLOption, 0, 6405 "Enable ODR indicator globals to avoid false ODR violation reports in partially sanitized programs at the cost of an increase in binary size", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.SanitizeAddressUseOdrIndicator, true, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_sanitize_address_use_odr_indicator), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1) 6406#endif // CODEGEN_OPTION_WITH_MARSHALLING 6407#ifdef CODEGEN_OPTION_WITH_MARSHALLING 6408CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-fno-sanitize-address-use-odr-indicator", fno_sanitize_address_use_odr_indicator, Flag, f_clang_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | CLOption, 0, 6409 "Disable ODR indicator globals", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.SanitizeAddressUseOdrIndicator, true, false, false, makeBooleanOptionNormalizer(false, true, OPT_fsanitize_address_use_odr_indicator), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1) 6410#endif // CODEGEN_OPTION_WITH_MARSHALLING 6411#ifdef CODEGEN_OPTION_WITH_MARSHALLING 6412CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-fsanitize-address-destructor=", sanitize_address_destructor_EQ, Joined, f_clang_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | CLOption, 0, 6413 "Set the kind of module destructors emitted by AddressSanitizer instrumentation. These destructors are emitted to unregister instrumented global variables when code is unloaded (e.g. via `dlclose()`).", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, "none,global", true, 0, CodeGenOpts.SanitizeAddressDtor, llvm::AsanDtorKind::Global, false, llvm::AsanDtorKind::Global, normalizeSimpleEnum, denormalizeSimpleEnum, mergeForwardValue, extractForwardValue, 14) 6414#endif // CODEGEN_OPTION_WITH_MARSHALLING 6415#ifdef CODEGEN_OPTION_WITH_MARSHALLING 6416CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-fsanitize-memory-param-retval", fsanitize_memory_param_retval, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | CLOption, 0, 6417 "Enable detection of uninitialized parameters and return values", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.SanitizeMemoryParamRetval, true, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_sanitize_memory_param_retval), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1) 6418#endif // CODEGEN_OPTION_WITH_MARSHALLING 6419#ifdef CODEGEN_OPTION_WITH_MARSHALLING 6420CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-fno-sanitize-memory-param-retval", fno_sanitize_memory_param_retval, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | CLOption, 0, 6421 "Disable detection of uninitialized parameters and return values", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.SanitizeMemoryParamRetval, true, false, false, makeBooleanOptionNormalizer(false, true, OPT_fsanitize_memory_param_retval), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1) 6422#endif // CODEGEN_OPTION_WITH_MARSHALLING 6423#ifdef CODEGEN_OPTION_WITH_MARSHALLING 6424CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-fsanitize-minimal-runtime", fsanitize_minimal_runtime, Flag, f_clang_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | CLOption, 0, 6425 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.SanitizeMinimalRuntime, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_sanitize_minimal_runtime), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1) 6426#endif // CODEGEN_OPTION_WITH_MARSHALLING 6427#ifdef CODEGEN_OPTION_WITH_MARSHALLING 6428CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-fno-sanitize-minimal-runtime", fno_sanitize_minimal_runtime, Flag, f_clang_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | CLOption, 0, 6429 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.SanitizeMinimalRuntime, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_fsanitize_minimal_runtime), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1) 6430#endif // CODEGEN_OPTION_WITH_MARSHALLING 6431#ifdef CODEGEN_OPTION_WITH_MARSHALLING 6432CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-fsanitize-cfi-cross-dso", fsanitize_cfi_cross_dso, Flag, f_clang_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | CLOption, 0, 6433 "Enable control flow integrity (CFI) checks for cross-DSO calls.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.SanitizeCfiCrossDso, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_sanitize_cfi_cross_dso), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1) 6434#endif // CODEGEN_OPTION_WITH_MARSHALLING 6435#ifdef CODEGEN_OPTION_WITH_MARSHALLING 6436CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-fno-sanitize-cfi-cross-dso", fno_sanitize_cfi_cross_dso, Flag, f_clang_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | CLOption, 0, 6437 "Disable control flow integrity (CFI) checks for cross-DSO calls.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.SanitizeCfiCrossDso, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_fsanitize_cfi_cross_dso), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1) 6438#endif // CODEGEN_OPTION_WITH_MARSHALLING 6439#ifdef CODEGEN_OPTION_WITH_MARSHALLING 6440CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-fsanitize-cfi-icall-generalize-pointers", fsanitize_cfi_icall_generalize_pointers, Flag, f_clang_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | CLOption, 0, 6441 "Generalize pointers in CFI indirect call type signature checks", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.SanitizeCfiICallGeneralizePointers, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 6442#endif // CODEGEN_OPTION_WITH_MARSHALLING 6443#ifdef CODEGEN_OPTION_WITH_MARSHALLING 6444CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-fsanitize-cfi-icall-experimental-normalize-integers", fsanitize_cfi_icall_normalize_integers, Flag, f_clang_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | CLOption, 0, 6445 "Normalize integers in CFI indirect call type signature checks", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.SanitizeCfiICallNormalizeIntegers, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 6446#endif // CODEGEN_OPTION_WITH_MARSHALLING 6447#ifdef CODEGEN_OPTION_WITH_MARSHALLING 6448CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-fsanitize-cfi-canonical-jump-tables", fsanitize_cfi_canonical_jump_tables, Flag, f_clang_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | CLOption, 0, 6449 "Make the jump table addresses canonical in the symbol table", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.SanitizeCfiCanonicalJumpTables, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_sanitize_cfi_canonical_jump_tables), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1) 6450#endif // CODEGEN_OPTION_WITH_MARSHALLING 6451#ifdef CODEGEN_OPTION_WITH_MARSHALLING 6452CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-fno-sanitize-cfi-canonical-jump-tables", fno_sanitize_cfi_canonical_jump_tables, Flag, f_clang_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | CLOption, 0, 6453 "Do not make the jump table addresses canonical in the symbol table", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.SanitizeCfiCanonicalJumpTables, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_fsanitize_cfi_canonical_jump_tables), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1) 6454#endif // CODEGEN_OPTION_WITH_MARSHALLING 6455#ifdef CODEGEN_OPTION_WITH_MARSHALLING 6456CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-fsanitize-stats", fsanitize_stats, Flag, f_clang_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | CLOption, 0, 6457 "Enable sanitizer statistics gathering.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.SanitizeStats, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_sanitize_stats), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1) 6458#endif // CODEGEN_OPTION_WITH_MARSHALLING 6459#ifdef CODEGEN_OPTION_WITH_MARSHALLING 6460CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-fno-sanitize-stats", fno_sanitize_stats, Flag, f_clang_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | CLOption, 0, 6461 "Disable sanitizer statistics gathering.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.SanitizeStats, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_fsanitize_stats), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1) 6462#endif // CODEGEN_OPTION_WITH_MARSHALLING 6463#ifdef LANG_OPTION_WITH_MARSHALLING 6464LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fsanitize-undefined-ignore-overflow-pattern=", fsanitize_undefined_ignore_overflow_pattern_EQ, CommaJoined, INVALID, INVALID, nullptr, 0, DefaultVis | CC1Option | CLOption, 0, 6465 "Specify the overflow patterns to exclude from artihmetic sanitizer instrumentation", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, "none,all,add-overflow-test,negated-unsigned-const,post-decr-while", true, 0, LangOpts->OverflowPatternExclusionValues, std::vector<std::string>({}), false, std::vector<std::string>({}), normalizeStringVector, denormalizeStringVector, mergeForwardValue, extractForwardValue, -1) 6466#endif // LANG_OPTION_WITH_MARSHALLING 6467#ifdef CODEGEN_OPTION_WITH_MARSHALLING 6468CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-fsanitize-undefined-strip-path-components=", fsanitize_undefined_strip_path_components_EQ, Joined, f_clang_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | CLOption, 0, 6469 "Strip (or keep only, if negative) a given number of path components when emitting check metadata.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "<number>", nullptr, true, 0, CodeGenOpts.EmitCheckPathComponentsToStrip, 0, false, 0, normalizeStringIntegral<int>, denormalizeString<int>, mergeForwardValue, extractForwardValue, -1) 6470#endif // CODEGEN_OPTION_WITH_MARSHALLING 6471#ifdef LANG_OPTION_WITH_MARSHALLING 6472LANG_OPTION_WITH_MARSHALLING(prefix_1, "-funsafe-math-optimizations", funsafe_math_optimizations, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 6473 "Allow unsafe floating-point math optimizations which may decrease precision", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->UnsafeFPMath, false, false || LangOpts->CLUnsafeMath || LangOpts->FastMath, true, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 6474#endif // LANG_OPTION_WITH_MARSHALLING 6475#ifdef LANG_OPTION_WITH_MARSHALLING 6476LANG_OPTION_WITH_MARSHALLING(prefix_1, "-freciprocal-math", freciprocal_math, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | FC1Option | FlangOption | DefaultVis, 0, 6477 "Allow division operations to be reassociated", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->AllowRecip, false, false || LangOpts->UnsafeFPMath, true, makeBooleanOptionNormalizer(true, false, OPT_fno_reciprocal_math), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1) 6478#endif // LANG_OPTION_WITH_MARSHALLING 6479#ifdef LANG_OPTION_WITH_MARSHALLING 6480LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fno-reciprocal-math", fno_reciprocal_math, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | FC1Option | FlangOption | DefaultVis, 0, 6481 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->AllowRecip, false, false || LangOpts->UnsafeFPMath, true, makeBooleanOptionNormalizer(false, true, OPT_freciprocal_math), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1) 6482#endif // LANG_OPTION_WITH_MARSHALLING 6483#ifdef LANG_OPTION_WITH_MARSHALLING 6484LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fapprox-func", fapprox_func, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | FC1Option | FlangOption | DefaultVis, 0, 6485 "Allow certain math function calls to be replaced with an approximately equivalent calculation", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->ApproxFunc, false, false || LangOpts->UnsafeFPMath, true, makeBooleanOptionNormalizer(true, false, OPT_fno_approx_func), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1) 6486#endif // LANG_OPTION_WITH_MARSHALLING 6487#ifdef LANG_OPTION_WITH_MARSHALLING 6488LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fno-approx-func", fno_approx_func, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | FC1Option | FlangOption | DefaultVis, 0, 6489 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->ApproxFunc, false, false || LangOpts->UnsafeFPMath, true, makeBooleanOptionNormalizer(false, true, OPT_fapprox_func), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1) 6490#endif // LANG_OPTION_WITH_MARSHALLING 6491#ifdef LANG_OPTION_WITH_MARSHALLING 6492LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fno-signed-zeros", fno_signed_zeros, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | FC1Option | FlangOption | DefaultVis, 0, 6493 "Allow optimizations that ignore the sign of floating point zeros", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->NoSignedZero, false, false || LangOpts->CLNoSignedZero || LangOpts->UnsafeFPMath, true, makeBooleanOptionNormalizer(true, false, OPT_fsigned_zeros), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1) 6494#endif // LANG_OPTION_WITH_MARSHALLING 6495#ifdef LANG_OPTION_WITH_MARSHALLING 6496LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fsigned-zeros", fsigned_zeros, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | FC1Option | FlangOption | DefaultVis, 0, 6497 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->NoSignedZero, false, false || LangOpts->CLNoSignedZero || LangOpts->UnsafeFPMath, true, makeBooleanOptionNormalizer(false, true, OPT_fno_signed_zeros), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1) 6498#endif // LANG_OPTION_WITH_MARSHALLING 6499#ifdef LANG_OPTION_WITH_MARSHALLING 6500LANG_OPTION_WITH_MARSHALLING(prefix_1, "-frounding-math", frounding_math, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->RoundingMath, false, false, false, makeFlagToValueNormalizer(llvm::RoundingMode::Dynamic), denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 6501#endif // LANG_OPTION_WITH_MARSHALLING 6502#ifdef CODEGEN_OPTION_WITH_MARSHALLING 6503CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-fno-strict-float-cast-overflow", fno_strict_float_cast_overflow, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis, 0, 6504 "Relax language rules and try to match the behavior of the target's native float-to-int conversion instructions", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.StrictFloatCastOverflow, true, false, true, makeBooleanOptionNormalizer(false, true, OPT_fstrict_float_cast_overflow), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1) 6505#endif // CODEGEN_OPTION_WITH_MARSHALLING 6506#ifdef CODEGEN_OPTION_WITH_MARSHALLING 6507CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-fstrict-float-cast-overflow", fstrict_float_cast_overflow, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | DefaultVis, 0, 6508 "Assume that overflowing float-to-int casts are undefined (default)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.StrictFloatCastOverflow, true, false, true, makeBooleanOptionNormalizer(true, false, OPT_fno_strict_float_cast_overflow), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1) 6509#endif // CODEGEN_OPTION_WITH_MARSHALLING 6510#ifdef LANG_OPTION_WITH_MARSHALLING 6511LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fprotect-parens", fprotect_parens, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CLOption | CC1Option | DefaultVis, 0, 6512 "Determines whether the optimizer honors parentheses when floating-point expressions are evaluated", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->ProtectParens, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_protect_parens), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1) 6513#endif // LANG_OPTION_WITH_MARSHALLING 6514#ifdef LANG_OPTION_WITH_MARSHALLING 6515LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fno-protect-parens", fno_protect_parens, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, 6516 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->ProtectParens, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_fprotect_parens), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1) 6517#endif // LANG_OPTION_WITH_MARSHALLING 6518#ifdef PREPROCESSOR_OUTPUT_OPTION_WITH_MARSHALLING 6519PREPROCESSOR_OUTPUT_OPTION_WITH_MARSHALLING(prefix_1, "-frewrite-imports", frewrite_imports, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis, 0, 6520 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, PreprocessorOutputOpts.RewriteImports, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_rewrite_imports), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1) 6521#endif // PREPROCESSOR_OUTPUT_OPTION_WITH_MARSHALLING 6522#ifdef PREPROCESSOR_OUTPUT_OPTION_WITH_MARSHALLING 6523PREPROCESSOR_OUTPUT_OPTION_WITH_MARSHALLING(prefix_1, "-fno-rewrite-imports", fno_rewrite_imports, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, 6524 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, PreprocessorOutputOpts.RewriteImports, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_frewrite_imports), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1) 6525#endif // PREPROCESSOR_OUTPUT_OPTION_WITH_MARSHALLING 6526#ifdef PREPROCESSOR_OUTPUT_OPTION_WITH_MARSHALLING 6527PREPROCESSOR_OUTPUT_OPTION_WITH_MARSHALLING(prefix_1, "-frewrite-includes", frewrite_includes, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis, 0, 6528 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, PreprocessorOutputOpts.RewriteIncludes, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_rewrite_includes), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1) 6529#endif // PREPROCESSOR_OUTPUT_OPTION_WITH_MARSHALLING 6530#ifdef PREPROCESSOR_OUTPUT_OPTION_WITH_MARSHALLING 6531PREPROCESSOR_OUTPUT_OPTION_WITH_MARSHALLING(prefix_1, "-fno-rewrite-includes", fno_rewrite_includes, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, 6532 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, PreprocessorOutputOpts.RewriteIncludes, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_frewrite_includes), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1) 6533#endif // PREPROCESSOR_OUTPUT_OPTION_WITH_MARSHALLING 6534#ifdef CODEGEN_OPTION_WITH_MARSHALLING 6535CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-fno-delete-null-pointer-checks", fno_delete_null_pointer_checks, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis | CLOption, 0, 6536 "Do not treat usage of null pointers as undefined behavior", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.NullPointerIsValid, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fdelete_null_pointer_checks), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1) 6537#endif // CODEGEN_OPTION_WITH_MARSHALLING 6538#ifdef CODEGEN_OPTION_WITH_MARSHALLING 6539CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-fdelete-null-pointer-checks", fdelete_null_pointer_checks, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | DefaultVis | CLOption, 0, 6540 "Treat usage of null pointers as undefined behavior (default)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.NullPointerIsValid, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_fno_delete_null_pointer_checks), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1) 6541#endif // CODEGEN_OPTION_WITH_MARSHALLING 6542#ifdef PREPROCESSOR_OUTPUT_OPTION_WITH_MARSHALLING 6543PREPROCESSOR_OUTPUT_OPTION_WITH_MARSHALLING(prefix_1, "-fuse-line-directives", fuse_line_directives, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis, 0, 6544 "Use #line in preprocessed output", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, PreprocessorOutputOpts.UseLineDirectives, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_use_line_directives), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1) 6545#endif // PREPROCESSOR_OUTPUT_OPTION_WITH_MARSHALLING 6546#ifdef PREPROCESSOR_OUTPUT_OPTION_WITH_MARSHALLING 6547PREPROCESSOR_OUTPUT_OPTION_WITH_MARSHALLING(prefix_1, "-fno-use-line-directives", fno_use_line_directives, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, 6548 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, PreprocessorOutputOpts.UseLineDirectives, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_fuse_line_directives), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1) 6549#endif // PREPROCESSOR_OUTPUT_OPTION_WITH_MARSHALLING 6550#ifdef PREPROCESSOR_OUTPUT_OPTION_WITH_MARSHALLING 6551PREPROCESSOR_OUTPUT_OPTION_WITH_MARSHALLING(prefix_1, "-fminimize-whitespace", fminimize_whitespace, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis, 0, 6552 "Ignore the whitespace from the input file when emitting preprocessor output. It will only contain whitespace when necessary, e.g. to keep two minus signs from merging into to an increment operator. Useful with the -P option to normalize whitespace such that two files with only formatting changes are equal.\n\nOnly valid with -E on C-like inputs and incompatible with -traditional-cpp.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, PreprocessorOutputOpts.MinimizeWhitespace, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_minimize_whitespace), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1) 6553#endif // PREPROCESSOR_OUTPUT_OPTION_WITH_MARSHALLING 6554#ifdef PREPROCESSOR_OUTPUT_OPTION_WITH_MARSHALLING 6555PREPROCESSOR_OUTPUT_OPTION_WITH_MARSHALLING(prefix_1, "-fno-minimize-whitespace", fno_minimize_whitespace, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, 6556 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, PreprocessorOutputOpts.MinimizeWhitespace, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_fminimize_whitespace), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1) 6557#endif // PREPROCESSOR_OUTPUT_OPTION_WITH_MARSHALLING 6558#ifdef PREPROCESSOR_OUTPUT_OPTION_WITH_MARSHALLING 6559PREPROCESSOR_OUTPUT_OPTION_WITH_MARSHALLING(prefix_1, "-fkeep-system-includes", fkeep_system_includes, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis, 0, 6560 "Instead of expanding system headers when emitting preprocessor output, preserve the #include directive. Useful when producing preprocessed output for test case reduction. May produce incorrect output if preprocessor symbols that control the included content (e.g. _XOPEN_SOURCE) are defined in the including source file. The portability of the resulting source to other compilation environments is not guaranteed.\n\nOnly valid with -E.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, PreprocessorOutputOpts.KeepSystemIncludes, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_keep_system_includes), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1) 6561#endif // PREPROCESSOR_OUTPUT_OPTION_WITH_MARSHALLING 6562#ifdef PREPROCESSOR_OUTPUT_OPTION_WITH_MARSHALLING 6563PREPROCESSOR_OUTPUT_OPTION_WITH_MARSHALLING(prefix_1, "-fno-keep-system-includes", fno_keep_system_includes, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, 6564 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, PreprocessorOutputOpts.KeepSystemIncludes, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_fkeep_system_includes), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1) 6565#endif // PREPROCESSOR_OUTPUT_OPTION_WITH_MARSHALLING 6566#ifdef LANG_OPTION_WITH_MARSHALLING 6567LANG_OPTION_WITH_MARSHALLING(prefix_1, "-ffreestanding", ffreestanding, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 6568 "Assert that the compilation takes place in a freestanding environment", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->Freestanding, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 6569#endif // LANG_OPTION_WITH_MARSHALLING 6570#ifdef LANG_OPTION_WITH_MARSHALLING 6571LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fgnu-keywords", fgnu_keywords, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | DefaultVis | CC1Option, 0, 6572 "Allow GNU-extension keywords regardless of language standard", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->GNUKeywords, LangOpts->GNUMode, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_gnu_keywords), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1) 6573#endif // LANG_OPTION_WITH_MARSHALLING 6574#ifdef LANG_OPTION_WITH_MARSHALLING 6575LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fno-gnu-keywords", fno_gnu_keywords, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 6576 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->GNUKeywords, LangOpts->GNUMode, false, false, makeBooleanOptionNormalizer(false, true, OPT_fgnu_keywords), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1) 6577#endif // LANG_OPTION_WITH_MARSHALLING 6578#ifdef LANG_OPTION_WITH_MARSHALLING 6579LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fgnu89-inline", fgnu89_inline, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis, 0, 6580 "Use the gnu89 inline semantics", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, !LangOpts->CPlusPlus, 0, LangOpts->GNUInline, !LangOpts->C99 && !LangOpts->CPlusPlus, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_gnu89_inline), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1) 6581#endif // LANG_OPTION_WITH_MARSHALLING 6582#ifdef LANG_OPTION_WITH_MARSHALLING 6583LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fno-gnu89-inline", fno_gnu89_inline, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, 6584 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, !LangOpts->CPlusPlus, 0, LangOpts->GNUInline, !LangOpts->C99 && !LangOpts->CPlusPlus, false, false, makeBooleanOptionNormalizer(false, true, OPT_fgnu89_inline), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1) 6585#endif // LANG_OPTION_WITH_MARSHALLING 6586#ifdef LANG_OPTION_WITH_MARSHALLING 6587LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fheinous-gnu-extensions", fheinous_gnu_extensions, Flag, INVALID, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->HeinousExtensions, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 6588#endif // LANG_OPTION_WITH_MARSHALLING 6589#ifdef CODEGEN_OPTION_WITH_MARSHALLING 6590CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-finline-max-stacksize=", finline_max_stacksize_EQ, Joined, f_Group, INVALID, nullptr, 0, DefaultVis | CLOption | CC1Option, 0, 6591 "Suppress inlining of functions whose stack size exceeds the given value", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.InlineMaxStackSize, UINT_MAX, false, UINT_MAX, normalizeStringIntegral<unsigned>, denormalizeString<unsigned>, mergeForwardValue, extractForwardValue, -1) 6592#endif // CODEGEN_OPTION_WITH_MARSHALLING 6593#ifdef CODEGEN_OPTION_WITH_MARSHALLING 6594CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-fjmc", fjmc, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis, 0, 6595 "Enable just-my-code debugging", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.JMCInstrument, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_jmc), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1) 6596#endif // CODEGEN_OPTION_WITH_MARSHALLING 6597#ifdef CODEGEN_OPTION_WITH_MARSHALLING 6598CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-fno-jmc", fno_jmc, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, 6599 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.JMCInstrument, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_fjmc), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1) 6600#endif // CODEGEN_OPTION_WITH_MARSHALLING 6601#ifdef LANG_OPTION_WITH_MARSHALLING 6602LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fexperimental-strict-floating-point", fexperimental_strict_floating_point, Flag, f_clang_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 6603 "Enables the use of non-default rounding modes and non-default exception handling on targets that are not currently ready.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->ExpStrictFP, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 6604#endif // LANG_OPTION_WITH_MARSHALLING 6605#ifdef CODEGEN_OPTION_WITH_MARSHALLING 6606CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-finstrument-functions", finstrument_functions, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 6607 "Generate calls to instrument function entry and exit", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.InstrumentFunctions, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 6608#endif // CODEGEN_OPTION_WITH_MARSHALLING 6609#ifdef CODEGEN_OPTION_WITH_MARSHALLING 6610CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-finstrument-functions-after-inlining", finstrument_functions_after_inlining, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 6611 "Like -finstrument-functions, but insert the calls after inlining", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.InstrumentFunctionsAfterInlining, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 6612#endif // CODEGEN_OPTION_WITH_MARSHALLING 6613#ifdef CODEGEN_OPTION_WITH_MARSHALLING 6614CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-finstrument-function-entry-bare", finstrument_function_entry_bare, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 6615 "Instrument function entry only, after inlining, without arguments to the instrumentation call", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.InstrumentFunctionEntryBare, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 6616#endif // CODEGEN_OPTION_WITH_MARSHALLING 6617#ifdef CODEGEN_OPTION_WITH_MARSHALLING 6618CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-mfunction-return=", mfunction_return_EQ, Joined, m_Group, INVALID, nullptr, 0, DefaultVis | CLOption | CC1Option | DefaultVis | CLOption, 0, 6619 "Replace returns with jumps to ``__x86_return_thunk`` (x86 only, error otherwise)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, "keep,thunk-extern", true, 0, CodeGenOpts.FunctionReturnThunks, llvm::FunctionReturnThunksKind::Keep, false, llvm::FunctionReturnThunksKind::Keep, normalizeSimpleEnum, denormalizeSimpleEnum, mergeForwardValue, extractForwardValue, 15) 6620#endif // CODEGEN_OPTION_WITH_MARSHALLING 6621#ifdef CODEGEN_OPTION_WITH_MARSHALLING 6622CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-mindirect-branch-cs-prefix", mindirect_branch_cs_prefix, Flag, m_Group, INVALID, nullptr, 0, DefaultVis | CLOption | CC1Option | DefaultVis | CLOption, 0, 6623 "Add cs prefix to call and jmp to indirect thunk", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.IndirectBranchCSPrefix, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 6624#endif // CODEGEN_OPTION_WITH_MARSHALLING 6625#ifdef LANG_OPTION_WITH_MARSHALLING 6626LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fxray-instrument", fxray_instrument, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis, 0, 6627 "Generate XRay instrumentation sleds on function entry and exit", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->XRayInstrument, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_xray_instrument), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1) 6628#endif // LANG_OPTION_WITH_MARSHALLING 6629#ifdef LANG_OPTION_WITH_MARSHALLING 6630LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fno-xray-instrument", fno_xray_instrument, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, 6631 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->XRayInstrument, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_fxray_instrument), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1) 6632#endif // LANG_OPTION_WITH_MARSHALLING 6633#ifdef CODEGEN_OPTION_WITH_MARSHALLING 6634CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-fxray-instruction-threshold=", fxray_instruction_threshold_EQ, Joined, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 6635 "Sets the minimum function size to instrument with XRay", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.XRayInstructionThreshold, 200, false, 200, normalizeStringIntegral<unsigned>, denormalizeString<unsigned>, mergeForwardValue, extractForwardValue, -1) 6636#endif // CODEGEN_OPTION_WITH_MARSHALLING 6637#ifdef LANG_OPTION_WITH_MARSHALLING 6638LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fxray-always-instrument=", fxray_always_instrument, Joined, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 6639 "DEPRECATED: Filename defining the whitelist for imbuing the 'always instrument' XRay attribute.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->XRayAlwaysInstrumentFiles, std::vector<std::string>({}), false, std::vector<std::string>({}), normalizeStringVector, denormalizeStringVector, mergeForwardValue, extractForwardValue, -1) 6640#endif // LANG_OPTION_WITH_MARSHALLING 6641#ifdef LANG_OPTION_WITH_MARSHALLING 6642LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fxray-never-instrument=", fxray_never_instrument, Joined, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 6643 "DEPRECATED: Filename defining the whitelist for imbuing the 'never instrument' XRay attribute.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->XRayNeverInstrumentFiles, std::vector<std::string>({}), false, std::vector<std::string>({}), normalizeStringVector, denormalizeStringVector, mergeForwardValue, extractForwardValue, -1) 6644#endif // LANG_OPTION_WITH_MARSHALLING 6645#ifdef LANG_OPTION_WITH_MARSHALLING 6646LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fxray-attr-list=", fxray_attr_list, Joined, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 6647 "Filename defining the list of functions/types for imbuing XRay attributes.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->XRayAttrListFiles, std::vector<std::string>({}), false, std::vector<std::string>({}), normalizeStringVector, denormalizeStringVector, mergeForwardValue, extractForwardValue, -1) 6648#endif // LANG_OPTION_WITH_MARSHALLING 6649#ifdef LANG_OPTION_WITH_MARSHALLING 6650LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fxray-always-emit-customevents", fxray_always_emit_customevents, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis, 0, 6651 "Always emit __xray_customevent(...) calls even if the containing function is not always instrumented", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->XRayAlwaysEmitCustomEvents, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_xray_always_emit_customevents), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1) 6652#endif // LANG_OPTION_WITH_MARSHALLING 6653#ifdef LANG_OPTION_WITH_MARSHALLING 6654LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fno-xray-always-emit-customevents", fno_xray_always_emit_customevents, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, 6655 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->XRayAlwaysEmitCustomEvents, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_fxray_always_emit_customevents), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1) 6656#endif // LANG_OPTION_WITH_MARSHALLING 6657#ifdef LANG_OPTION_WITH_MARSHALLING 6658LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fxray-always-emit-typedevents", fxray_always_emit_typedevents, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis, 0, 6659 "Always emit __xray_typedevent(...) calls even if the containing function is not always instrumented", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->XRayAlwaysEmitTypedEvents, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_xray_always_emit_typedevents), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1) 6660#endif // LANG_OPTION_WITH_MARSHALLING 6661#ifdef LANG_OPTION_WITH_MARSHALLING 6662LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fno-xray-always-emit-typedevents", fno_xray_always_emit_typedevents, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, 6663 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->XRayAlwaysEmitTypedEvents, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_fxray_always_emit_typedevents), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1) 6664#endif // LANG_OPTION_WITH_MARSHALLING 6665#ifdef CODEGEN_OPTION_WITH_MARSHALLING 6666CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-fxray-ignore-loops", fxray_ignore_loops, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis, 0, 6667 "Don't instrument functions with loops unless they also meet the minimum function size", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.XRayIgnoreLoops, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_xray_ignore_loops), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1) 6668#endif // CODEGEN_OPTION_WITH_MARSHALLING 6669#ifdef CODEGEN_OPTION_WITH_MARSHALLING 6670CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-fno-xray-ignore-loops", fno_xray_ignore_loops, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, 6671 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.XRayIgnoreLoops, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_fxray_ignore_loops), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1) 6672#endif // CODEGEN_OPTION_WITH_MARSHALLING 6673#ifdef CODEGEN_OPTION_WITH_MARSHALLING 6674CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-fxray-function-index", fxray_function_index, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | DefaultVis, 0, 6675 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.XRayFunctionIndex, true, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_xray_function_index), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1) 6676#endif // CODEGEN_OPTION_WITH_MARSHALLING 6677#ifdef CODEGEN_OPTION_WITH_MARSHALLING 6678CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-fno-xray-function-index", fno_xray_function_index, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis, 0, 6679 "Omit function index section at the expense of single-function patching performance", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.XRayFunctionIndex, true, false, false, makeBooleanOptionNormalizer(false, true, OPT_fxray_function_index), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1) 6680#endif // CODEGEN_OPTION_WITH_MARSHALLING 6681#ifdef CODEGEN_OPTION_WITH_MARSHALLING 6682CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-fxray-function-groups=", fxray_function_groups, Joined, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 6683 "Only instrument 1 of N groups", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.XRayTotalFunctionGroups, 1, false, 1, normalizeStringIntegral<unsigned>, denormalizeString<unsigned>, mergeForwardValue, extractForwardValue, -1) 6684#endif // CODEGEN_OPTION_WITH_MARSHALLING 6685#ifdef CODEGEN_OPTION_WITH_MARSHALLING 6686CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-fxray-selected-function-group=", fxray_selected_function_group, Joined, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 6687 "When using -fxray-function-groups, select which group of functions to instrument. Valid range is 0 to fxray-function-groups - 1", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.XRaySelectedFunctionGroup, 0, false, 0, normalizeStringIntegral<unsigned>, denormalizeString<unsigned>, mergeForwardValue, extractForwardValue, -1) 6688#endif // CODEGEN_OPTION_WITH_MARSHALLING 6689#ifdef CODEGEN_OPTION_WITH_MARSHALLING 6690CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-ffine-grained-bitfield-accesses", ffine_grained_bitfield_accesses, Flag, f_clang_Group, INVALID, nullptr, 0, DefaultVis | DefaultVis | CC1Option, 0, 6691 "Use separate accesses for consecutive bitfield runs with legal widths and alignments.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.FineGrainedBitfieldAccesses, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_fine_grained_bitfield_accesses), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1) 6692#endif // CODEGEN_OPTION_WITH_MARSHALLING 6693#ifdef CODEGEN_OPTION_WITH_MARSHALLING 6694CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-fno-fine-grained-bitfield-accesses", fno_fine_grained_bitfield_accesses, Flag, f_clang_Group, INVALID, nullptr, 0, DefaultVis | DefaultVis | CC1Option, 0, 6695 "Use large-integer access for consecutive bitfield runs.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.FineGrainedBitfieldAccesses, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_ffine_grained_bitfield_accesses), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1) 6696#endif // CODEGEN_OPTION_WITH_MARSHALLING 6697#ifdef LANG_OPTION_WITH_MARSHALLING 6698LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fexperimental-omit-vtable-rtti", fexperimental_omit_vtable_rtti, Flag, f_Group, INVALID, nullptr, 0, CC1Option | CC1Option, 0, 6699 "Omit the RTTI component from virtual tables", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->OmitVTableRTTI, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_experimental_omit_vtable_rtti), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1) 6700#endif // LANG_OPTION_WITH_MARSHALLING 6701#ifdef LANG_OPTION_WITH_MARSHALLING 6702LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fno-experimental-omit-vtable-rtti", fno_experimental_omit_vtable_rtti, Flag, f_Group, INVALID, nullptr, 0, CC1Option | CC1Option, 0, 6703 "Do not omit the RTTI component from virtual tables", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->OmitVTableRTTI, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_fexperimental_omit_vtable_rtti), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1) 6704#endif // LANG_OPTION_WITH_MARSHALLING 6705#ifdef LANG_OPTION_WITH_MARSHALLING 6706LANG_OPTION_WITH_MARSHALLING(prefix_1, "-flax-vector-conversions=", flax_vector_conversions_EQ, Joined, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 6707 "Enable implicit vector bit-casts", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, "none,integer,all", true, 0, LangOpts->LaxVectorConversions, LangOpts->OpenCL ? LangOptions::LaxVectorConversionKind::None : LangOptions::LaxVectorConversionKind::All, false, LangOpts->OpenCL ? LangOptions::LaxVectorConversionKind::None : LangOptions::LaxVectorConversionKind::All, normalizeSimpleEnum, denormalizeSimpleEnum, mergeForwardValue, extractForwardValue, 16) 6708#endif // LANG_OPTION_WITH_MARSHALLING 6709#ifdef FRONTEND_OPTION_WITH_MARSHALLING 6710FRONTEND_OPTION_WITH_MARSHALLING(prefix_1, "-fclangir", fclangir, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis | CC1Option, 0, 6711 "Use the ClangIR pipeline to compile", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, FrontendOpts.UseClangIRPipeline, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_clangir), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1) 6712#endif // FRONTEND_OPTION_WITH_MARSHALLING 6713#ifdef FRONTEND_OPTION_WITH_MARSHALLING 6714FRONTEND_OPTION_WITH_MARSHALLING(prefix_1, "-fno-clangir", fno_clangir, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis | CC1Option, 0, 6715 "Use the AST -> LLVM pipeline to compile", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, FrontendOpts.UseClangIRPipeline, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_fclangir), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1) 6716#endif // FRONTEND_OPTION_WITH_MARSHALLING 6717#ifdef CODEGEN_OPTION_WITH_MARSHALLING 6718CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-funified-lto", funified_lto, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | DefaultVis | CC1Option, 0, 6719 "Use the unified LTO pipeline", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.UnifiedLTO, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_unified_lto), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1) 6720#endif // CODEGEN_OPTION_WITH_MARSHALLING 6721#ifdef CODEGEN_OPTION_WITH_MARSHALLING 6722CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-fno-unified-lto", fno_unified_lto, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | DefaultVis | CC1Option, 0, 6723 "Use distinct LTO pipelines", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.UnifiedLTO, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_funified_lto), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1) 6724#endif // CODEGEN_OPTION_WITH_MARSHALLING 6725#ifdef CODEGEN_OPTION_WITH_MARSHALLING 6726CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-fthin-link-bitcode=", fthin_link_bitcode_EQ, Joined, f_Group, INVALID, nullptr, 0, DefaultVis | CLOption | CC1Option, 0, 6727 "Write minimized bitcode to <file> for the ThinLTO thin link only", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.ThinLinkBitcodeFile, std::string(), false, std::string(), normalizeString, denormalizeString, mergeForwardValue, extractForwardValue, -1) 6728#endif // CODEGEN_OPTION_WITH_MARSHALLING 6729#ifdef CODEGEN_OPTION_WITH_MARSHALLING 6730CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-ffat-lto-objects", ffat_lto_objects, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis | CC1Option, 0, 6731 "Enable fat LTO object support", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.FatLTO, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_fat_lto_objects), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1) 6732#endif // CODEGEN_OPTION_WITH_MARSHALLING 6733#ifdef CODEGEN_OPTION_WITH_MARSHALLING 6734CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-fno-fat-lto-objects", fno_fat_lto_objects, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis | CC1Option, 0, 6735 "Disable fat LTO object support", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.FatLTO, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_ffat_lto_objects), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1) 6736#endif // CODEGEN_OPTION_WITH_MARSHALLING 6737#ifdef DIAG_OPTION_WITH_MARSHALLING 6738DIAG_OPTION_WITH_MARSHALLING(prefix_1, "-fmacro-backtrace-limit=", fmacro_backtrace_limit_EQ, Joined, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | CLOption, 0, 6739 "Set the maximum number of entries to print in a macro expansion backtrace (0 = no limit)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, DiagnosticOpts->MacroBacktraceLimit, DiagnosticOptions::DefaultMacroBacktraceLimit, false, DiagnosticOptions::DefaultMacroBacktraceLimit, normalizeStringIntegral<unsigned>, denormalizeString<unsigned>, mergeForwardValue, extractForwardValue, -1) 6740#endif // DIAG_OPTION_WITH_MARSHALLING 6741#ifdef DIAG_OPTION_WITH_MARSHALLING 6742DIAG_OPTION_WITH_MARSHALLING(prefix_1, "-fcaret-diagnostics-max-lines=", fcaret_diagnostics_max_lines_EQ, Joined, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | CLOption | DXCOption, 0, 6743 "Set the maximum number of source lines to show in a caret diagnostic (0 = no limit).", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, DiagnosticOpts->SnippetLineLimit, DiagnosticOptions::DefaultSnippetLineLimit, false, DiagnosticOptions::DefaultSnippetLineLimit, normalizeStringIntegral<unsigned>, denormalizeString<unsigned>, mergeForwardValue, extractForwardValue, -1) 6744#endif // DIAG_OPTION_WITH_MARSHALLING 6745#ifdef CODEGEN_OPTION_WITH_MARSHALLING 6746CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-fmerge-all-constants", fmerge_all_constants, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | CLOption | DefaultVis, 0, 6747 "Allow merging of constants", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.MergeAllConstants, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_merge_all_constants), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1) 6748#endif // CODEGEN_OPTION_WITH_MARSHALLING 6749#ifdef CODEGEN_OPTION_WITH_MARSHALLING 6750CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-fno-merge-all-constants", fno_merge_all_constants, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | DefaultVis, 0, 6751 "Disallow merging of constants", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.MergeAllConstants, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_fmerge_all_constants), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1) 6752#endif // CODEGEN_OPTION_WITH_MARSHALLING 6753#ifdef DIAG_OPTION_WITH_MARSHALLING 6754DIAG_OPTION_WITH_MARSHALLING(prefix_1, "-fmessage-length=", fmessage_length_EQ, Joined, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 6755 "Format message diagnostics so that they fit within N columns", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, DiagnosticOpts->MessageLength, 0, false, 0, normalizeStringIntegral<unsigned>, denormalizeString<unsigned>, mergeForwardValue, extractForwardValue, -1) 6756#endif // DIAG_OPTION_WITH_MARSHALLING 6757#ifdef LANG_OPTION_WITH_MARSHALLING 6758LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fms-compatibility", fms_compatibility, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | CLOption, 0, 6759 "Enable full Microsoft Visual C++ compatibility", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->MSVCCompat, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 6760#endif // LANG_OPTION_WITH_MARSHALLING 6761#ifdef LANG_OPTION_WITH_MARSHALLING 6762LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fms-define-stdc", fms_define_stdc, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | CLOption, 0, 6763 "Define '__STDC__' to '1' in MSVC Compatibility mode", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->MSVCEnableStdcMacro, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 6764#endif // LANG_OPTION_WITH_MARSHALLING 6765#ifdef LANG_OPTION_WITH_MARSHALLING 6766LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fms-extensions", fms_extensions, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | CLOption, 0, 6767 "Accept some non-standard constructs supported by the Microsoft compiler", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->MicrosoftExt, false, false || LangOpts->MSVCCompat, true, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 6768#endif // LANG_OPTION_WITH_MARSHALLING 6769#ifdef LANG_OPTION_WITH_MARSHALLING 6770LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fasm-blocks", fasm_blocks, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis, 0, 6771 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->AsmBlocks, LangOpts->MicrosoftExt, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_asm_blocks), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1) 6772#endif // LANG_OPTION_WITH_MARSHALLING 6773#ifdef LANG_OPTION_WITH_MARSHALLING 6774LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fno-asm-blocks", fno_asm_blocks, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, 6775 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->AsmBlocks, LangOpts->MicrosoftExt, false, false, makeBooleanOptionNormalizer(false, true, OPT_fasm_blocks), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1) 6776#endif // LANG_OPTION_WITH_MARSHALLING 6777#ifdef LANG_OPTION_WITH_MARSHALLING 6778LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fms-volatile", fms_volatile, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis, 0, 6779 "Volatile loads and stores have acquire and release semantics", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->MSVolatile, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_ms_volatile), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1) 6780#endif // LANG_OPTION_WITH_MARSHALLING 6781#ifdef LANG_OPTION_WITH_MARSHALLING 6782LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fno-ms-volatile", fno_ms_volatile, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, 6783 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->MSVolatile, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_fms_volatile), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1) 6784#endif // LANG_OPTION_WITH_MARSHALLING 6785#ifdef LANG_OPTION_WITH_MARSHALLING 6786LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fdelayed-template-parsing", fdelayed_template_parsing, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis | CLOption, 0, 6787 "Parse templated function definitions at the end of the translation unit", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->DelayedTemplateParsing, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_delayed_template_parsing), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1) 6788#endif // LANG_OPTION_WITH_MARSHALLING 6789#ifdef LANG_OPTION_WITH_MARSHALLING 6790LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fno-delayed-template-parsing", fno_delayed_template_parsing, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CLOption, 0, 6791 "Disable delayed template parsing", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->DelayedTemplateParsing, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_fdelayed_template_parsing), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1) 6792#endif // LANG_OPTION_WITH_MARSHALLING 6793#ifdef LANG_OPTION_WITH_MARSHALLING 6794LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fms-memptr-rep=", fms_memptr_rep_EQ, Joined, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, "single,multiple,virtual", true, 0, LangOpts->MSPointerToMemberRepresentationMethod, LangOptions::PPTMK_BestCase, false, LangOptions::PPTMK_BestCase, normalizeSimpleEnum, denormalizeSimpleEnum, mergeForwardValue, extractForwardValue, 17) 6795#endif // LANG_OPTION_WITH_MARSHALLING 6796#ifdef LANG_OPTION_WITH_MARSHALLING 6797LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fms-kernel", fms_kernel, Flag, f_Group, INVALID, nullptr, 0, CC1Option, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->Kernel, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 6798#endif // LANG_OPTION_WITH_MARSHALLING 6799#ifdef LANG_OPTION_WITH_MARSHALLING 6800LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fdeclspec", fdeclspec, Flag, f_clang_Group, INVALID, nullptr, 0, DefaultVis | DefaultVis | CC1Option, 0, 6801 "Allow __declspec as a keyword", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->DeclSpecKeyword, false, false || LangOpts->MicrosoftExt || LangOpts->Borland || LangOpts->CUDA, true, makeBooleanOptionNormalizer(true, false, OPT_fno_declspec), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1) 6802#endif // LANG_OPTION_WITH_MARSHALLING 6803#ifdef LANG_OPTION_WITH_MARSHALLING 6804LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fno-declspec", fno_declspec, Flag, f_clang_Group, INVALID, nullptr, 0, DefaultVis | DefaultVis | CC1Option, 0, 6805 "Disallow __declspec as a keyword", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->DeclSpecKeyword, false, false || LangOpts->MicrosoftExt || LangOpts->Borland || LangOpts->CUDA, true, makeBooleanOptionNormalizer(false, true, OPT_fdeclspec), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1) 6806#endif // LANG_OPTION_WITH_MARSHALLING 6807#ifdef HEADER_SEARCH_OPTION_WITH_MARSHALLING 6808HEADER_SEARCH_OPTION_WITH_MARSHALLING(prefix_1, "-fmodules-user-build-path", fmodules_user_build_path, Separate, i_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 6809 "Specify the module user build path", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "<directory>", nullptr, true, 0, HeaderSearchOpts->ModuleUserBuildPath, std::string(), false, std::string(), normalizeString, denormalizeString, mergeForwardValue, extractForwardValue, -1) 6810#endif // HEADER_SEARCH_OPTION_WITH_MARSHALLING 6811#ifdef HEADER_SEARCH_OPTION_WITH_MARSHALLING 6812HEADER_SEARCH_OPTION_WITH_MARSHALLING(prefix_1, "-fprebuilt-implicit-modules", fprebuilt_implicit_modules, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | DefaultVis | CC1Option, 0, 6813 "Look up implicit modules in the prebuilt module path", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, HeaderSearchOpts->EnablePrebuiltImplicitModules, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_prebuilt_implicit_modules), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1) 6814#endif // HEADER_SEARCH_OPTION_WITH_MARSHALLING 6815#ifdef HEADER_SEARCH_OPTION_WITH_MARSHALLING 6816HEADER_SEARCH_OPTION_WITH_MARSHALLING(prefix_1, "-fno-prebuilt-implicit-modules", fno_prebuilt_implicit_modules, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 6817 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, HeaderSearchOpts->EnablePrebuiltImplicitModules, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_fprebuilt_implicit_modules), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1) 6818#endif // HEADER_SEARCH_OPTION_WITH_MARSHALLING 6819#ifdef FRONTEND_OPTION_WITH_MARSHALLING 6820FRONTEND_OPTION_WITH_MARSHALLING(prefix_1, "-fmodule-output=", fmodule_output_EQ, Joined, INVALID, INVALID, nullptr, NoXarchOption, DefaultVis | CLOption | CC1Option, 0, 6821 "Save intermediate module file results when compiling a standard C++ module unit.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, FrontendOpts.ModuleOutputPath, std::string(), false, std::string(), normalizeString, denormalizeString, mergeForwardValue, extractForwardValue, -1) 6822#endif // FRONTEND_OPTION_WITH_MARSHALLING 6823#ifdef LANG_OPTION_WITH_MARSHALLING 6824LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fskip-odr-check-in-gmf", fskip_odr_check_in_gmf, Flag, f_Group, INVALID, nullptr, 0, CC1Option | DefaultVis, 0, 6825 "Skip ODR checks for decls in the global module fragment.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->SkipODRCheckInGMF, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_skip_odr_check_in_gmf), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1) 6826#endif // LANG_OPTION_WITH_MARSHALLING 6827#ifdef LANG_OPTION_WITH_MARSHALLING 6828LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fno-skip-odr-check-in-gmf", fno_skip_odr_check_in_gmf, Flag, f_Group, INVALID, nullptr, 0, CC1Option | DefaultVis, 0, 6829 "Perform ODR checks for decls in the global module fragment.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->SkipODRCheckInGMF, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_fskip_odr_check_in_gmf), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1) 6830#endif // LANG_OPTION_WITH_MARSHALLING 6831#ifdef FRONTEND_OPTION_WITH_MARSHALLING 6832FRONTEND_OPTION_WITH_MARSHALLING(prefix_1, "-fexperimental-modules-reduced-bmi", modules_reduced_bmi, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 6833 "Generate the reduced BMI", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, FrontendOpts.GenReducedBMI, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 6834#endif // FRONTEND_OPTION_WITH_MARSHALLING 6835#ifdef HEADER_SEARCH_OPTION_WITH_MARSHALLING 6836HEADER_SEARCH_OPTION_WITH_MARSHALLING(prefix_1, "-fmodules-prune-interval=", fmodules_prune_interval, Joined, i_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 6837 "Specify the interval (in seconds) between attempts to prune the module cache", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "<seconds>", nullptr, true, 0, HeaderSearchOpts->ModuleCachePruneInterval, 7 * 24 * 60 * 60, false, 7 * 24 * 60 * 60, normalizeStringIntegral<unsigned>, denormalizeString<unsigned>, mergeForwardValue, extractForwardValue, -1) 6838#endif // HEADER_SEARCH_OPTION_WITH_MARSHALLING 6839#ifdef HEADER_SEARCH_OPTION_WITH_MARSHALLING 6840HEADER_SEARCH_OPTION_WITH_MARSHALLING(prefix_1, "-fmodules-prune-after=", fmodules_prune_after, Joined, i_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 6841 "Specify the interval (in seconds) after which a module file will be considered unused", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "<seconds>", nullptr, true, 0, HeaderSearchOpts->ModuleCachePruneAfter, 31 * 24 * 60 * 60, false, 31 * 24 * 60 * 60, normalizeStringIntegral<unsigned>, denormalizeString<unsigned>, mergeForwardValue, extractForwardValue, -1) 6842#endif // HEADER_SEARCH_OPTION_WITH_MARSHALLING 6843#ifdef HEADER_SEARCH_OPTION_WITH_MARSHALLING 6844HEADER_SEARCH_OPTION_WITH_MARSHALLING(prefix_1, "-fbuild-session-timestamp=", fbuild_session_timestamp, Joined, i_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 6845 "Time when the current build session started", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "<time since Epoch in seconds>", nullptr, true, 0, HeaderSearchOpts->BuildSessionTimestamp, 0, false, 0, normalizeStringIntegral<uint64_t>, denormalizeString<uint64_t>, mergeForwardValue, extractForwardValue, -1) 6846#endif // HEADER_SEARCH_OPTION_WITH_MARSHALLING 6847#ifdef HEADER_SEARCH_OPTION_WITH_MARSHALLING 6848HEADER_SEARCH_OPTION_WITH_MARSHALLING(prefix_1, "-fmodules-validate-once-per-build-session", fmodules_validate_once_per_build_session, Flag, i_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 6849 "Don't verify input files for the modules if the module has been successfully validated or loaded during this build session", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, HeaderSearchOpts->ModulesValidateOncePerBuildSession, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 6850#endif // HEADER_SEARCH_OPTION_WITH_MARSHALLING 6851#ifdef HEADER_SEARCH_OPTION_WITH_MARSHALLING 6852HEADER_SEARCH_OPTION_WITH_MARSHALLING(prefix_1, "-fmodules-disable-diagnostic-validation", fmodules_disable_diagnostic_validation, Flag, i_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 6853 "Disable validation of the diagnostic options when loading the module", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, HeaderSearchOpts->ModulesValidateDiagnosticOptions, true, false, true, normalizeSimpleNegativeFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 6854#endif // HEADER_SEARCH_OPTION_WITH_MARSHALLING 6855#ifdef HEADER_SEARCH_OPTION_WITH_MARSHALLING 6856HEADER_SEARCH_OPTION_WITH_MARSHALLING(prefix_1, "-fmodules-validate-system-headers", fmodules_validate_system_headers, Flag, i_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis, 0, 6857 "Validate the system headers that a module depends on when loading the module", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, HeaderSearchOpts->ModulesValidateSystemHeaders, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_modules_validate_system_headers), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1) 6858#endif // HEADER_SEARCH_OPTION_WITH_MARSHALLING 6859#ifdef HEADER_SEARCH_OPTION_WITH_MARSHALLING 6860HEADER_SEARCH_OPTION_WITH_MARSHALLING(prefix_1, "-fno-modules-validate-system-headers", fno_modules_validate_system_headers, Flag, i_Group, INVALID, nullptr, 0, DefaultVis, 0, 6861 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, HeaderSearchOpts->ModulesValidateSystemHeaders, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_fmodules_validate_system_headers), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1) 6862#endif // HEADER_SEARCH_OPTION_WITH_MARSHALLING 6863#ifdef LANG_OPTION_WITH_MARSHALLING 6864LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fno-modules-validate-textual-header-includes", fno_modules_validate_textual_header_includes, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 6865 "Do not enforce -fmodules-decluse and private header restrictions for textual headers. This flag will be removed in a future Clang release.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->ModulesValidateTextualHeaderIncludes, true, false, true, normalizeSimpleNegativeFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 6866#endif // LANG_OPTION_WITH_MARSHALLING 6867#ifdef HEADER_SEARCH_OPTION_WITH_MARSHALLING 6868HEADER_SEARCH_OPTION_WITH_MARSHALLING(prefix_1, "-fmodules-skip-diagnostic-options", fmodules_skip_diagnostic_options, Flag, f_Group, INVALID, nullptr, 0, CC1Option, 0, 6869 "Disable writing diagnostic options", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, HeaderSearchOpts->ModulesSkipDiagnosticOptions, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_modules_skip_diagnostic_options), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1) 6870#endif // HEADER_SEARCH_OPTION_WITH_MARSHALLING 6871#ifdef HEADER_SEARCH_OPTION_WITH_MARSHALLING 6872HEADER_SEARCH_OPTION_WITH_MARSHALLING(prefix_1, "-fno-modules-skip-diagnostic-options", fno_modules_skip_diagnostic_options, Flag, f_Group, INVALID, nullptr, 0, CC1Option, 0, 6873 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, HeaderSearchOpts->ModulesSkipDiagnosticOptions, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_fmodules_skip_diagnostic_options), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1) 6874#endif // HEADER_SEARCH_OPTION_WITH_MARSHALLING 6875#ifdef HEADER_SEARCH_OPTION_WITH_MARSHALLING 6876HEADER_SEARCH_OPTION_WITH_MARSHALLING(prefix_1, "-fmodules-skip-header-search-paths", fmodules_skip_header_search_paths, Flag, f_Group, INVALID, nullptr, 0, CC1Option, 0, 6877 "Disable writing header search paths", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, HeaderSearchOpts->ModulesSkipHeaderSearchPaths, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_modules_skip_header_search_paths), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1) 6878#endif // HEADER_SEARCH_OPTION_WITH_MARSHALLING 6879#ifdef HEADER_SEARCH_OPTION_WITH_MARSHALLING 6880HEADER_SEARCH_OPTION_WITH_MARSHALLING(prefix_1, "-fno-modules-skip-header-search-paths", fno_modules_skip_header_search_paths, Flag, f_Group, INVALID, nullptr, 0, CC1Option, 0, 6881 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, HeaderSearchOpts->ModulesSkipHeaderSearchPaths, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_fmodules_skip_header_search_paths), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1) 6882#endif // HEADER_SEARCH_OPTION_WITH_MARSHALLING 6883#ifdef HEADER_SEARCH_OPTION_WITH_MARSHALLING 6884HEADER_SEARCH_OPTION_WITH_MARSHALLING(prefix_1, "-fno-modules-prune-non-affecting-module-map-files", fno_modules_prune_non_affecting_module_map_files, Flag, f_Group, INVALID, nullptr, 0, CC1Option, 0, 6885 "Do not prune non-affecting module map files when writing module files", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, HeaderSearchOpts->ModulesPruneNonAffectingModuleMaps, true, false, true, normalizeSimpleNegativeFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 6886#endif // HEADER_SEARCH_OPTION_WITH_MARSHALLING 6887#ifdef LANG_OPTION_WITH_MARSHALLING 6888LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fincremental-extensions", fincremental_extensions, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 6889 "Enable incremental processing extensions such as processingstatements on the global scope.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->IncrementalExtensions, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 6890#endif // LANG_OPTION_WITH_MARSHALLING 6891#ifdef HEADER_SEARCH_OPTION_WITH_MARSHALLING 6892HEADER_SEARCH_OPTION_WITH_MARSHALLING(prefix_1, "-fvalidate-ast-input-files-content", fvalidate_ast_input_files_content, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 6893 "Compute and store the hash of input files used to build an AST. Files with mismatching mtime's are considered valid if both contents is identical", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, HeaderSearchOpts->ValidateASTInputFilesContent, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 6894#endif // HEADER_SEARCH_OPTION_WITH_MARSHALLING 6895#ifdef HEADER_SEARCH_OPTION_WITH_MARSHALLING 6896HEADER_SEARCH_OPTION_WITH_MARSHALLING(prefix_1, "-fforce-check-cxx20-modules-input-files", fforce_check_cxx20_modules_input_files, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 6897 "Check the input source files from C++20 modules explicitly", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, HeaderSearchOpts->ForceCheckCXX20ModulesInputFiles, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 6898#endif // HEADER_SEARCH_OPTION_WITH_MARSHALLING 6899#ifdef LANG_OPTION_WITH_MARSHALLING 6900LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fpch-instantiate-templates", fpch_instantiate_templates, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | DefaultVis | CC1Option | CLOption, 0, 6901 "Instantiate templates already while building a PCH", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->PCHInstantiateTemplates, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_pch_instantiate_templates), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1) 6902#endif // LANG_OPTION_WITH_MARSHALLING 6903#ifdef LANG_OPTION_WITH_MARSHALLING 6904LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fno-pch-instantiate-templates", fno_pch_instantiate_templates, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | CLOption, 0, 6905 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->PCHInstantiateTemplates, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_fpch_instantiate_templates), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1) 6906#endif // LANG_OPTION_WITH_MARSHALLING 6907#ifdef HEADER_SEARCH_OPTION_WITH_MARSHALLING 6908HEADER_SEARCH_OPTION_WITH_MARSHALLING(prefix_1, "-fimplicit-module-maps", fimplicit_module_maps, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | CLOption, 0, 6909 "Implicitly search the file system for module map files.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, HeaderSearchOpts->ImplicitModuleMaps, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 6910#endif // HEADER_SEARCH_OPTION_WITH_MARSHALLING 6911#ifdef HEADER_SEARCH_OPTION_WITH_MARSHALLING 6912HEADER_SEARCH_OPTION_WITH_MARSHALLING(prefix_1, "-fmodulemap-allow-subdirectory-search", fmodulemap_allow_subdirectory_search, Flag, f_Group, INVALID, nullptr, NoXarchOption, DefaultVis | CC1Option, 0, 6913 "Allow to search for module maps in subdirectories of search paths", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, HeaderSearchOpts->AllowModuleMapSubdirectorySearch, true, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_modulemap_allow_subdirectory_search), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1) 6914#endif // HEADER_SEARCH_OPTION_WITH_MARSHALLING 6915#ifdef HEADER_SEARCH_OPTION_WITH_MARSHALLING 6916HEADER_SEARCH_OPTION_WITH_MARSHALLING(prefix_1, "-fno-modulemap-allow-subdirectory-search", fno_modulemap_allow_subdirectory_search, Flag, f_Group, INVALID, nullptr, NoXarchOption, DefaultVis | CC1Option, 0, 6917 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, HeaderSearchOpts->AllowModuleMapSubdirectorySearch, true, false, false, makeBooleanOptionNormalizer(false, true, OPT_fmodulemap_allow_subdirectory_search), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1) 6918#endif // HEADER_SEARCH_OPTION_WITH_MARSHALLING 6919#ifdef LANG_OPTION_WITH_MARSHALLING 6920LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fmodules", fmodules, Flag, f_Group, INVALID, nullptr, NoXarchOption, DefaultVis | CC1Option | DefaultVis | CLOption, 0, 6921 "Enable the 'modules' language feature", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->Modules, LangOpts->CPlusPlusModules, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_modules), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1) 6922#endif // LANG_OPTION_WITH_MARSHALLING 6923#ifdef LANG_OPTION_WITH_MARSHALLING 6924LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fno-modules", fno_modules, Flag, f_Group, INVALID, nullptr, NoXarchOption, DefaultVis | CLOption, 0, 6925 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->Modules, LangOpts->CPlusPlusModules, false, false, makeBooleanOptionNormalizer(false, true, OPT_fmodules), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1) 6926#endif // LANG_OPTION_WITH_MARSHALLING 6927#ifdef LANG_OPTION_WITH_MARSHALLING 6928LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fbuiltin-headers-in-system-modules", fbuiltin_headers_in_system_modules, Flag, f_Group, INVALID, nullptr, 0, CC1Option, 0, 6929 "builtin headers belong to system modules, and _Builtin_ modules are ignored for cstdlib headers", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, LangOpts->Modules, 0, LangOpts->BuiltinHeadersInSystemModules, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 6930#endif // LANG_OPTION_WITH_MARSHALLING 6931#ifdef LANG_OPTION_WITH_MARSHALLING 6932LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fmodule-name=", fmodule_name_EQ, Joined, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | CLOption, 0, 6933 "Specify the name of the module to build", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "<name>", nullptr, true, 0, LangOpts->ModuleName, std::string(), false, std::string(), normalizeString, denormalizeString, mergeForwardValue, extractForwardValue, -1) 6934#endif // LANG_OPTION_WITH_MARSHALLING 6935#ifdef FRONTEND_OPTION_WITH_MARSHALLING 6936FRONTEND_OPTION_WITH_MARSHALLING(prefix_1, "-fsystem-module", fsystem_module, Flag, INVALID, INVALID, nullptr, 0, DefaultVis | CC1Option | CLOption, 0, 6937 "Build this module as a system module. Only used with -emit-module", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, FrontendOpts.IsSystemModule, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 6938#endif // FRONTEND_OPTION_WITH_MARSHALLING 6939#ifdef FRONTEND_OPTION_WITH_MARSHALLING 6940FRONTEND_OPTION_WITH_MARSHALLING(prefix_1, "-fmodule-map-file=", fmodule_map_file, Joined, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | CLOption, 0, 6941 "Load this module map file", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "<file>", nullptr, true, 0, FrontendOpts.ModuleMapFiles, std::vector<std::string>({}), false, std::vector<std::string>({}), normalizeStringVector, denormalizeStringVector, mergeForwardValue, extractForwardValue, -1) 6942#endif // FRONTEND_OPTION_WITH_MARSHALLING 6943#ifdef LANG_OPTION_WITH_MARSHALLING 6944LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fmodules-strict-decluse", fmodules_strict_decluse, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | CLOption, 0, 6945 "Like -fmodules-decluse but requires all headers to be in modules", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->ModulesStrictDeclUse, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 6946#endif // LANG_OPTION_WITH_MARSHALLING 6947#ifdef LANG_OPTION_WITH_MARSHALLING 6948LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fmodules-decluse", fmodules_decluse, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis | CLOption, 0, 6949 "Require declaration of modules used within a module", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->ModulesDeclUse, LangOpts->ModulesStrictDeclUse, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_modules_decluse), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1) 6950#endif // LANG_OPTION_WITH_MARSHALLING 6951#ifdef LANG_OPTION_WITH_MARSHALLING 6952LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fno-modules-decluse", fno_modules_decluse, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CLOption, 0, 6953 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->ModulesDeclUse, LangOpts->ModulesStrictDeclUse, false, false, makeBooleanOptionNormalizer(false, true, OPT_fmodules_decluse), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1) 6954#endif // LANG_OPTION_WITH_MARSHALLING 6955#ifdef LANG_OPTION_WITH_MARSHALLING 6956LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fmodules-search-all", fmodules_search_all, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | DefaultVis | CC1Option | CLOption, 0, 6957 "Search even non-imported modules to resolve references", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, LangOpts->Modules, 0, LangOpts->ModulesSearchAll, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_modules_search_all), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1) 6958#endif // LANG_OPTION_WITH_MARSHALLING 6959#ifdef LANG_OPTION_WITH_MARSHALLING 6960LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fno-modules-search-all", fno_modules_search_all, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | CLOption, 0, 6961 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, LangOpts->Modules, 0, LangOpts->ModulesSearchAll, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_fmodules_search_all), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1) 6962#endif // LANG_OPTION_WITH_MARSHALLING 6963#ifdef LANG_OPTION_WITH_MARSHALLING 6964LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fno-implicit-modules", fno_implicit_modules, Flag, f_Group, INVALID, nullptr, NoXarchOption, DefaultVis | CC1Option | DefaultVis | CLOption, 0, 6965 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->ImplicitModules, true, false, true, makeBooleanOptionNormalizer(false, true, OPT_fimplicit_modules), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1) 6966#endif // LANG_OPTION_WITH_MARSHALLING 6967#ifdef LANG_OPTION_WITH_MARSHALLING 6968LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fimplicit-modules", fimplicit_modules, Flag, f_Group, INVALID, nullptr, NoXarchOption, DefaultVis | CLOption, 0, 6969 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->ImplicitModules, true, false, true, makeBooleanOptionNormalizer(true, false, OPT_fno_implicit_modules), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1) 6970#endif // LANG_OPTION_WITH_MARSHALLING 6971#ifdef PREPROCESSOR_OPTION_WITH_MARSHALLING 6972PREPROCESSOR_OPTION_WITH_MARSHALLING(prefix_1, "-fno-modules-check-relocated", fno_modules_check_relocated, Joined, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 6973 "Skip checks for relocated modules when loading PCM files", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, PreprocessorOpts->ModulesCheckRelocated, true, false, true, normalizeSimpleNegativeFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 6974#endif // PREPROCESSOR_OPTION_WITH_MARSHALLING 6975#ifdef LANG_OPTION_WITH_MARSHALLING 6976LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fretain-comments-from-system-headers", fretain_comments_from_system_headers, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->RetainCommentsFromSystemHeaders, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 6977#endif // LANG_OPTION_WITH_MARSHALLING 6978#ifdef LANG_OPTION_WITH_MARSHALLING 6979LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fno-knr-functions", fno_knr_functions, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | CLOption, 0, 6980 "Disable support for K&R C function declarations", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->DisableKNRFunctions, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 6981#endif // LANG_OPTION_WITH_MARSHALLING 6982#ifdef CODEGEN_OPTION_WITH_MARSHALLING 6983CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-fno-assume-sane-operator-new", fno_assume_sane_operator_new, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 6984 "Don't assume that C++'s global operator new can't alias any pointer", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.AssumeSaneOperatorNew, true, false, true, normalizeSimpleNegativeFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 6985#endif // CODEGEN_OPTION_WITH_MARSHALLING 6986#ifdef LANG_OPTION_WITH_MARSHALLING 6987LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fdigraphs", fdigraphs, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | DefaultVis | CC1Option, 0, 6988 "Enable alternative token representations '<:', ':>', '<%', '%>', '%:', '%:%:' (default)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->Digraphs, LangStandard::getLangStandardForKind(LangOpts->LangStd).hasDigraphs(), false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_digraphs), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1) 6989#endif // LANG_OPTION_WITH_MARSHALLING 6990#ifdef LANG_OPTION_WITH_MARSHALLING 6991LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fno-digraphs", fno_digraphs, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | DefaultVis | CC1Option, 0, 6992 "Disallow alternative token representations '<:', ':>', '<%', '%>', '%:', '%:%:'", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->Digraphs, LangStandard::getLangStandardForKind(LangOpts->LangStd).hasDigraphs(), false, false, makeBooleanOptionNormalizer(false, true, OPT_fdigraphs), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1) 6993#endif // LANG_OPTION_WITH_MARSHALLING 6994#ifdef CODEGEN_OPTION_WITH_MARSHALLING 6995CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-fveclib=", fveclib, Joined, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | FlangOption | FC1Option, 0, 6996 "Use the given vector functions library", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, "Accelerate,libmvec,MASSV,SVML,SLEEF,Darwin_libsystem_m,ArmPL,AMDLIBM,none", true, 0, CodeGenOpts.VecLib, llvm::driver::VectorLibrary::NoLibrary, false, llvm::driver::VectorLibrary::NoLibrary, normalizeSimpleEnum, denormalizeSimpleEnum, mergeForwardValue, extractForwardValue, 18) 6997#endif // CODEGEN_OPTION_WITH_MARSHALLING 6998#ifdef LANG_OPTION_WITH_MARSHALLING 6999LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fno-operator-names", fno_operator_names, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis, 0, 7000 "Do not treat C++ operator name keywords as synonyms for operators", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->CXXOperatorNames, LangOpts->CPlusPlus, false, true, makeBooleanOptionNormalizer(false, true, OPT_foperator_names), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1) 7001#endif // LANG_OPTION_WITH_MARSHALLING 7002#ifdef LANG_OPTION_WITH_MARSHALLING 7003LANG_OPTION_WITH_MARSHALLING(prefix_1, "-foperator-names", foperator_names, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, 7004 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->CXXOperatorNames, LangOpts->CPlusPlus, false, true, makeBooleanOptionNormalizer(true, false, OPT_fno_operator_names), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1) 7005#endif // LANG_OPTION_WITH_MARSHALLING 7006#ifdef DIAG_OPTION_WITH_MARSHALLING 7007DIAG_OPTION_WITH_MARSHALLING(prefix_1, "-fdiagnostics-absolute-paths", fdiagnostics_absolute_paths, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | CLOption | DXCOption, 0, 7008 "Print absolute paths in diagnostics", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, DiagnosticOpts->AbsolutePath, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 7009#endif // DIAG_OPTION_WITH_MARSHALLING 7010#ifdef DIAG_OPTION_WITH_MARSHALLING 7011DIAG_OPTION_WITH_MARSHALLING(prefix_1, "-fno-diagnostics-show-line-numbers", fno_diagnostics_show_line_numbers, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis, 0, 7012 "Show line numbers in diagnostic code snippets", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, DiagnosticOpts->ShowLineNumbers, true, false, true, makeBooleanOptionNormalizer(false, true, OPT_fdiagnostics_show_line_numbers), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1) 7013#endif // DIAG_OPTION_WITH_MARSHALLING 7014#ifdef DIAG_OPTION_WITH_MARSHALLING 7015DIAG_OPTION_WITH_MARSHALLING(prefix_1, "-fdiagnostics-show-line-numbers", fdiagnostics_show_line_numbers, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, 7016 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, DiagnosticOpts->ShowLineNumbers, true, false, true, makeBooleanOptionNormalizer(true, false, OPT_fno_diagnostics_show_line_numbers), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1) 7017#endif // DIAG_OPTION_WITH_MARSHALLING 7018#ifdef FRONTEND_OPTION_WITH_MARSHALLING 7019FRONTEND_OPTION_WITH_MARSHALLING(prefix_1, "-fno-temp-file", fno_temp_file, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | CLOption | DXCOption, 0, 7020 "Directly create compilation output files. This may lead to incorrect incremental builds if the compiler crashes", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, FrontendOpts.UseTemporary, true, false, true, normalizeSimpleNegativeFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 7021#endif // FRONTEND_OPTION_WITH_MARSHALLING 7022#ifdef CODEGEN_OPTION_WITH_MARSHALLING 7023CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-fno-use-cxa-atexit", fno_use_cxa_atexit, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis, 0, 7024 "Don't use __cxa_atexit for calling destructors", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.CXAAtExit, true, false, true, makeBooleanOptionNormalizer(false, true, OPT_fuse_cxa_atexit), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1) 7025#endif // CODEGEN_OPTION_WITH_MARSHALLING 7026#ifdef CODEGEN_OPTION_WITH_MARSHALLING 7027CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-fuse-cxa-atexit", fuse_cxa_atexit, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, 7028 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.CXAAtExit, true, false, true, makeBooleanOptionNormalizer(true, false, OPT_fno_use_cxa_atexit), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1) 7029#endif // CODEGEN_OPTION_WITH_MARSHALLING 7030#ifdef CODEGEN_OPTION_WITH_MARSHALLING 7031CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-fno-verbose-asm", fno_verbose_asm, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.AsmVerbose, true, false, true, normalizeSimpleNegativeFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 7032#endif // CODEGEN_OPTION_WITH_MARSHALLING 7033#ifdef LANG_OPTION_WITH_MARSHALLING 7034LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fobjc-encode-cxx-class-template-spec", fobjc_encode_cxx_class_template_spec, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis, 0, 7035 "Fully encode c++ class template specialization", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->EncodeCXXClassTemplateSpec, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_objc_encode_cxx_class_template_spec), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1) 7036#endif // LANG_OPTION_WITH_MARSHALLING 7037#ifdef LANG_OPTION_WITH_MARSHALLING 7038LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fno-objc-encode-cxx-class-template-spec", fno_objc_encode_cxx_class_template_spec, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, 7039 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->EncodeCXXClassTemplateSpec, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_fobjc_encode_cxx_class_template_spec), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1) 7040#endif // LANG_OPTION_WITH_MARSHALLING 7041#ifdef CODEGEN_OPTION_WITH_MARSHALLING 7042CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-fno-objc-convert-messages-to-runtime-calls", fno_objc_convert_messages_to_runtime_calls, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis, 0, 7043 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.ObjCConvertMessagesToRuntimeCalls, true, false, true, makeBooleanOptionNormalizer(false, true, OPT_fobjc_convert_messages_to_runtime_calls), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1) 7044#endif // CODEGEN_OPTION_WITH_MARSHALLING 7045#ifdef CODEGEN_OPTION_WITH_MARSHALLING 7046CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-fobjc-convert-messages-to-runtime-calls", fobjc_convert_messages_to_runtime_calls, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, 7047 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.ObjCConvertMessagesToRuntimeCalls, true, false, true, makeBooleanOptionNormalizer(true, false, OPT_fno_objc_convert_messages_to_runtime_calls), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1) 7048#endif // CODEGEN_OPTION_WITH_MARSHALLING 7049#ifdef CODEGEN_OPTION_WITH_MARSHALLING 7050CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-fobjc-arc-exceptions", fobjc_arc_exceptions, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis, 0, 7051 "Use EH-safe code when synthesizing retains and releases in -fobjc-arc", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.ObjCAutoRefCountExceptions, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_objc_arc_exceptions), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1) 7052#endif // CODEGEN_OPTION_WITH_MARSHALLING 7053#ifdef CODEGEN_OPTION_WITH_MARSHALLING 7054CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-fno-objc-arc-exceptions", fno_objc_arc_exceptions, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, 7055 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.ObjCAutoRefCountExceptions, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_fobjc_arc_exceptions), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1) 7056#endif // CODEGEN_OPTION_WITH_MARSHALLING 7057#ifdef LANG_OPTION_WITH_MARSHALLING 7058LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fobjc-exceptions", fobjc_exceptions, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis, 0, 7059 "Enable Objective-C exceptions", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->ObjCExceptions, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_objc_exceptions), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1) 7060#endif // LANG_OPTION_WITH_MARSHALLING 7061#ifdef LANG_OPTION_WITH_MARSHALLING 7062LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fno-objc-exceptions", fno_objc_exceptions, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, 7063 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->ObjCExceptions, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_fobjc_exceptions), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1) 7064#endif // LANG_OPTION_WITH_MARSHALLING 7065#ifdef LANG_OPTION_WITH_MARSHALLING 7066LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fapplication-extension", fapplication_extension, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis, 0, 7067 "Restrict code to those available for App Extensions", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->AppExt, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_application_extension), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1) 7068#endif // LANG_OPTION_WITH_MARSHALLING 7069#ifdef LANG_OPTION_WITH_MARSHALLING 7070LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fno-application-extension", fno_application_extension, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, 7071 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->AppExt, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_fapplication_extension), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1) 7072#endif // LANG_OPTION_WITH_MARSHALLING 7073#ifdef LANG_OPTION_WITH_MARSHALLING 7074LANG_OPTION_WITH_MARSHALLING(prefix_1, "-frelaxed-template-template-args", frelaxed_template_template_args, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, 7075 "Enable C++17 relaxed template template argument matching", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->RelaxedTemplateTemplateArgs, true, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_relaxed_template_template_args), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1) 7076#endif // LANG_OPTION_WITH_MARSHALLING 7077#ifdef LANG_OPTION_WITH_MARSHALLING 7078LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fno-relaxed-template-template-args", fno_relaxed_template_template_args, Flag, f_Group, INVALID, nullptr, 0, CC1Option | DefaultVis, 0, 7079 "Disable C++17 relaxed template template argument matching", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->RelaxedTemplateTemplateArgs, true, false, false, makeBooleanOptionNormalizer(false, true, OPT_frelaxed_template_template_args), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1) 7080#endif // LANG_OPTION_WITH_MARSHALLING 7081#ifdef LANG_OPTION_WITH_MARSHALLING 7082LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fretain-subst-template-type-parm-type-ast-nodes", fretain_subst_template_type_parm_type_ast_nodes, Flag, f_Group, INVALID, nullptr, 0, CC1Option, 0, 7083 "Enable retain SubstTemplateTypeParmType nodes in the AST's representation of alias template specializations", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->RetainSubstTemplateTypeParmTypeAstNodes, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_retain_subst_template_type_parm_type_ast_nodes), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1) 7084#endif // LANG_OPTION_WITH_MARSHALLING 7085#ifdef LANG_OPTION_WITH_MARSHALLING 7086LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fno-retain-subst-template-type-parm-type-ast-nodes", fno_retain_subst_template_type_parm_type_ast_nodes, Flag, f_Group, INVALID, nullptr, 0, 0, 0, 7087 "Disable retain SubstTemplateTypeParmType nodes in the AST's representation of alias template specializations", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->RetainSubstTemplateTypeParmTypeAstNodes, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_fretain_subst_template_type_parm_type_ast_nodes), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1) 7088#endif // LANG_OPTION_WITH_MARSHALLING 7089#ifdef LANG_OPTION_WITH_MARSHALLING 7090LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fsized-deallocation", fsized_deallocation, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 7091 "Enable C++14 sized global deallocation functions", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->SizedDeallocation, LangOpts->CPlusPlus14, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_sized_deallocation), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1) 7092#endif // LANG_OPTION_WITH_MARSHALLING 7093#ifdef LANG_OPTION_WITH_MARSHALLING 7094LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fno-sized-deallocation", fno_sized_deallocation, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 7095 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->SizedDeallocation, LangOpts->CPlusPlus14, false, false, makeBooleanOptionNormalizer(false, true, OPT_fsized_deallocation), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1) 7096#endif // LANG_OPTION_WITH_MARSHALLING 7097#ifdef LANG_OPTION_WITH_MARSHALLING 7098LANG_OPTION_WITH_MARSHALLING(prefix_1, "-faligned-allocation", faligned_allocation, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | DefaultVis | CC1Option, 0, 7099 "Enable C++17 aligned allocation functions", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->AlignedAllocation, LangOpts->CPlusPlus17, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_aligned_allocation), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1) 7100#endif // LANG_OPTION_WITH_MARSHALLING 7101#ifdef LANG_OPTION_WITH_MARSHALLING 7102LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fno-aligned-allocation", fno_aligned_allocation, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 7103 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->AlignedAllocation, LangOpts->CPlusPlus17, false, false, makeBooleanOptionNormalizer(false, true, OPT_faligned_allocation), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1) 7104#endif // LANG_OPTION_WITH_MARSHALLING 7105#ifdef LANG_OPTION_WITH_MARSHALLING 7106LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fnew-alignment=", fnew_alignment_EQ, Joined, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 7107 "Specifies the largest alignment guaranteed by '::operator new(size_t)'", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "<align>", nullptr, true, 0, LangOpts->NewAlignOverride, 0, false, 0, normalizeStringIntegral<unsigned>, denormalizeString<unsigned>, mergeForwardValue, extractForwardValue, -1) 7108#endif // LANG_OPTION_WITH_MARSHALLING 7109#ifdef LANG_OPTION_WITH_MARSHALLING 7110LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fno-objc-infer-related-result-type", fno_objc_infer_related_result_type, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis, 0, 7111 "do not infer Objective-C related result type based on method family", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->ObjCInferRelatedResultType, true, false, true, makeBooleanOptionNormalizer(false, true, OPT_fobjc_infer_related_result_type), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1) 7112#endif // LANG_OPTION_WITH_MARSHALLING 7113#ifdef LANG_OPTION_WITH_MARSHALLING 7114LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fobjc-infer-related-result-type", fobjc_infer_related_result_type, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, 7115 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->ObjCInferRelatedResultType, true, false, true, makeBooleanOptionNormalizer(true, false, OPT_fno_objc_infer_related_result_type), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1) 7116#endif // LANG_OPTION_WITH_MARSHALLING 7117#ifdef LANG_OPTION_WITH_MARSHALLING 7118LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fobjc-disable-direct-methods-for-testing", fobjc_disable_direct_methods_for_testing, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 7119 "Ignore attribute objc_direct so that direct methods can be tested", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->ObjCDisableDirectMethodsForTesting, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 7120#endif // LANG_OPTION_WITH_MARSHALLING 7121#ifdef CODEGEN_OPTION_WITH_MARSHALLING 7122CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-fobjc-avoid-heapify-local-blocks", fobjc_avoid_heapify_local_blocks, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 7123 "Try to avoid heapifying local blocks", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.ObjCAvoidHeapifyLocalBlocks, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_objc_avoid_heapify_local_blocks), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1) 7124#endif // CODEGEN_OPTION_WITH_MARSHALLING 7125#ifdef CODEGEN_OPTION_WITH_MARSHALLING 7126CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-fno-objc-avoid-heapify-local-blocks", fno_objc_avoid_heapify_local_blocks, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 7127 "Don't try to avoid heapifying local blocks", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.ObjCAvoidHeapifyLocalBlocks, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_fobjc_avoid_heapify_local_blocks), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1) 7128#endif // CODEGEN_OPTION_WITH_MARSHALLING 7129#ifdef CODEGEN_OPTION_WITH_MARSHALLING 7130CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-fdisable-block-signature-string", fdisable_block_signature_string, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 7131 "Disable block signature string)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.DisableBlockSignatureString, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_disable_block_signature_string), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1) 7132#endif // CODEGEN_OPTION_WITH_MARSHALLING 7133#ifdef CODEGEN_OPTION_WITH_MARSHALLING 7134CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-fno-disable-block-signature-string", fno_disable_block_signature_string, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 7135 "Don't disable block signature string)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.DisableBlockSignatureString, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_fdisable_block_signature_string), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1) 7136#endif // CODEGEN_OPTION_WITH_MARSHALLING 7137#ifdef LANG_OPTION_WITH_MARSHALLING 7138LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fopenmp-extensions", fopenmp_extensions, Flag, f_Group, INVALID, nullptr, NoArgumentUnused, DefaultVis | CC1Option | DefaultVis, 0, 7139 "Enable all Clang extensions for OpenMP directives and clauses", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->OpenMPExtensions, true, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_openmp_extensions), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1) 7140#endif // LANG_OPTION_WITH_MARSHALLING 7141#ifdef LANG_OPTION_WITH_MARSHALLING 7142LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fno-openmp-extensions", fno_openmp_extensions, Flag, f_Group, INVALID, nullptr, NoArgumentUnused, DefaultVis | CC1Option | DefaultVis, 0, 7143 "Disable all Clang extensions for OpenMP directives and clauses", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->OpenMPExtensions, true, false, false, makeBooleanOptionNormalizer(false, true, OPT_fopenmp_extensions), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1) 7144#endif // LANG_OPTION_WITH_MARSHALLING 7145#ifdef LANG_OPTION_WITH_MARSHALLING 7146LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fopenmp-assume-no-thread-state", fopenmp_assume_no_thread_state, Flag, f_Group, INVALID, nullptr, NoArgumentUnused | HelpHidden, DefaultVis | CC1Option | FC1Option | FlangOption, 0, 7147 "Assert no thread in a parallel region modifies an ICV", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->OpenMPNoThreadState, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 7148#endif // LANG_OPTION_WITH_MARSHALLING 7149#ifdef LANG_OPTION_WITH_MARSHALLING 7150LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fopenmp-assume-no-nested-parallelism", fopenmp_assume_no_nested_parallelism, Flag, f_Group, INVALID, nullptr, NoArgumentUnused | HelpHidden, DefaultVis | CC1Option | FC1Option | FlangOption, 0, 7151 "Assert no nested parallel regions in the GPU", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->OpenMPNoNestedParallelism, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 7152#endif // LANG_OPTION_WITH_MARSHALLING 7153#ifdef LANG_OPTION_WITH_MARSHALLING 7154LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fopenmp-offload-mandatory", fopenmp_offload_mandatory, Flag, f_Group, INVALID, nullptr, NoArgumentUnused, DefaultVis | CC1Option, 0, 7155 "Do not create a host fallback if offloading to the device fails.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->OpenMPOffloadMandatory, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 7156#endif // LANG_OPTION_WITH_MARSHALLING 7157#ifdef LANG_OPTION_WITH_MARSHALLING 7158LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fopenmp-force-usm", fopenmp_force_usm, Flag, f_Group, INVALID, nullptr, NoArgumentUnused, DefaultVis | CC1Option | FlangOption | FC1Option, 0, 7159 "Force behvaior as if the user specified pragma omp requires unified_shared_memory.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->OpenMPForceUSM, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 7160#endif // LANG_OPTION_WITH_MARSHALLING 7161#ifdef LANG_OPTION_WITH_MARSHALLING 7162LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fopenmp-optimistic-collapse", fopenmp_optimistic_collapse, Flag, f_Group, INVALID, nullptr, NoArgumentUnused | HelpHidden, DefaultVis | CC1Option, 0, 7163 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->OpenMPOptimisticCollapse, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_openmp_optimistic_collapse), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1) 7164#endif // LANG_OPTION_WITH_MARSHALLING 7165#ifdef LANG_OPTION_WITH_MARSHALLING 7166LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fno-openmp-optimistic-collapse", fno_openmp_optimistic_collapse, Flag, f_Group, INVALID, nullptr, NoArgumentUnused | HelpHidden, 0, 0, 7167 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->OpenMPOptimisticCollapse, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_fopenmp_optimistic_collapse), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1) 7168#endif // LANG_OPTION_WITH_MARSHALLING 7169#ifdef CODEGEN_OPTION_WITH_MARSHALLING 7170CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-fno-optimize-sibling-calls", fno_optimize_sibling_calls, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 7171 "Disable tail call optimization, keeping the call stack accurate", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.DisableTailCalls, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 7172#endif // CODEGEN_OPTION_WITH_MARSHALLING 7173#ifdef CODEGEN_OPTION_WITH_MARSHALLING 7174CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-fno-escaping-block-tail-calls", fno_escaping_block_tail_calls, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis, 0, 7175 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.NoEscapingBlockTailCalls, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fescaping_block_tail_calls), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1) 7176#endif // CODEGEN_OPTION_WITH_MARSHALLING 7177#ifdef CODEGEN_OPTION_WITH_MARSHALLING 7178CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-fescaping-block-tail-calls", fescaping_block_tail_calls, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, 7179 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.NoEscapingBlockTailCalls, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_fno_escaping_block_tail_calls), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1) 7180#endif // CODEGEN_OPTION_WITH_MARSHALLING 7181#ifdef LANG_OPTION_WITH_MARSHALLING 7182LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fpack-struct=", fpack_struct_EQ, Joined, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 7183 "Specify the default maximum struct packing alignment", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->PackStruct, 0, false, 0, normalizeStringIntegral<unsigned>, denormalizeString<unsigned>, mergeForwardValue, extractForwardValue, -1) 7184#endif // LANG_OPTION_WITH_MARSHALLING 7185#ifdef LANG_OPTION_WITH_MARSHALLING 7186LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fmax-type-align=", fmax_type_align_EQ, Joined, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 7187 "Specify the maximum alignment to enforce on pointers lacking an explicit alignment", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->MaxTypeAlign, 0, false, 0, normalizeStringIntegral<unsigned>, denormalizeString<unsigned>, mergeForwardValue, extractForwardValue, -1) 7188#endif // LANG_OPTION_WITH_MARSHALLING 7189#ifdef LANG_OPTION_WITH_MARSHALLING 7190LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fpascal-strings", fpascal_strings, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis, 0, 7191 "Recognize and construct Pascal-style string literals", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->PascalStrings, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_pascal_strings), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1) 7192#endif // LANG_OPTION_WITH_MARSHALLING 7193#ifdef LANG_OPTION_WITH_MARSHALLING 7194LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fno-pascal-strings", fno_pascal_strings, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, 7195 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->PascalStrings, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_fpascal_strings), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1) 7196#endif // LANG_OPTION_WITH_MARSHALLING 7197#ifdef CODEGEN_OPTION_WITH_MARSHALLING 7198CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-fpatchable-function-entry=", fpatchable_function_entry_EQ, Joined, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 7199 "Generate M NOPs before function entry and N-M NOPs after function entry", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "<N,M>", nullptr, true, 0, CodeGenOpts.PatchableFunctionEntryCount, 0, false, 0, normalizeStringIntegral<unsigned>, denormalizeString<unsigned>, mergeForwardValue, extractForwardValue, -1) 7200#endif // CODEGEN_OPTION_WITH_MARSHALLING 7201#ifdef CODEGEN_OPTION_WITH_MARSHALLING 7202CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-fms-hotpatch", fms_hotpatch, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | CLOption, 0, 7203 "Ensure that all functions can be hotpatched at runtime", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.HotPatch, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 7204#endif // CODEGEN_OPTION_WITH_MARSHALLING 7205#ifdef CODEGEN_OPTION_WITH_MARSHALLING 7206CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-fno-plt", fno_plt, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis, 0, 7207 "Use GOT indirection instead of PLT to make external function calls (x86 only)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.NoPLT, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fplt), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1) 7208#endif // CODEGEN_OPTION_WITH_MARSHALLING 7209#ifdef CODEGEN_OPTION_WITH_MARSHALLING 7210CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-fplt", fplt, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, 7211 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.NoPLT, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_fno_plt), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1) 7212#endif // CODEGEN_OPTION_WITH_MARSHALLING 7213#ifdef LANG_OPTION_WITH_MARSHALLING 7214LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fropi", fropi, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | FlangOption | CC1Option | DefaultVis, 0, 7215 "Generate read-only position independent code (ARM only)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->ROPI, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_ropi), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1) 7216#endif // LANG_OPTION_WITH_MARSHALLING 7217#ifdef LANG_OPTION_WITH_MARSHALLING 7218LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fno-ropi", fno_ropi, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | FlangOption | CC1Option | DefaultVis, 0, 7219 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->ROPI, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_fropi), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1) 7220#endif // LANG_OPTION_WITH_MARSHALLING 7221#ifdef LANG_OPTION_WITH_MARSHALLING 7222LANG_OPTION_WITH_MARSHALLING(prefix_1, "-frwpi", frwpi, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | FlangOption | CC1Option | DefaultVis, 0, 7223 "Generate read-write position independent code (ARM only)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->RWPI, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_rwpi), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1) 7224#endif // LANG_OPTION_WITH_MARSHALLING 7225#ifdef LANG_OPTION_WITH_MARSHALLING 7226LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fno-rwpi", fno_rwpi, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | FlangOption | CC1Option | DefaultVis, 0, 7227 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->RWPI, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_frwpi), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1) 7228#endif // LANG_OPTION_WITH_MARSHALLING 7229#ifdef CODEGEN_OPTION_WITH_MARSHALLING 7230CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-fpass-plugin=", fpass_plugin_EQ, Joined, f_Group, INVALID, nullptr, NoArgumentUnused, DefaultVis | CC1Option | FlangOption | FC1Option, 0, 7231 "Load pass plugin from a dynamic shared object file (only with new pass manager).", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "<dsopath>", nullptr, true, 0, CodeGenOpts.PassPlugins, std::vector<std::string>({}), false, std::vector<std::string>({}), normalizeStringVector, denormalizeStringVector, mergeForwardValue, extractForwardValue, -1) 7232#endif // CODEGEN_OPTION_WITH_MARSHALLING 7233#ifdef CODEGEN_OPTION_WITH_MARSHALLING 7234CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-mtocdata", mtocdata, Flag, m_Group, INVALID, nullptr, TargetSpecific, DefaultVis | CC1Option | DefaultVis | CLOption | DefaultVis | CLOption, 0, 7235 "All suitable variables will have the TOC data transformation applied", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.AllTocData, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_mno_tocdata), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1) 7236#endif // CODEGEN_OPTION_WITH_MARSHALLING 7237#ifdef CODEGEN_OPTION_WITH_MARSHALLING 7238CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-mno-tocdata", mno_tocdata, Flag, m_Group, INVALID, nullptr, TargetSpecific, DefaultVis | CC1Option | DefaultVis | CLOption | DefaultVis | CLOption, 0, 7239 "This is the default. TOC data transformation is not applied to anyvariables. Only variables specified explicitly in -mtocdata= willhave the TOC data transformation.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.AllTocData, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_mtocdata), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1) 7240#endif // CODEGEN_OPTION_WITH_MARSHALLING 7241#ifdef CODEGEN_OPTION_WITH_MARSHALLING 7242CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-mtocdata=", mtocdata_EQ, CommaJoined, m_Group, INVALID, nullptr, TargetSpecific, DefaultVis | CC1Option | DefaultVis | CLOption, 0, 7243 "Specifies a list of variables to which the TOC data transformationwill be applied.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.TocDataVarsUserSpecified, std::vector<std::string>({}), false, std::vector<std::string>({}), normalizeStringVector, denormalizeStringVector, mergeForwardValue, extractForwardValue, -1) 7244#endif // CODEGEN_OPTION_WITH_MARSHALLING 7245#ifdef CODEGEN_OPTION_WITH_MARSHALLING 7246CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-mno-tocdata=", mno_tocdata_EQ, CommaJoined, m_Group, INVALID, nullptr, TargetSpecific, DefaultVis | CC1Option | DefaultVis | CLOption, 0, 7247 "Specifies a list of variables to be exempt from the TOC datatransformation.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.NoTocDataVars, std::vector<std::string>({}), false, std::vector<std::string>({}), normalizeStringVector, denormalizeStringVector, mergeForwardValue, extractForwardValue, -1) 7248#endif // CODEGEN_OPTION_WITH_MARSHALLING 7249#ifdef CODEGEN_OPTION_WITH_MARSHALLING 7250CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-fno-preserve-as-comments", fno_preserve_as_comments, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis, 0, 7251 "Do not preserve comments in inline assembly", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.PreserveAsmComments, true, false, true, makeBooleanOptionNormalizer(false, true, OPT_fpreserve_as_comments), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1) 7252#endif // CODEGEN_OPTION_WITH_MARSHALLING 7253#ifdef CODEGEN_OPTION_WITH_MARSHALLING 7254CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-fpreserve-as-comments", fpreserve_as_comments, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, 7255 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.PreserveAsmComments, true, false, true, makeBooleanOptionNormalizer(true, false, OPT_fno_preserve_as_comments), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1) 7256#endif // CODEGEN_OPTION_WITH_MARSHALLING 7257#ifdef LANG_OPTION_WITH_MARSHALLING 7258LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fno-rtti", fno_rtti, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis, 0, 7259 "Disable generation of rtti information", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, LangOpts->CPlusPlus, 0, LangOpts->RTTI, LangOpts->CPlusPlus, false, true, makeBooleanOptionNormalizer(false, true, OPT_frtti), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1) 7260#endif // LANG_OPTION_WITH_MARSHALLING 7261#ifdef LANG_OPTION_WITH_MARSHALLING 7262LANG_OPTION_WITH_MARSHALLING(prefix_1, "-frtti", frtti, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, 7263 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, LangOpts->CPlusPlus, 0, LangOpts->RTTI, LangOpts->CPlusPlus, false, true, makeBooleanOptionNormalizer(true, false, OPT_fno_rtti), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1) 7264#endif // LANG_OPTION_WITH_MARSHALLING 7265#ifdef LANG_OPTION_WITH_MARSHALLING 7266LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fno-rtti-data", fno_rtti_data, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis, 0, 7267 "Disable generation of RTTI data", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, LangOpts->RTTI, 0, LangOpts->RTTIData, LangOpts->RTTI, false, true, makeBooleanOptionNormalizer(false, true, OPT_frtti_data), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1) 7268#endif // LANG_OPTION_WITH_MARSHALLING 7269#ifdef LANG_OPTION_WITH_MARSHALLING 7270LANG_OPTION_WITH_MARSHALLING(prefix_1, "-frtti-data", frtti_data, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, 7271 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, LangOpts->RTTI, 0, LangOpts->RTTIData, LangOpts->RTTI, false, true, makeBooleanOptionNormalizer(true, false, OPT_fno_rtti_data), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1) 7272#endif // LANG_OPTION_WITH_MARSHALLING 7273#ifdef LANG_OPTION_WITH_MARSHALLING 7274LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fshort-enums", fshort_enums, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis, 0, 7275 "Allocate to an enum type only as many bytes as it needs for the declared range of possible values", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->ShortEnums, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_short_enums), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1) 7276#endif // LANG_OPTION_WITH_MARSHALLING 7277#ifdef LANG_OPTION_WITH_MARSHALLING 7278LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fno-short-enums", fno_short_enums, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, 7279 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->ShortEnums, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_fshort_enums), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1) 7280#endif // LANG_OPTION_WITH_MARSHALLING 7281#ifdef LANG_OPTION_WITH_MARSHALLING 7282LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fchar8_t", fchar8__t, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | DefaultVis | CC1Option, 0, 7283 "Enable C++ builtin type char8_t", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->Char8, LangOpts->CPlusPlus20, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_char8__t), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1) 7284#endif // LANG_OPTION_WITH_MARSHALLING 7285#ifdef LANG_OPTION_WITH_MARSHALLING 7286LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fno-char8_t", fno_char8__t, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | DefaultVis | CC1Option, 0, 7287 "Disable C++ builtin type char8_t", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->Char8, LangOpts->CPlusPlus20, false, false, makeBooleanOptionNormalizer(false, true, OPT_fchar8__t), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1) 7288#endif // LANG_OPTION_WITH_MARSHALLING 7289#ifdef DIAG_OPTION_WITH_MARSHALLING 7290DIAG_OPTION_WITH_MARSHALLING(prefix_1, "-fshow-overloads=", fshow_overloads_EQ, Joined, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 7291 "Which overload candidates to show when overload resolution fails. Defaults to 'all'", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, "best,all", true, 0, DiagnosticOpts->ShowOverloads, Ovl_All, false, Ovl_All, normalizeSimpleEnum, denormalizeSimpleEnum, mergeForwardValue, extractForwardValue, 19) 7292#endif // DIAG_OPTION_WITH_MARSHALLING 7293#ifdef DIAG_OPTION_WITH_MARSHALLING 7294DIAG_OPTION_WITH_MARSHALLING(prefix_1, "-fno-show-column", fno_show_column, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis, 0, 7295 "Do not include column number on diagnostics", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, DiagnosticOpts->ShowColumn, true, false, true, makeBooleanOptionNormalizer(false, true, OPT_fshow_column), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1) 7296#endif // DIAG_OPTION_WITH_MARSHALLING 7297#ifdef DIAG_OPTION_WITH_MARSHALLING 7298DIAG_OPTION_WITH_MARSHALLING(prefix_1, "-fshow-column", fshow_column, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, 7299 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, DiagnosticOpts->ShowColumn, true, false, true, makeBooleanOptionNormalizer(true, false, OPT_fno_show_column), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1) 7300#endif // DIAG_OPTION_WITH_MARSHALLING 7301#ifdef DIAG_OPTION_WITH_MARSHALLING 7302DIAG_OPTION_WITH_MARSHALLING(prefix_1, "-fno-show-source-location", fno_show_source_location, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis, 0, 7303 "Do not include source location information with diagnostics", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, DiagnosticOpts->ShowLocation, true, false, true, makeBooleanOptionNormalizer(false, true, OPT_fshow_source_location), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1) 7304#endif // DIAG_OPTION_WITH_MARSHALLING 7305#ifdef DIAG_OPTION_WITH_MARSHALLING 7306DIAG_OPTION_WITH_MARSHALLING(prefix_1, "-fshow-source-location", fshow_source_location, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, 7307 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, DiagnosticOpts->ShowLocation, true, false, true, makeBooleanOptionNormalizer(true, false, OPT_fno_show_source_location), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1) 7308#endif // DIAG_OPTION_WITH_MARSHALLING 7309#ifdef LANG_OPTION_WITH_MARSHALLING 7310LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fno-spell-checking", fno_spell_checking, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis, 0, 7311 "Disable spell-checking", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->SpellChecking, true, false, true, makeBooleanOptionNormalizer(false, true, OPT_fspell_checking), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1) 7312#endif // LANG_OPTION_WITH_MARSHALLING 7313#ifdef LANG_OPTION_WITH_MARSHALLING 7314LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fspell-checking", fspell_checking, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, 7315 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->SpellChecking, true, false, true, makeBooleanOptionNormalizer(true, false, OPT_fno_spell_checking), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1) 7316#endif // LANG_OPTION_WITH_MARSHALLING 7317#ifdef DIAG_OPTION_WITH_MARSHALLING 7318DIAG_OPTION_WITH_MARSHALLING(prefix_1, "-fspell-checking-limit=", fspell_checking_limit_EQ, Joined, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 7319 "Set the maximum number of times to perform spell checking on unrecognized identifiers (0 = no limit)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, DiagnosticOpts->SpellCheckingLimit, DiagnosticOptions::DefaultSpellCheckingLimit, false, DiagnosticOptions::DefaultSpellCheckingLimit, normalizeStringIntegral<unsigned>, denormalizeString<unsigned>, mergeForwardValue, extractForwardValue, -1) 7320#endif // DIAG_OPTION_WITH_MARSHALLING 7321#ifdef LANG_OPTION_WITH_MARSHALLING 7322LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fno-signed-char", fno_signed_char, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis, 0, 7323 "char is unsigned", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, !LangOpts->OpenCL, 0, LangOpts->CharIsSigned, true, false, true, makeBooleanOptionNormalizer(false, true, OPT_fsigned_char), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1) 7324#endif // LANG_OPTION_WITH_MARSHALLING 7325#ifdef LANG_OPTION_WITH_MARSHALLING 7326LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fsigned-char", fsigned_char, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | DefaultVis, 0, 7327 "char is signed", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, !LangOpts->OpenCL, 0, LangOpts->CharIsSigned, true, false, true, makeBooleanOptionNormalizer(true, false, OPT_fno_signed_char), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1) 7328#endif // LANG_OPTION_WITH_MARSHALLING 7329#ifdef CODEGEN_OPTION_WITH_MARSHALLING 7330CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-fno-split-stack", fno_split_stack, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | DefaultVis, 0, 7331 "Wouldn't use segmented stack", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.EnableSegmentedStacks, false, false, true, makeBooleanOptionNormalizer(false, true, OPT_fsplit_stack), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1) 7332#endif // CODEGEN_OPTION_WITH_MARSHALLING 7333#ifdef CODEGEN_OPTION_WITH_MARSHALLING 7334CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-fsplit-stack", fsplit_stack, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis, 0, 7335 "Use segmented stack", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.EnableSegmentedStacks, false, false, true, makeBooleanOptionNormalizer(true, false, OPT_fno_split_stack), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1) 7336#endif // CODEGEN_OPTION_WITH_MARSHALLING 7337#ifdef CODEGEN_OPTION_WITH_MARSHALLING 7338CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-fstack-clash-protection", fstack_clash_protection, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis, 0, 7339 "Enable stack clash protection", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.StackClashProtector, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_stack_clash_protection), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1) 7340#endif // CODEGEN_OPTION_WITH_MARSHALLING 7341#ifdef CODEGEN_OPTION_WITH_MARSHALLING 7342CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-fno-stack-clash-protection", fno_stack_clash_protection, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | DefaultVis, 0, 7343 "Disable stack clash protection", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.StackClashProtector, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_fstack_clash_protection), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1) 7344#endif // CODEGEN_OPTION_WITH_MARSHALLING 7345#ifdef LANG_OPTION_WITH_MARSHALLING 7346LANG_OPTION_WITH_MARSHALLING(prefix_1, "-ftrivial-auto-var-init=", ftrivial_auto_var_init, Joined, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | CLOption | DXCOption, 0, 7347 "Initialize trivial automatic stack variables. Defaults to 'uninitialized'", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, "uninitialized,zero,pattern", true, 0, LangOpts->TrivialAutoVarInit, LangOptions::TrivialAutoVarInitKind::Uninitialized, false, LangOptions::TrivialAutoVarInitKind::Uninitialized, normalizeSimpleEnum, denormalizeSimpleEnum, mergeForwardValue, extractForwardValue, 20) 7348#endif // LANG_OPTION_WITH_MARSHALLING 7349#ifdef LANG_OPTION_WITH_MARSHALLING 7350LANG_OPTION_WITH_MARSHALLING(prefix_1, "-ftrivial-auto-var-init-stop-after=", ftrivial_auto_var_init_stop_after, Joined, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | CLOption | DXCOption, 0, 7351 "Stop initializing trivial automatic stack variables after the specified number of instances", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->TrivialAutoVarInitStopAfter, 0, false, 0, normalizeStringIntegral<unsigned>, denormalizeString<unsigned>, mergeForwardValue, extractForwardValue, -1) 7352#endif // LANG_OPTION_WITH_MARSHALLING 7353#ifdef LANG_OPTION_WITH_MARSHALLING 7354LANG_OPTION_WITH_MARSHALLING(prefix_1, "-ftrivial-auto-var-init-max-size=", ftrivial_auto_var_init_max_size, Joined, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | CLOption | DXCOption, 0, 7355 "Stop initializing trivial automatic stack variables if var size exceeds the specified number of instances (in bytes)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->TrivialAutoVarInitMaxSize, 0, false, 0, normalizeStringIntegral<unsigned>, denormalizeString<unsigned>, mergeForwardValue, extractForwardValue, -1) 7356#endif // LANG_OPTION_WITH_MARSHALLING 7357#ifdef CODEGEN_OPTION_WITH_MARSHALLING 7358CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-fstrict-enums", fstrict_enums, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 7359 "Enable optimizations based on the strict definition of an enum's value range", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.StrictEnums, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 7360#endif // CODEGEN_OPTION_WITH_MARSHALLING 7361#ifdef CODEGEN_OPTION_WITH_MARSHALLING 7362CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-fstrict-vtable-pointers", fstrict_vtable_pointers, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis, 0, 7363 "Enable optimizations based on the strict rules for overwriting polymorphic C++ objects", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.StrictVTablePointers, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_strict_vtable_pointers), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1) 7364#endif // CODEGEN_OPTION_WITH_MARSHALLING 7365#ifdef CODEGEN_OPTION_WITH_MARSHALLING 7366CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-fno-strict-vtable-pointers", fno_strict_vtable_pointers, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, 7367 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.StrictVTablePointers, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_fstrict_vtable_pointers), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1) 7368#endif // CODEGEN_OPTION_WITH_MARSHALLING 7369#ifdef LANG_OPTION_WITH_MARSHALLING 7370LANG_OPTION_WITH_MARSHALLING(prefix_1, "-ftemplate-depth=", ftemplate_depth_EQ, Joined, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 7371 "Set the maximum depth of recursive template instantiation", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->InstantiationDepth, 1024, false, 1024, normalizeStringIntegral<unsigned>, denormalizeString<unsigned>, mergeForwardValue, extractForwardValue, -1) 7372#endif // LANG_OPTION_WITH_MARSHALLING 7373#ifdef DIAG_OPTION_WITH_MARSHALLING 7374DIAG_OPTION_WITH_MARSHALLING(prefix_1, "-ftemplate-backtrace-limit=", ftemplate_backtrace_limit_EQ, Joined, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 7375 "Set the maximum number of entries to print in a template instantiation backtrace (0 = no limit)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, DiagnosticOpts->TemplateBacktraceLimit, DiagnosticOptions::DefaultTemplateBacktraceLimit, false, DiagnosticOptions::DefaultTemplateBacktraceLimit, normalizeStringIntegral<unsigned>, denormalizeString<unsigned>, mergeForwardValue, extractForwardValue, -1) 7376#endif // DIAG_OPTION_WITH_MARSHALLING 7377#ifdef LANG_OPTION_WITH_MARSHALLING 7378LANG_OPTION_WITH_MARSHALLING(prefix_1, "-foperator-arrow-depth=", foperator_arrow_depth_EQ, Joined, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 7379 "Maximum number of 'operator->'s to call for a member access", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->ArrowDepth, 256, false, 256, normalizeStringIntegral<unsigned>, denormalizeString<unsigned>, mergeForwardValue, extractForwardValue, -1) 7380#endif // LANG_OPTION_WITH_MARSHALLING 7381#ifdef LANG_OPTION_WITH_MARSHALLING 7382LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fno-assumptions", fno_assumptions, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis, 0, 7383 "Disable codegen and compile-time checks for C++23's [[assume]] attribute", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->CXXAssumptions, true, false, true, makeBooleanOptionNormalizer(false, true, OPT_fassumptions), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1) 7384#endif // LANG_OPTION_WITH_MARSHALLING 7385#ifdef LANG_OPTION_WITH_MARSHALLING 7386LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fassumptions", fassumptions, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, 7387 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->CXXAssumptions, true, false, true, makeBooleanOptionNormalizer(true, false, OPT_fno_assumptions), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1) 7388#endif // LANG_OPTION_WITH_MARSHALLING 7389#ifdef LANG_OPTION_WITH_MARSHALLING 7390LANG_OPTION_WITH_MARSHALLING(prefix_1, "-Wlarge-by-value-copy=", Wlarge_by_value_copy_EQ, Joined, INVALID, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->NumLargeByValueCopy, 0, false, 0, normalizeStringIntegral<unsigned>, denormalizeString<unsigned>, mergeForwardValue, extractForwardValue, -1) 7391#endif // LANG_OPTION_WITH_MARSHALLING 7392#ifdef LANG_OPTION_WITH_MARSHALLING 7393LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fno-threadsafe-statics", fno_threadsafe_statics, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis, 0, 7394 "Do not emit code to make initialization of local statics thread safe", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->ThreadsafeStatics, true, false, true, makeBooleanOptionNormalizer(false, true, OPT_fthreadsafe_statics), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1) 7395#endif // LANG_OPTION_WITH_MARSHALLING 7396#ifdef LANG_OPTION_WITH_MARSHALLING 7397LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fthreadsafe-statics", fthreadsafe_statics, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, 7398 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->ThreadsafeStatics, true, false, true, makeBooleanOptionNormalizer(true, false, OPT_fno_threadsafe_statics), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1) 7399#endif // LANG_OPTION_WITH_MARSHALLING 7400#ifdef CODEGEN_OPTION_WITH_MARSHALLING 7401CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-ftime-report", ftime_report, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.TimePasses, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 7402#endif // CODEGEN_OPTION_WITH_MARSHALLING 7403#ifdef CODEGEN_OPTION_WITH_MARSHALLING 7404CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-ftime-report=", ftime_report_EQ, Joined, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 7405 "(For new pass manager) 'per-pass': one report for each pass; 'per-pass-run': one report for each pass invocation", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, "per-pass,per-pass-run", true, 0, CodeGenOpts.TimePassesPerRun, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 7406#endif // CODEGEN_OPTION_WITH_MARSHALLING 7407#ifdef FRONTEND_OPTION_WITH_MARSHALLING 7408FRONTEND_OPTION_WITH_MARSHALLING(prefix_1, "-ftime-trace-granularity=", ftime_trace_granularity_EQ, Joined, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | CLOption | DXCOption, 0, 7409 "Minimum time granularity (in microseconds) traced by time profiler", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, FrontendOpts.TimeTraceGranularity, 500u, false, 500u, normalizeStringIntegral<unsigned>, denormalizeString<unsigned>, mergeForwardValue, extractForwardValue, -1) 7410#endif // FRONTEND_OPTION_WITH_MARSHALLING 7411#ifdef FRONTEND_OPTION_WITH_MARSHALLING 7412FRONTEND_OPTION_WITH_MARSHALLING(prefix_1, "-ftime-trace-verbose", ftime_trace_verbose, Joined, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | CLOption | DXCOption, 0, 7413 "Make time trace capture verbose event details (e.g. source filenames). This can increase the size of the output by 2-3 times", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, FrontendOpts.TimeTraceVerbose, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 7414#endif // FRONTEND_OPTION_WITH_MARSHALLING 7415#ifdef FRONTEND_OPTION_WITH_MARSHALLING 7416FRONTEND_OPTION_WITH_MARSHALLING(prefix_1, "-ftime-trace=", ftime_trace_EQ, Joined, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | CLOption | DXCOption, 0, 7417 "Similar to -ftime-trace. Specify the JSON file or a directory which will contain the JSON file", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, FrontendOpts.TimeTracePath, std::string(), false, std::string(), normalizeString, denormalizeString, mergeForwardValue, extractForwardValue, -1) 7418#endif // FRONTEND_OPTION_WITH_MARSHALLING 7419#ifdef CODEGEN_OPTION_WITH_MARSHALLING 7420CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-ftls-model=", ftlsmodel_EQ, Joined, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, "global-dynamic,local-dynamic,initial-exec,local-exec", true, 0, CodeGenOpts.DefaultTLSModel, CodeGenOptions::GeneralDynamicTLSModel, false, CodeGenOptions::GeneralDynamicTLSModel, normalizeSimpleEnum, denormalizeSimpleEnum, mergeForwardValue, extractForwardValue, 21) 7421#endif // CODEGEN_OPTION_WITH_MARSHALLING 7422#ifdef CODEGEN_OPTION_WITH_MARSHALLING 7423CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-ftrap-function=", ftrap_function_EQ, Joined, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 7424 "Issue call to specified function rather than a trap instruction", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.TrapFuncName, std::string(), false, std::string(), normalizeString, denormalizeString, mergeForwardValue, extractForwardValue, -1) 7425#endif // CODEGEN_OPTION_WITH_MARSHALLING 7426#ifdef CODEGEN_OPTION_WITH_MARSHALLING 7427CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-fregister-global-dtors-with-atexit", fregister_global_dtors_with_atexit, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis, 0, 7428 "Use atexit or __cxa_atexit to register global destructors", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.RegisterGlobalDtorsWithAtExit, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_register_global_dtors_with_atexit), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1) 7429#endif // CODEGEN_OPTION_WITH_MARSHALLING 7430#ifdef CODEGEN_OPTION_WITH_MARSHALLING 7431CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-fno-register-global-dtors-with-atexit", fno_register_global_dtors_with_atexit, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | DefaultVis, 0, 7432 "Don't use atexit or __cxa_atexit to register global destructors", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.RegisterGlobalDtorsWithAtExit, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_fregister_global_dtors_with_atexit), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1) 7433#endif // CODEGEN_OPTION_WITH_MARSHALLING 7434#ifdef CODEGEN_OPTION_WITH_MARSHALLING 7435CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-fno-use-init-array", fno_use_init_array, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis, 0, 7436 "Use .ctors/.dtors instead of .init_array/.fini_array", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.UseInitArray, true, false, true, makeBooleanOptionNormalizer(false, true, OPT_fuse_init_array), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1) 7437#endif // CODEGEN_OPTION_WITH_MARSHALLING 7438#ifdef CODEGEN_OPTION_WITH_MARSHALLING 7439CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-fuse-init-array", fuse_init_array, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, 7440 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.UseInitArray, true, false, true, makeBooleanOptionNormalizer(true, false, OPT_fno_use_init_array), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1) 7441#endif // CODEGEN_OPTION_WITH_MARSHALLING 7442#ifdef LANG_OPTION_WITH_MARSHALLING 7443LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fvisibility-from-dllstorageclass", fvisibility_from_dllstorageclass, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis, 0, 7444 "Override the visibility of globals based on their final DLL storage class.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->VisibilityFromDLLStorageClass, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_visibility_from_dllstorageclass), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1) 7445#endif // LANG_OPTION_WITH_MARSHALLING 7446#ifdef LANG_OPTION_WITH_MARSHALLING 7447LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fno-visibility-from-dllstorageclass", fno_visibility_from_dllstorageclass, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, 7448 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->VisibilityFromDLLStorageClass, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_fvisibility_from_dllstorageclass), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1) 7449#endif // LANG_OPTION_WITH_MARSHALLING 7450#ifdef LANG_OPTION_WITH_MARSHALLING 7451LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fvisibility-dllexport=", fvisibility_dllexport_EQ, Joined, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 7452 "The visibility for dllexport definitions. If Keep is specified the visibility is not adjusted [-fvisibility-from-dllstorageclass]", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, "keep,hidden,protected,default", LangOpts->VisibilityFromDLLStorageClass, 0, LangOpts->DLLExportVisibility, LangOptions::VisibilityFromDLLStorageClassKinds::Default, false, LangOptions::VisibilityFromDLLStorageClassKinds::Default, normalizeSimpleEnum, denormalizeSimpleEnum, mergeForwardValue, extractForwardValue, 22) 7453#endif // LANG_OPTION_WITH_MARSHALLING 7454#ifdef LANG_OPTION_WITH_MARSHALLING 7455LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fvisibility-nodllstorageclass=", fvisibility_nodllstorageclass_EQ, Joined, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 7456 "The visibility for definitions without an explicit DLL storage class. If Keep is specified the visibility is not adjusted [-fvisibility-from-dllstorageclass]", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, "keep,hidden,protected,default", LangOpts->VisibilityFromDLLStorageClass, 0, LangOpts->NoDLLStorageClassVisibility, LangOptions::VisibilityFromDLLStorageClassKinds::Hidden, false, LangOptions::VisibilityFromDLLStorageClassKinds::Hidden, normalizeSimpleEnum, denormalizeSimpleEnum, mergeForwardValue, extractForwardValue, 23) 7457#endif // LANG_OPTION_WITH_MARSHALLING 7458#ifdef LANG_OPTION_WITH_MARSHALLING 7459LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fvisibility-externs-dllimport=", fvisibility_externs_dllimport_EQ, Joined, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 7460 "The visibility for dllimport external declarations. If Keep is specified the visibility is not adjusted [-fvisibility-from-dllstorageclass]", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, "keep,hidden,protected,default", LangOpts->VisibilityFromDLLStorageClass, 0, LangOpts->ExternDeclDLLImportVisibility, LangOptions::VisibilityFromDLLStorageClassKinds::Default, false, LangOptions::VisibilityFromDLLStorageClassKinds::Default, normalizeSimpleEnum, denormalizeSimpleEnum, mergeForwardValue, extractForwardValue, 24) 7461#endif // LANG_OPTION_WITH_MARSHALLING 7462#ifdef LANG_OPTION_WITH_MARSHALLING 7463LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fvisibility-externs-nodllstorageclass=", fvisibility_externs_nodllstorageclass_EQ, Joined, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 7464 "The visibility for external declarations without an explicit DLL storage class. If Keep is specified the visibility is not adjusted [-fvisibility-from-dllstorageclass]", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, "keep,hidden,protected,default", LangOpts->VisibilityFromDLLStorageClass, 0, LangOpts->ExternDeclNoDLLStorageClassVisibility, LangOptions::VisibilityFromDLLStorageClassKinds::Hidden, false, LangOptions::VisibilityFromDLLStorageClassKinds::Hidden, normalizeSimpleEnum, denormalizeSimpleEnum, mergeForwardValue, extractForwardValue, 25) 7465#endif // LANG_OPTION_WITH_MARSHALLING 7466#ifdef LANG_OPTION_WITH_MARSHALLING 7467LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fvisibility=", fvisibility_EQ, Joined, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 7468 "Set the default symbol visibility for all global definitions", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, "default,hidden,internal,protected", true, 0, LangOpts->ValueVisibilityMode, DefaultVisibility, false, DefaultVisibility, normalizeSimpleEnum, denormalizeSimpleEnum, mergeForwardValue, extractForwardValue, 26) 7469#endif // LANG_OPTION_WITH_MARSHALLING 7470#ifdef LANG_OPTION_WITH_MARSHALLING 7471LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fvisibility-inlines-hidden", fvisibility_inlines_hidden, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis, 0, 7472 "Give inline C++ member functions hidden visibility by default", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->InlineVisibilityHidden, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_visibility_inlines_hidden), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1) 7473#endif // LANG_OPTION_WITH_MARSHALLING 7474#ifdef LANG_OPTION_WITH_MARSHALLING 7475LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fno-visibility-inlines-hidden", fno_visibility_inlines_hidden, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, 7476 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->InlineVisibilityHidden, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_fvisibility_inlines_hidden), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1) 7477#endif // LANG_OPTION_WITH_MARSHALLING 7478#ifdef LANG_OPTION_WITH_MARSHALLING 7479LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fvisibility-inlines-hidden-static-local-var", fvisibility_inlines_hidden_static_local_var, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis | CC1Option, 0, 7480 "When -fvisibility-inlines-hidden is enabled, static variables in inline C++ member functions will also be given hidden visibility by default", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->VisibilityInlinesHiddenStaticLocalVar, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_visibility_inlines_hidden_static_local_var), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1) 7481#endif // LANG_OPTION_WITH_MARSHALLING 7482#ifdef LANG_OPTION_WITH_MARSHALLING 7483LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fno-visibility-inlines-hidden-static-local-var", fno_visibility_inlines_hidden_static_local_var, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | DefaultVis | CC1Option, 0, 7484 "Disables -fvisibility-inlines-hidden-static-local-var (this is the default on non-darwin targets)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->VisibilityInlinesHiddenStaticLocalVar, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_fvisibility_inlines_hidden_static_local_var), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1) 7485#endif // LANG_OPTION_WITH_MARSHALLING 7486#ifdef LANG_OPTION_WITH_MARSHALLING 7487LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fvisibility-global-new-delete=", fvisibility_global_new_delete_EQ, Joined, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 7488 "The visibility for global C++ operator new and delete declarations. If 'source' is specified the visibility is not adjusted", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, "force-default,force-protected,force-hidden,source", true, 0, LangOpts->GlobalAllocationFunctionVisibility, LangOptions::VisibilityForcedKinds::ForceDefault, false, LangOptions::VisibilityForcedKinds::ForceDefault, normalizeSimpleEnum, denormalizeSimpleEnum, mergeForwardValue, extractForwardValue, 27) 7489#endif // LANG_OPTION_WITH_MARSHALLING 7490#ifdef LANG_OPTION_WITH_MARSHALLING 7491LANG_OPTION_WITH_MARSHALLING(prefix_1, "-mdefault-visibility-export-mapping=", mdefault_visibility_export_mapping_EQ, Joined, m_Group, INVALID, nullptr, TargetSpecific, DefaultVis | CC1Option | DefaultVis | CLOption, 0, 7492 "Mapping between default visibility and export", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, "none,explicit,all", true, 0, LangOpts->DefaultVisibilityExportMapping, LangOptions::DefaultVisiblityExportMapping::None, false, LangOptions::DefaultVisiblityExportMapping::None, normalizeSimpleEnum, denormalizeSimpleEnum, mergeForwardValue, extractForwardValue, 28) 7493#endif // LANG_OPTION_WITH_MARSHALLING 7494#ifdef LANG_OPTION_WITH_MARSHALLING 7495LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fnew-infallible", fnew_infallible, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | DefaultVis | CC1Option, 0, 7496 "Enable treating throwing global C++ operator new as always returning valid memory (annotates with __attribute__((returns_nonnull)) and throw()). This is detectable in source.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->NewInfallible, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_new_infallible), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1) 7497#endif // LANG_OPTION_WITH_MARSHALLING 7498#ifdef LANG_OPTION_WITH_MARSHALLING 7499LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fno-new-infallible", fno_new_infallible, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | DefaultVis | CC1Option, 0, 7500 "Disable treating throwing global C++ operator new as always returning valid memory (annotates with __attribute__((returns_nonnull)) and throw()). This is detectable in source.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->NewInfallible, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_fnew_infallible), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1) 7501#endif // LANG_OPTION_WITH_MARSHALLING 7502#ifdef CODEGEN_OPTION_WITH_MARSHALLING 7503CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-fwhole-program-vtables", fwhole_program_vtables, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis | CLOption, 0, 7504 "Enables whole-program vtable optimization. Requires -flto", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.WholeProgramVTables, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_whole_program_vtables), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1) 7505#endif // CODEGEN_OPTION_WITH_MARSHALLING 7506#ifdef CODEGEN_OPTION_WITH_MARSHALLING 7507CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-fno-whole-program-vtables", fno_whole_program_vtables, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CLOption, 0, 7508 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.WholeProgramVTables, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_fwhole_program_vtables), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1) 7509#endif // CODEGEN_OPTION_WITH_MARSHALLING 7510#ifdef CODEGEN_OPTION_WITH_MARSHALLING 7511CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-fsplit-lto-unit", fsplit_lto_unit, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis | CLOption, 0, 7512 "Enables splitting of the LTO unit", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.EnableSplitLTOUnit, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_split_lto_unit), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1) 7513#endif // CODEGEN_OPTION_WITH_MARSHALLING 7514#ifdef CODEGEN_OPTION_WITH_MARSHALLING 7515CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-fno-split-lto-unit", fno_split_lto_unit, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CLOption, 0, 7516 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.EnableSplitLTOUnit, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_fsplit_lto_unit), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1) 7517#endif // CODEGEN_OPTION_WITH_MARSHALLING 7518#ifdef CODEGEN_OPTION_WITH_MARSHALLING 7519CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-fforce-emit-vtables", fforce_emit_vtables, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis | CLOption, 0, 7520 "Emits more virtual tables to improve devirtualization", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.ForceEmitVTables, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_force_emit_vtables), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1) 7521#endif // CODEGEN_OPTION_WITH_MARSHALLING 7522#ifdef CODEGEN_OPTION_WITH_MARSHALLING 7523CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-fno-force-emit-vtables", fno_force_emit_vtables, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CLOption, 0, 7524 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.ForceEmitVTables, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_fforce_emit_vtables), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1) 7525#endif // CODEGEN_OPTION_WITH_MARSHALLING 7526#ifdef CODEGEN_OPTION_WITH_MARSHALLING 7527CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-fvirtual-function-elimination", fvirtual_function_elimination, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis | CLOption, 0, 7528 "Enables dead virtual function elimination optimization. Requires -flto=full", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.VirtualFunctionElimination, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_virtual_function_elimination), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1) 7529#endif // CODEGEN_OPTION_WITH_MARSHALLING 7530#ifdef CODEGEN_OPTION_WITH_MARSHALLING 7531CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-fno-virtual-function-elimination", fno_virtual_function_elimination, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CLOption, 0, 7532 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.VirtualFunctionElimination, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_fvirtual_function_elimination), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1) 7533#endif // CODEGEN_OPTION_WITH_MARSHALLING 7534#ifdef LANG_OPTION_WITH_MARSHALLING 7535LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fwritable-strings", fwritable_strings, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 7536 "Store string literals as writable data", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->WritableStrings, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 7537#endif // LANG_OPTION_WITH_MARSHALLING 7538#ifdef CODEGEN_OPTION_WITH_MARSHALLING 7539CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-fno-zero-initialized-in-bss", fno_zero_initialized_in_bss, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis, 0, 7540 "Don't place zero initialized data in BSS", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.NoZeroInitializedInBSS, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fzero_initialized_in_bss), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1) 7541#endif // CODEGEN_OPTION_WITH_MARSHALLING 7542#ifdef CODEGEN_OPTION_WITH_MARSHALLING 7543CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-fzero-initialized-in-bss", fzero_initialized_in_bss, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, 7544 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.NoZeroInitializedInBSS, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_fno_zero_initialized_in_bss), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1) 7545#endif // CODEGEN_OPTION_WITH_MARSHALLING 7546#ifdef CODEGEN_OPTION_WITH_MARSHALLING 7547CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-ffunction-sections", ffunction_sections, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis, 0, 7548 "Place each function in its own section", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.FunctionSections, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_function_sections), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1) 7549#endif // CODEGEN_OPTION_WITH_MARSHALLING 7550#ifdef CODEGEN_OPTION_WITH_MARSHALLING 7551CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-fno-function-sections", fno_function_sections, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, 7552 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.FunctionSections, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_ffunction_sections), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1) 7553#endif // CODEGEN_OPTION_WITH_MARSHALLING 7554#ifdef CODEGEN_OPTION_WITH_MARSHALLING 7555CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-fbasic-block-address-map", fbasic_block_address_map, Flag, f_Group, INVALID, nullptr, 0, CC1Option | DefaultVis, 0, 7556 "Emit the basic block address map section.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.BBAddrMap, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_basic_block_address_map), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1) 7557#endif // CODEGEN_OPTION_WITH_MARSHALLING 7558#ifdef CODEGEN_OPTION_WITH_MARSHALLING 7559CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-fno-basic-block-address-map", fno_basic_block_address_map, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, 7560 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.BBAddrMap, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_fbasic_block_address_map), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1) 7561#endif // CODEGEN_OPTION_WITH_MARSHALLING 7562#ifdef CODEGEN_OPTION_WITH_MARSHALLING 7563CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-fbasic-block-sections=", fbasic_block_sections_EQ, Joined, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | CC1AsOption, 0, 7564 "Place each function's basic blocks in unique sections (ELF Only)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, "all,labels,none,list=", true, 0, CodeGenOpts.BBSections, "none", false, "none", normalizeString, denormalizeString, mergeForwardValue, extractForwardValue, -1) 7565#endif // CODEGEN_OPTION_WITH_MARSHALLING 7566#ifdef CODEGEN_OPTION_WITH_MARSHALLING 7567CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-fdata-sections", fdata_sections, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis, 0, 7568 "Place each data in its own section", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.DataSections, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_data_sections), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1) 7569#endif // CODEGEN_OPTION_WITH_MARSHALLING 7570#ifdef CODEGEN_OPTION_WITH_MARSHALLING 7571CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-fno-data-sections", fno_data_sections, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, 7572 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.DataSections, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_fdata_sections), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1) 7573#endif // CODEGEN_OPTION_WITH_MARSHALLING 7574#ifdef CODEGEN_OPTION_WITH_MARSHALLING 7575CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-fstack-size-section", fstack_size_section, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis, 0, 7576 "Emit section containing metadata on function stack sizes", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.StackSizeSection, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_stack_size_section), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1) 7577#endif // CODEGEN_OPTION_WITH_MARSHALLING 7578#ifdef CODEGEN_OPTION_WITH_MARSHALLING 7579CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-fno-stack-size-section", fno_stack_size_section, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, 7580 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.StackSizeSection, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_fstack_size_section), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1) 7581#endif // CODEGEN_OPTION_WITH_MARSHALLING 7582#ifdef CODEGEN_OPTION_WITH_MARSHALLING 7583CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-stack-usage-file", stack_usage_file, Separate, INVALID, INVALID, nullptr, 0, CC1Option, 0, 7584 "Filename (or -) to write stack usage output to", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.StackUsageOutput, std::string(), false, std::string(), normalizeString, denormalizeString, mergeForwardValue, extractForwardValue, -1) 7585#endif // CODEGEN_OPTION_WITH_MARSHALLING 7586#ifdef CODEGEN_OPTION_WITH_MARSHALLING 7587CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-funique-basic-block-section-names", funique_basic_block_section_names, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis, 0, 7588 "Use unique names for basic block sections (ELF Only)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.UniqueBasicBlockSectionNames, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_unique_basic_block_section_names), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1) 7589#endif // CODEGEN_OPTION_WITH_MARSHALLING 7590#ifdef CODEGEN_OPTION_WITH_MARSHALLING 7591CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-fno-unique-basic-block-section-names", fno_unique_basic_block_section_names, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, 7592 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.UniqueBasicBlockSectionNames, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_funique_basic_block_section_names), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1) 7593#endif // CODEGEN_OPTION_WITH_MARSHALLING 7594#ifdef CODEGEN_OPTION_WITH_MARSHALLING 7595CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-funique-internal-linkage-names", funique_internal_linkage_names, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis, 0, 7596 "Uniqueify Internal Linkage Symbol Names by appending the MD5 hash of the module path", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.UniqueInternalLinkageNames, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_unique_internal_linkage_names), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1) 7597#endif // CODEGEN_OPTION_WITH_MARSHALLING 7598#ifdef CODEGEN_OPTION_WITH_MARSHALLING 7599CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-fno-unique-internal-linkage-names", fno_unique_internal_linkage_names, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, 7600 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.UniqueInternalLinkageNames, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_funique_internal_linkage_names), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1) 7601#endif // CODEGEN_OPTION_WITH_MARSHALLING 7602#ifdef CODEGEN_OPTION_WITH_MARSHALLING 7603CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-fno-unique-section-names", fno_unique_section_names, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis, 0, 7604 "Don't use unique names for text and data sections", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.UniqueSectionNames, true, false, true, makeBooleanOptionNormalizer(false, true, OPT_funique_section_names), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1) 7605#endif // CODEGEN_OPTION_WITH_MARSHALLING 7606#ifdef CODEGEN_OPTION_WITH_MARSHALLING 7607CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-funique-section-names", funique_section_names, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, 7608 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.UniqueSectionNames, true, false, true, makeBooleanOptionNormalizer(true, false, OPT_fno_unique_section_names), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1) 7609#endif // CODEGEN_OPTION_WITH_MARSHALLING 7610#ifdef CODEGEN_OPTION_WITH_MARSHALLING 7611CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-fseparate-named-sections", fseparate_named_sections, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis, 0, 7612 "Use separate unique sections for named sections (ELF Only)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.SeparateNamedSections, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_separate_named_sections), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1) 7613#endif // CODEGEN_OPTION_WITH_MARSHALLING 7614#ifdef CODEGEN_OPTION_WITH_MARSHALLING 7615CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-fno-separate-named-sections", fno_separate_named_sections, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, 7616 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.SeparateNamedSections, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_fseparate_named_sections), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1) 7617#endif // CODEGEN_OPTION_WITH_MARSHALLING 7618#ifdef CODEGEN_OPTION_WITH_MARSHALLING 7619CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-fsplit-machine-functions", fsplit_machine_functions, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis, 0, 7620 "Enable late function splitting using profile information (x86 ELF)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.SplitMachineFunctions, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_split_machine_functions), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1) 7621#endif // CODEGEN_OPTION_WITH_MARSHALLING 7622#ifdef CODEGEN_OPTION_WITH_MARSHALLING 7623CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-fno-split-machine-functions", fno_split_machine_functions, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | DefaultVis, 0, 7624 "Disable late function splitting using profile information (x86 ELF)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.SplitMachineFunctions, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_fsplit_machine_functions), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1) 7625#endif // CODEGEN_OPTION_WITH_MARSHALLING 7626#ifdef CODEGEN_OPTION_WITH_MARSHALLING 7627CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-fno-strict-return", fno_strict_return, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis, 0, 7628 "Don't treat control flow paths that fall off the end of a non-void function as unreachable", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.StrictReturn, true, false, true, makeBooleanOptionNormalizer(false, true, OPT_fstrict_return), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1) 7629#endif // CODEGEN_OPTION_WITH_MARSHALLING 7630#ifdef CODEGEN_OPTION_WITH_MARSHALLING 7631CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-fstrict-return", fstrict_return, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, 7632 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.StrictReturn, true, false, true, makeBooleanOptionNormalizer(true, false, OPT_fno_strict_return), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1) 7633#endif // CODEGEN_OPTION_WITH_MARSHALLING 7634#ifdef LANG_OPTION_WITH_MARSHALLING 7635LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fenable-matrix", fenable_matrix, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 7636 "Enable matrix data type and related builtin functions", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->MatrixTypes, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 7637#endif // LANG_OPTION_WITH_MARSHALLING 7638#ifdef LANG_OPTION_WITH_MARSHALLING 7639LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fraw-string-literals", fraw_string_literals, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 7640 "Enable raw string literals", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->RawStringLiterals, LangStandard::getLangStandardForKind(LangOpts->LangStd).hasRawStringLiterals(), false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_raw_string_literals), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1) 7641#endif // LANG_OPTION_WITH_MARSHALLING 7642#ifdef LANG_OPTION_WITH_MARSHALLING 7643LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fno-raw-string-literals", fno_raw_string_literals, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 7644 "Disable raw string literals", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->RawStringLiterals, LangStandard::getLangStandardForKind(LangOpts->LangStd).hasRawStringLiterals(), false, false, makeBooleanOptionNormalizer(false, true, OPT_fraw_string_literals), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1) 7645#endif // LANG_OPTION_WITH_MARSHALLING 7646#ifdef CODEGEN_OPTION_WITH_MARSHALLING 7647CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-fzero-call-used-regs=", fzero_call_used_regs_EQ, Joined, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 7648 "Clear call-used registers upon function return (AArch64/x86 only)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, "skip,used-gpr-arg,used-gpr,used-arg,used,all-gpr-arg,all-gpr,all-arg,all", true, 0, CodeGenOpts.ZeroCallUsedRegs, llvm::ZeroCallUsedRegs::ZeroCallUsedRegsKind::Skip, false, llvm::ZeroCallUsedRegs::ZeroCallUsedRegsKind::Skip, normalizeSimpleEnum, denormalizeSimpleEnum, mergeForwardValue, extractForwardValue, 29) 7649#endif // CODEGEN_OPTION_WITH_MARSHALLING 7650#ifdef CODEGEN_OPTION_WITH_MARSHALLING 7651CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-fdebug-ranges-base-address", fdebug_ranges_base_address, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis, 0, 7652 "Use DWARF base address selection entries in .debug_ranges", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.DebugRangesBaseAddress, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_debug_ranges_base_address), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1) 7653#endif // CODEGEN_OPTION_WITH_MARSHALLING 7654#ifdef CODEGEN_OPTION_WITH_MARSHALLING 7655CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-fno-debug-ranges-base-address", fno_debug_ranges_base_address, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, 7656 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.DebugRangesBaseAddress, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_fdebug_ranges_base_address), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1) 7657#endif // CODEGEN_OPTION_WITH_MARSHALLING 7658#ifdef CODEGEN_OPTION_WITH_MARSHALLING 7659CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-fno-split-dwarf-inlining", fno_split_dwarf_inlining, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | DefaultVis, 0, 7660 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.SplitDwarfInlining, false, false, true, makeBooleanOptionNormalizer(false, true, OPT_fsplit_dwarf_inlining), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1) 7661#endif // CODEGEN_OPTION_WITH_MARSHALLING 7662#ifdef CODEGEN_OPTION_WITH_MARSHALLING 7663CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-fsplit-dwarf-inlining", fsplit_dwarf_inlining, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis, 0, 7664 "Provide minimal debug info in the object/executable to facilitate online symbolication/stack traces in the absence of .dwo/.dwp files when using Split DWARF", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.SplitDwarfInlining, false, false, true, makeBooleanOptionNormalizer(true, false, OPT_fno_split_dwarf_inlining), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1) 7665#endif // CODEGEN_OPTION_WITH_MARSHALLING 7666#ifdef CODEGEN_OPTION_WITH_MARSHALLING 7667CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-fforce-dwarf-frame", fforce_dwarf_frame, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis, 0, 7668 "Always emit a debug frame section", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.ForceDwarfFrameSection, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_force_dwarf_frame), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1) 7669#endif // CODEGEN_OPTION_WITH_MARSHALLING 7670#ifdef CODEGEN_OPTION_WITH_MARSHALLING 7671CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-fno-force-dwarf-frame", fno_force_dwarf_frame, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, 7672 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.ForceDwarfFrameSection, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_fforce_dwarf_frame), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1) 7673#endif // CODEGEN_OPTION_WITH_MARSHALLING 7674#ifdef CODEGEN_OPTION_WITH_MARSHALLING 7675CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-femit-dwarf-unwind=", femit_dwarf_unwind_EQ, Joined, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | CC1AsOption, 0, 7676 "When to emit DWARF unwind (EH frame) info", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, "always,no-compact-unwind,default", true, 0, CodeGenOpts.EmitDwarfUnwind, llvm::EmitDwarfUnwindType::Default, false, llvm::EmitDwarfUnwindType::Default, normalizeSimpleEnum, denormalizeSimpleEnum, mergeForwardValue, extractForwardValue, 30) 7677#endif // CODEGEN_OPTION_WITH_MARSHALLING 7678#ifdef CODEGEN_OPTION_WITH_MARSHALLING 7679CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-femit-compact-unwind-non-canonical", femit_compact_unwind_non_canonical, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | CC1AsOption | DefaultVis, 0, 7680 "Try emitting Compact-Unwind for non-canonical entries. Maybe overriden by other constraints", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.EmitCompactUnwindNonCanonical, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_emit_compact_unwind_non_canonical), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1) 7681#endif // CODEGEN_OPTION_WITH_MARSHALLING 7682#ifdef CODEGEN_OPTION_WITH_MARSHALLING 7683CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-fno-emit-compact-unwind-non-canonical", fno_emit_compact_unwind_non_canonical, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, 7684 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.EmitCompactUnwindNonCanonical, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_femit_compact_unwind_non_canonical), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1) 7685#endif // CODEGEN_OPTION_WITH_MARSHALLING 7686#ifdef CODEGEN_OPTION_WITH_MARSHALLING 7687CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-gdwarf64", gdwarf64, Flag, g_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | CC1AsOption, 0, 7688 "Enables DWARF64 format for ELF binaries, if debug information emission is enabled.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.Dwarf64, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 7689#endif // CODEGEN_OPTION_WITH_MARSHALLING 7690#ifdef CODEGEN_OPTION_WITH_MARSHALLING 7691CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-gcodeview", gcodeview, Flag, INVALID, INVALID, nullptr, 0, DefaultVis | CC1Option | CC1AsOption | CLOption | DXCOption, 0, 7692 "Generate CodeView debug information", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.EmitCodeView, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 7693#endif // CODEGEN_OPTION_WITH_MARSHALLING 7694#ifdef CODEGEN_OPTION_WITH_MARSHALLING 7695CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-gcodeview-ghash", gcodeview_ghash, Flag, INVALID, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis | CLOption | DXCOption, 0, 7696 "Emit type record hashes in a .debug$H section", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.CodeViewGHash, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_gno_codeview_ghash), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1) 7697#endif // CODEGEN_OPTION_WITH_MARSHALLING 7698#ifdef CODEGEN_OPTION_WITH_MARSHALLING 7699CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-gno-codeview-ghash", gno_codeview_ghash, Flag, INVALID, INVALID, nullptr, 0, DefaultVis | CLOption | DXCOption, 0, 7700 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.CodeViewGHash, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_gcodeview_ghash), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1) 7701#endif // CODEGEN_OPTION_WITH_MARSHALLING 7702#ifdef CODEGEN_OPTION_WITH_MARSHALLING 7703CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-gcodeview-command-line", gcodeview_command_line, Flag, INVALID, INVALID, nullptr, 0, DefaultVis | DefaultVis | CLOption | DXCOption | CC1Option, 0, 7704 "Emit compiler path and command line into CodeView debug information", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.CodeViewCommandLine, true, false, false, makeBooleanOptionNormalizer(true, false, OPT_gno_codeview_command_line), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1) 7705#endif // CODEGEN_OPTION_WITH_MARSHALLING 7706#ifdef CODEGEN_OPTION_WITH_MARSHALLING 7707CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-gno-codeview-command-line", gno_codeview_command_line, Flag, INVALID, INVALID, nullptr, 0, DefaultVis | DefaultVis | CLOption | DXCOption | CC1Option, 0, 7708 "Don't emit compiler path and command line into CodeView debug information", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.CodeViewCommandLine, true, false, false, makeBooleanOptionNormalizer(false, true, OPT_gcodeview_command_line), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1) 7709#endif // CODEGEN_OPTION_WITH_MARSHALLING 7710#ifdef CODEGEN_OPTION_WITH_MARSHALLING 7711CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-gno-inline-line-tables", gno_inline_line_tables, Flag, g_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis | CLOption | DXCOption, 0, 7712 "Don't emit inline line tables.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.NoInlineLineTables, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_ginline_line_tables), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1) 7713#endif // CODEGEN_OPTION_WITH_MARSHALLING 7714#ifdef CODEGEN_OPTION_WITH_MARSHALLING 7715CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-ginline-line-tables", ginline_line_tables, Flag, g_Group, INVALID, nullptr, 0, DefaultVis | CLOption | DXCOption, 0, 7716 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.NoInlineLineTables, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_gno_inline_line_tables), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1) 7717#endif // CODEGEN_OPTION_WITH_MARSHALLING 7718#ifdef CODEGEN_OPTION_WITH_MARSHALLING 7719CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-gstrict-dwarf", gstrict_dwarf, Flag, g_flags_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis | CLOption | DXCOption, 0, 7720 "Restrict DWARF features to those defined in the specified version, avoiding features from later versions.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.DebugStrictDwarf, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_gno_strict_dwarf), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1) 7721#endif // CODEGEN_OPTION_WITH_MARSHALLING 7722#ifdef CODEGEN_OPTION_WITH_MARSHALLING 7723CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-gno-strict-dwarf", gno_strict_dwarf, Flag, g_flags_Group, INVALID, nullptr, 0, DefaultVis | CLOption | DXCOption, 0, 7724 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.DebugStrictDwarf, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_gstrict_dwarf), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1) 7725#endif // CODEGEN_OPTION_WITH_MARSHALLING 7726#ifdef CODEGEN_OPTION_WITH_MARSHALLING 7727CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-gno-omit-unreferenced-methods", gno_omit_unreferenced_methods, Flag, g_Group, INVALID, nullptr, 0, DefaultVis | CLOption | DXCOption, 0, 7728 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.DebugOmitUnreferencedMethods, false, false, true, makeBooleanOptionNormalizer(false, true, OPT_gomit_unreferenced_methods), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1) 7729#endif // CODEGEN_OPTION_WITH_MARSHALLING 7730#ifdef CODEGEN_OPTION_WITH_MARSHALLING 7731CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-gomit-unreferenced-methods", gomit_unreferenced_methods, Flag, g_Group, INVALID, nullptr, 0, CC1Option | DefaultVis | CLOption | DXCOption, 0, 7732 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.DebugOmitUnreferencedMethods, false, false, true, makeBooleanOptionNormalizer(true, false, OPT_gno_omit_unreferenced_methods), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1) 7733#endif // CODEGEN_OPTION_WITH_MARSHALLING 7734#ifdef CODEGEN_OPTION_WITH_MARSHALLING 7735CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-gno-column-info", gno_column_info, Flag, g_flags_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis | CLOption | DXCOption, 0, 7736 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.DebugColumnInfo, true, false, true, makeBooleanOptionNormalizer(false, true, OPT_gcolumn_info), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1) 7737#endif // CODEGEN_OPTION_WITH_MARSHALLING 7738#ifdef CODEGEN_OPTION_WITH_MARSHALLING 7739CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-gcolumn-info", gcolumn_info, Flag, g_flags_Group, INVALID, nullptr, 0, DefaultVis | CLOption | DXCOption, 0, 7740 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.DebugColumnInfo, true, false, true, makeBooleanOptionNormalizer(true, false, OPT_gno_column_info), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1) 7741#endif // CODEGEN_OPTION_WITH_MARSHALLING 7742#ifdef CODEGEN_OPTION_WITH_MARSHALLING 7743CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-gsrc-hash=", gsrc_hash_EQ, Joined, g_flags_Group, INVALID, nullptr, 0, CC1Option, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, "md5,sha1,sha256", true, 0, CodeGenOpts.DebugSrcHash, CodeGenOptions::DSH_MD5, false, CodeGenOptions::DSH_MD5, normalizeSimpleEnum, denormalizeSimpleEnum, mergeForwardValue, extractForwardValue, 31) 7744#endif // CODEGEN_OPTION_WITH_MARSHALLING 7745#ifdef CODEGEN_OPTION_WITH_MARSHALLING 7746CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-gembed-source", gembed_source, Flag, g_flags_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 7747 "Embed source text in DWARF debug sections", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.EmbedSource, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 7748#endif // CODEGEN_OPTION_WITH_MARSHALLING 7749#ifdef FRONTEND_OPTION_WITH_MARSHALLING 7750FRONTEND_OPTION_WITH_MARSHALLING(prefix_4, "-help", help, Flag, INVALID, INVALID, nullptr, 0, DefaultVis | CC1Option | CC1AsOption | FC1Option | FlangOption | DXCOption, 0, 7751 "Display available options", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, FrontendOpts.ShowHelp, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 7752#endif // FRONTEND_OPTION_WITH_MARSHALLING 7753#ifdef PREPROCESSOR_OPTION_WITH_MARSHALLING 7754PREPROCESSOR_OPTION_WITH_MARSHALLING(prefix_4, "-imacros", imacros, JoinedOrSeparate, clang_i_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 7755 "Include macros from file before parsing", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "<file>", nullptr, true, 0, PreprocessorOpts->MacroIncludes, std::vector<std::string>({}), false, std::vector<std::string>({}), normalizeStringVector, denormalizeStringVector, mergeForwardValue, extractForwardValue, -1) 7756#endif // PREPROCESSOR_OPTION_WITH_MARSHALLING 7757#ifdef PREPROCESSOR_OPTION_WITH_MARSHALLING 7758PREPROCESSOR_OPTION_WITH_MARSHALLING(prefix_1, "-include-pch", include_pch, Separate, clang_i_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 7759 "Include precompiled header file", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "<file>", nullptr, true, 0, PreprocessorOpts->ImplicitPCHInclude, std::string(), false, std::string(), normalizeString, denormalizeString, mergeForwardValue, extractForwardValue, -1) 7760#endif // PREPROCESSOR_OPTION_WITH_MARSHALLING 7761#ifdef FRONTEND_OPTION_WITH_MARSHALLING 7762FRONTEND_OPTION_WITH_MARSHALLING(prefix_4, "-relocatable-pch", relocatable_pch, Flag, INVALID, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 7763 "Whether to build a relocatable precompiled header", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, FrontendOpts.RelocatablePCH, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 7764#endif // FRONTEND_OPTION_WITH_MARSHALLING 7765#ifdef HEADER_SEARCH_OPTION_WITH_MARSHALLING 7766HEADER_SEARCH_OPTION_WITH_MARSHALLING(prefix_1, "-isysroot", isysroot, JoinedOrSeparate, clang_i_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | FlangOption, 0, 7767 "Set the system root directory (usually /)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "<dir>", nullptr, true, 0, HeaderSearchOpts->Sysroot, "/", false, "/", normalizeString, denormalizeString, mergeForwardValue, extractForwardValue, -1) 7768#endif // HEADER_SEARCH_OPTION_WITH_MARSHALLING 7769#ifdef LANG_OPTION_WITH_MARSHALLING 7770LANG_OPTION_WITH_MARSHALLING(prefix_1, "-mqdsp6-compat", mqdsp6_compat, Flag, m_Group, INVALID, nullptr, NoXarchOption, DefaultVis | CC1Option | DefaultVis | CLOption, 0, 7771 "Enable hexagon-qdsp6 backward compatibility", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->HexagonQdsp6Compat, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 7772#endif // LANG_OPTION_WITH_MARSHALLING 7773#ifdef LANG_OPTION_WITH_MARSHALLING 7774LANG_OPTION_WITH_MARSHALLING(prefix_1, "-mdouble=", mdouble_EQ, Joined, m_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis | CLOption, 0, 7775 "Force double to be <n> bits", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "<n", "32,64", true, 0, LangOpts->DoubleSize, 0, false, 0, normalizeStringIntegral<unsigned>, denormalizeString<unsigned>, mergeForwardValue, extractForwardValue, -1) 7776#endif // LANG_OPTION_WITH_MARSHALLING 7777#ifdef CODEGEN_OPTION_WITH_MARSHALLING 7778CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-inline-asm=", inline_asm_EQ, Joined, m_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, "att,intel", true, 0, CodeGenOpts.InlineAsmDialect, CodeGenOptions::IAD_ATT, false, CodeGenOptions::IAD_ATT, normalizeSimpleEnum, denormalizeSimpleEnum, mergeForwardValue, extractForwardValue, 32) 7779#endif // CODEGEN_OPTION_WITH_MARSHALLING 7780#ifdef TARGET_OPTION_WITH_MARSHALLING 7781TARGET_OPTION_WITH_MARSHALLING(prefix_1, "-mcmodel=", mcmodel_EQ, Joined, m_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | FlangOption | FC1Option | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, TargetOpts->CodeModel, "default", false, "default", normalizeString, denormalizeString, mergeForwardValue, extractForwardValue, -1) 7782#endif // TARGET_OPTION_WITH_MARSHALLING 7783#ifdef TARGET_OPTION_WITH_MARSHALLING 7784TARGET_OPTION_WITH_MARSHALLING(prefix_1, "-mlarge-data-threshold=", mlarge_data_threshold_EQ, Joined, m_Group, INVALID, nullptr, TargetSpecific, DefaultVis | CC1Option | FlangOption | FC1Option | DefaultVis | CLOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, TargetOpts->LargeDataThreshold, 0, false, 0, normalizeStringIntegral<unsigned>, denormalizeString<unsigned>, mergeForwardValue, extractForwardValue, -1) 7785#endif // TARGET_OPTION_WITH_MARSHALLING 7786#ifdef CODEGEN_OPTION_WITH_MARSHALLING 7787CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-mtls-size=", mtls_size_EQ, Joined, m_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis | CLOption, 0, 7788 "Specify bit size of immediate TLS offsets (AArch64 ELF only): 12 (for 4KB) | 24 (for 16MB, default) | 32 (for 4GB) | 48 (for 256TB, needs -mcmodel=large)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.TLSSize, 0, false, 0, normalizeStringIntegral<unsigned>, denormalizeString<unsigned>, mergeForwardValue, extractForwardValue, -1) 7789#endif // CODEGEN_OPTION_WITH_MARSHALLING 7790#ifdef LANG_OPTION_WITH_MARSHALLING 7791LANG_OPTION_WITH_MARSHALLING(prefix_1, "-malign-double", malign_double, Flag, m_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis | CLOption, 0, 7792 "Align doubles to two words in structs (x86 only)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->AlignDouble, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 7793#endif // LANG_OPTION_WITH_MARSHALLING 7794#ifdef FRONTEND_OPTION_WITH_MARSHALLING 7795FRONTEND_OPTION_WITH_MARSHALLING(prefix_1, "-mllvm", mllvm, Separate, INVALID, INVALID, nullptr, 0, DefaultVis | CC1Option | CC1AsOption | CLOption | DXCOption | FC1Option | FlangOption, 0, 7796 "Additional arguments to forward to LLVM's option processing", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, FrontendOpts.LLVMArgs, std::vector<std::string>({}), false, std::vector<std::string>({}), normalizeStringVector, denormalizeStringVector, mergeForwardValue, extractForwardValue, -1) 7797#endif // FRONTEND_OPTION_WITH_MARSHALLING 7798#ifdef LANG_OPTION_WITH_MARSHALLING 7799LANG_OPTION_WITH_MARSHALLING(prefix_1, "-ffuchsia-api-level=", ffuchsia_api_level_EQ, Joined, m_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis | CLOption, 0, 7800 "Set Fuchsia API level", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->FuchsiaAPILevel, 0, false, 0, normalizeStringIntegral<unsigned>, denormalizeString<unsigned>, mergeForwardValue, extractForwardValue, -1) 7801#endif // LANG_OPTION_WITH_MARSHALLING 7802#ifdef LANG_OPTION_WITH_MARSHALLING 7803LANG_OPTION_WITH_MARSHALLING(prefix_1, "-mms-bitfields", mms_bitfields, Flag, m_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis | CLOption, 0, 7804 "Set the default structure layout to be compatible with the Microsoft compiler standard", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->MSBitfields, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 7805#endif // LANG_OPTION_WITH_MARSHALLING 7806#ifdef CODEGEN_OPTION_WITH_MARSHALLING 7807CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-mskip-rax-setup", mskip_rax_setup, Flag, m_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis | CLOption, 0, 7808 "Skip setting up RAX register when passing variable arguments (x86 only)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.SkipRaxSetup, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 7809#endif // CODEGEN_OPTION_WITH_MARSHALLING 7810#ifdef CODEGEN_OPTION_WITH_MARSHALLING 7811CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-mstackrealign", mstackrealign, Flag, m_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis | CLOption, 0, 7812 "Force realign the stack at entry to every function", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.StackRealignment, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 7813#endif // CODEGEN_OPTION_WITH_MARSHALLING 7814#ifdef CODEGEN_OPTION_WITH_MARSHALLING 7815CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-mstack-alignment=", mstack_alignment, Joined, m_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis | CLOption, 0, 7816 "Set the stack alignment", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.StackAlignment, 0, false, 0, normalizeStringIntegral<unsigned>, denormalizeString<unsigned>, mergeForwardValue, extractForwardValue, -1) 7817#endif // CODEGEN_OPTION_WITH_MARSHALLING 7818#ifdef CODEGEN_OPTION_WITH_MARSHALLING 7819CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-mstack-probe-size=", mstack_probe_size, Joined, m_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis | CLOption, 0, 7820 "Set the stack probe size", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.StackProbeSize, 4096, false, 4096, normalizeStringIntegral<unsigned>, denormalizeString<unsigned>, mergeForwardValue, extractForwardValue, -1) 7821#endif // CODEGEN_OPTION_WITH_MARSHALLING 7822#ifdef CODEGEN_OPTION_WITH_MARSHALLING 7823CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-mno-stack-arg-probe", mno_stack_arg_probe, Flag, m_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis | CLOption, 0, 7824 "Disable stack probes which are enabled by default", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.NoStackArgProbe, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 7825#endif // CODEGEN_OPTION_WITH_MARSHALLING 7826#ifdef LANG_OPTION_WITH_MARSHALLING 7827LANG_OPTION_WITH_MARSHALLING(prefix_1, "-mthread-model", mthread_model, Separate, m_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis | CLOption, 0, 7828 "The thread model to use. Defaults to 'posix')", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, "posix,single", true, 0, LangOpts->ThreadModel, LangOptions::ThreadModelKind::POSIX, false, LangOptions::ThreadModelKind::POSIX, normalizeSimpleEnum, denormalizeSimpleEnum, mergeForwardValue, extractForwardValue, 33) 7829#endif // LANG_OPTION_WITH_MARSHALLING 7830#ifdef TARGET_OPTION_WITH_MARSHALLING 7831TARGET_OPTION_WITH_MARSHALLING(prefix_1, "-meabi", meabi, Separate, m_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis | CLOption, 0, 7832 "Set EABI type. Default depends on triple)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, "default,4,5,gnu", true, 0, TargetOpts->EABIVersion, llvm::EABI::Default, false, llvm::EABI::Default, normalizeSimpleEnum, denormalizeSimpleEnum, mergeForwardValue, extractForwardValue, 34) 7833#endif // TARGET_OPTION_WITH_MARSHALLING 7834#ifdef CODEGEN_OPTION_WITH_MARSHALLING 7835CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-mno-tls-direct-seg-refs", mno_tls_direct_seg_refs, Flag, m_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis | CLOption, 0, 7836 "Disable direct TLS access through segment registers", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.IndirectTlsSegRefs, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 7837#endif // CODEGEN_OPTION_WITH_MARSHALLING 7838#ifdef CODEGEN_OPTION_WITH_MARSHALLING 7839CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-mspeculative-load-hardening", mspeculative_load_hardening, Flag, m_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis | CLOption | DefaultVis | CLOption, 0, 7840 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.SpeculativeLoadHardening, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_mno_speculative_load_hardening), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1) 7841#endif // CODEGEN_OPTION_WITH_MARSHALLING 7842#ifdef CODEGEN_OPTION_WITH_MARSHALLING 7843CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-mno-speculative-load-hardening", mno_speculative_load_hardening, Flag, m_Group, INVALID, nullptr, 0, DefaultVis | CLOption | DefaultVis | CLOption, 0, 7844 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.SpeculativeLoadHardening, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_mspeculative_load_hardening), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1) 7845#endif // CODEGEN_OPTION_WITH_MARSHALLING 7846#ifdef LANG_OPTION_WITH_MARSHALLING 7847LANG_OPTION_WITH_MARSHALLING(prefix_1, "-mcmse", mcmse, Flag, m_arm_Features_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 7848 "Allow use of CMSE (Armv8-M Security Extensions)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->Cmse, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 7849#endif // LANG_OPTION_WITH_MARSHALLING 7850#ifdef CODEGEN_OPTION_WITH_MARSHALLING 7851CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-faapcs-bitfield-load", ForceAAPCSBitfieldLoad, Flag, m_arm_Features_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 7852 "Follows the AAPCS standard that all volatile bit-field write generates at least one load. (ARM only).", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.ForceAAPCSBitfieldLoad, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 7853#endif // CODEGEN_OPTION_WITH_MARSHALLING 7854#ifdef CODEGEN_OPTION_WITH_MARSHALLING 7855CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-fno-aapcs-bitfield-width", fno_aapcs_bitfield_width, Flag, m_arm_Features_Group, INVALID, nullptr, 0, DefaultVis | DefaultVis | CC1Option, 0, 7856 "Do not follow the AAPCS standard requirement stating that volatile bit-field width is dictated by the field container type. (ARM only).", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.AAPCSBitfieldWidth, true, false, true, makeBooleanOptionNormalizer(false, true, OPT_faapcs_bitfield_width), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1) 7857#endif // CODEGEN_OPTION_WITH_MARSHALLING 7858#ifdef CODEGEN_OPTION_WITH_MARSHALLING 7859CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-faapcs-bitfield-width", faapcs_bitfield_width, Flag, m_arm_Features_Group, INVALID, nullptr, 0, DefaultVis | DefaultVis | CC1Option, 0, 7860 "Follow the AAPCS standard requirement stating that volatile bit-field width is dictated by the field container type. (ARM only).", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.AAPCSBitfieldWidth, true, false, true, makeBooleanOptionNormalizer(true, false, OPT_fno_aapcs_bitfield_width), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1) 7861#endif // CODEGEN_OPTION_WITH_MARSHALLING 7862#ifdef LANG_OPTION_WITH_MARSHALLING 7863LANG_OPTION_WITH_MARSHALLING(prefix_1, "-mvscale-min=", mvscale_min_EQ, Joined, INVALID, INVALID, nullptr, 0, CC1Option | FC1Option, 0, 7864 "Specify the vscale minimum. Defaults to \"1\". (AArch64/RISC-V only)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->VScaleMin, 0, false, 0, normalizeStringIntegral<unsigned>, denormalizeString<unsigned>, mergeForwardValue, extractForwardValue, -1) 7865#endif // LANG_OPTION_WITH_MARSHALLING 7866#ifdef LANG_OPTION_WITH_MARSHALLING 7867LANG_OPTION_WITH_MARSHALLING(prefix_1, "-mvscale-max=", mvscale_max_EQ, Joined, INVALID, INVALID, nullptr, 0, CC1Option | FC1Option, 0, 7868 "Specify the vscale maximum. Defaults to the vector length agnostic value of \"0\". (AArch64/RISC-V only)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->VScaleMax, 0, false, 0, normalizeStringIntegral<unsigned>, denormalizeString<unsigned>, mergeForwardValue, extractForwardValue, -1) 7869#endif // LANG_OPTION_WITH_MARSHALLING 7870#ifdef CODEGEN_OPTION_WITH_MARSHALLING 7871CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-mamdgpu-ieee", mamdgpu_ieee, Flag, m_Group, INVALID, nullptr, 0, DefaultVis | DefaultVis | DefaultVis | CLOption, 0, 7872 "Sets the IEEE bit in the expected default floating point mode register. Floating point opcodes that support exception flag gathering quiet and propagate signaling NaN inputs per IEEE 754-2008. This option changes the ABI. (AMDGPU only)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.EmitIEEENaNCompliantInsts, true, false, false, makeBooleanOptionNormalizer(true, false, OPT_mno_amdgpu_ieee), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1) 7873#endif // CODEGEN_OPTION_WITH_MARSHALLING 7874#ifdef CODEGEN_OPTION_WITH_MARSHALLING 7875CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-mno-amdgpu-ieee", mno_amdgpu_ieee, Flag, m_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis | DefaultVis | CLOption, 0, 7876 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.EmitIEEENaNCompliantInsts, true, false, false, makeBooleanOptionNormalizer(false, true, OPT_mamdgpu_ieee), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1) 7877#endif // CODEGEN_OPTION_WITH_MARSHALLING 7878#ifdef TARGET_OPTION_WITH_MARSHALLING 7879TARGET_OPTION_WITH_MARSHALLING(prefix_1, "-mcode-object-version=", mcode_object_version_EQ, Joined, m_Group, INVALID, nullptr, 0, DefaultVis | FlangOption | CC1Option | FC1Option | DefaultVis | CLOption, 0, 7880 "Specify code object ABI version. Defaults to 5. (AMDGPU only)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, "none,4,5,6", true, 0, TargetOpts->CodeObjectVersion, llvm::CodeObjectVersionKind::COV_5, false, llvm::CodeObjectVersionKind::COV_5, normalizeSimpleEnum, denormalizeSimpleEnum, mergeForwardValue, extractForwardValue, 35) 7881#endif // TARGET_OPTION_WITH_MARSHALLING 7882#ifdef TARGET_OPTION_WITH_MARSHALLING 7883TARGET_OPTION_WITH_MARSHALLING(prefix_1, "-munsafe-fp-atomics", munsafe_fp_atomics, Flag, m_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis | DefaultVis | CLOption, 0, 7884 "Enable generation of unsafe floating point atomic instructions. May generate more efficient code, but may not respect rounding and denormal modes, and may give incorrect results for certain memory destinations. (AMDGPU only)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, TargetOpts->AllowAMDGPUUnsafeFPAtomics, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_mno_unsafe_fp_atomics), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1) 7885#endif // TARGET_OPTION_WITH_MARSHALLING 7886#ifdef TARGET_OPTION_WITH_MARSHALLING 7887TARGET_OPTION_WITH_MARSHALLING(prefix_1, "-mno-unsafe-fp-atomics", mno_unsafe_fp_atomics, Flag, m_Group, INVALID, nullptr, 0, DefaultVis | DefaultVis | CLOption, 0, 7888 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, TargetOpts->AllowAMDGPUUnsafeFPAtomics, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_munsafe_fp_atomics), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1) 7889#endif // TARGET_OPTION_WITH_MARSHALLING 7890#ifdef CODEGEN_OPTION_WITH_MARSHALLING 7891CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-msave-reg-params", msave_reg_params, Flag, m_Group, INVALID, nullptr, TargetSpecific, DefaultVis | CC1Option | DefaultVis | CLOption, 0, 7892 "Save arguments passed by registers to ABI-defined stack positions", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.SaveRegParams, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 7893#endif // CODEGEN_OPTION_WITH_MARSHALLING 7894#ifdef LANG_OPTION_WITH_MARSHALLING 7895LANG_OPTION_WITH_MARSHALLING(prefix_1, "-mabi=quadword-atomics", mabi_EQ_quadword_atomics, Flag, m_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis | CLOption, 0, 7896 "Enable quadword atomics ABI on AIX (AIX PPC64 only). Uses lqarx/stqcx. instructions.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->EnableAIXQuadwordAtomicsABI, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 7897#endif // LANG_OPTION_WITH_MARSHALLING 7898#ifdef CODEGEN_OPTION_WITH_MARSHALLING 7899CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-mregnames", mregnames, Flag, m_Group, INVALID, nullptr, TargetSpecific, DefaultVis | CC1Option | DefaultVis | DefaultVis | CLOption, 0, 7900 "Use full register names when writing assembly output", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.PPCUseFullRegisterNames, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_mno_regnames), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1) 7901#endif // CODEGEN_OPTION_WITH_MARSHALLING 7902#ifdef CODEGEN_OPTION_WITH_MARSHALLING 7903CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-mno-regnames", mno_regnames, Flag, m_Group, INVALID, nullptr, TargetSpecific, DefaultVis | DefaultVis | DefaultVis | CLOption, 0, 7904 "Use only register numbers when writing assembly output", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.PPCUseFullRegisterNames, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_mregnames), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1) 7905#endif // CODEGEN_OPTION_WITH_MARSHALLING 7906#ifdef CODEGEN_OPTION_WITH_MARSHALLING 7907CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-msse2avx", msse2avx, Flag, m_Group, INVALID, nullptr, TargetSpecific, DefaultVis | CC1Option | CC1AsOption | DefaultVis | CLOption, 0, 7908 "Specify that the assembler should encode SSE instructions with VEX prefix", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.X86Sse2Avx, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 7909#endif // CODEGEN_OPTION_WITH_MARSHALLING 7910#ifdef LANG_OPTION_WITH_MARSHALLING 7911LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fzvector", fzvector, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis, 0, 7912 "Enable System z vector language extension", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->ZVector, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_zvector), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1) 7913#endif // LANG_OPTION_WITH_MARSHALLING 7914#ifdef LANG_OPTION_WITH_MARSHALLING 7915LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fno-zvector", fno_zvector, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, 7916 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->ZVector, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_fzvector), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1) 7917#endif // LANG_OPTION_WITH_MARSHALLING 7918#ifdef CODEGEN_OPTION_WITH_MARSHALLING 7919CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-mbackchain", mbackchain, Flag, m_Group, INVALID, nullptr, 0, DefaultVis | DefaultVis | CC1Option | DefaultVis | CLOption, 0, 7920 "Link stack frames through backchain on System Z", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.Backchain, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_mno_backchain), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1) 7921#endif // CODEGEN_OPTION_WITH_MARSHALLING 7922#ifdef CODEGEN_OPTION_WITH_MARSHALLING 7923CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-mno-backchain", mno_backchain, Flag, m_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis | CLOption, 0, 7924 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.Backchain, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_mbackchain), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1) 7925#endif // CODEGEN_OPTION_WITH_MARSHALLING 7926#ifdef CODEGEN_OPTION_WITH_MARSHALLING 7927CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-mrelax-all", mrelax_all, Flag, m_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | CC1AsOption | DefaultVis | CLOption, 0, 7928 "(integrated-as) Relax all machine instructions", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.RelaxAll, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 7929#endif // CODEGEN_OPTION_WITH_MARSHALLING 7930#ifdef CODEGEN_OPTION_WITH_MARSHALLING 7931CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-mincremental-linker-compatible", mincremental_linker_compatible, Flag, m_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | CC1AsOption | DefaultVis | CLOption, 0, 7932 "(integrated-as) Emit an object file which can be used with an incremental linker", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.IncrementalLinkerCompatible, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 7933#endif // CODEGEN_OPTION_WITH_MARSHALLING 7934#ifdef CODEGEN_OPTION_WITH_MARSHALLING 7935CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-msoft-float", msoft_float, Flag, m_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis | CLOption, 0, 7936 "Use software floating point", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.SoftFloat, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 7937#endif // CODEGEN_OPTION_WITH_MARSHALLING 7938#ifdef CODEGEN_OPTION_WITH_MARSHALLING 7939CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-mrecip=", mrecip_EQ, CommaJoined, m_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis | CLOption, 0, 7940 "Control use of approximate reciprocal and reciprocal square root instructions followed by <n> iterations of Newton-Raphson refinement. <value> = ( ['!'] ['vec-'] ('rcp'|'sqrt') [('h'|'s'|'d')] [':'<n>] ) | 'all' | 'default' | 'none'", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.Reciprocals, std::vector<std::string>({}), false, std::vector<std::string>({}), normalizeStringVector, denormalizeStringVector, mergeForwardValue, extractForwardValue, -1) 7941#endif // CODEGEN_OPTION_WITH_MARSHALLING 7942#ifdef CODEGEN_OPTION_WITH_MARSHALLING 7943CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-mprefer-vector-width=", mprefer_vector_width_EQ, Joined, m_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis | CLOption, 0, 7944 "Specifies preferred vector width for auto-vectorization. Defaults to 'none' which allows target specific decisions.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.PreferVectorWidth, std::string(), false, std::string(), normalizeString, denormalizeString, mergeForwardValue, extractForwardValue, -1) 7945#endif // CODEGEN_OPTION_WITH_MARSHALLING 7946#ifdef CODEGEN_OPTION_WITH_MARSHALLING 7947CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-mstack-protector-guard=", mstack_protector_guard_EQ, Joined, m_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis | CLOption, 0, 7948 "Use the given guard (global, tls) for addressing the stack-protector guard", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.StackProtectorGuard, std::string(), false, std::string(), normalizeString, denormalizeString, mergeForwardValue, extractForwardValue, -1) 7949#endif // CODEGEN_OPTION_WITH_MARSHALLING 7950#ifdef CODEGEN_OPTION_WITH_MARSHALLING 7951CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-mstack-protector-guard-offset=", mstack_protector_guard_offset_EQ, Joined, m_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis | CLOption, 0, 7952 "Use the given offset for addressing the stack-protector guard", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.StackProtectorGuardOffset, INT_MAX, false, INT_MAX, normalizeStringIntegral<int>, denormalizeString<int>, mergeForwardValue, extractForwardValue, -1) 7953#endif // CODEGEN_OPTION_WITH_MARSHALLING 7954#ifdef CODEGEN_OPTION_WITH_MARSHALLING 7955CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-mstack-protector-guard-symbol=", mstack_protector_guard_symbol_EQ, Joined, m_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis | CLOption, 0, 7956 "Use the given symbol for addressing the stack-protector guard", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.StackProtectorGuardSymbol, std::string(), false, std::string(), normalizeString, denormalizeString, mergeForwardValue, extractForwardValue, -1) 7957#endif // CODEGEN_OPTION_WITH_MARSHALLING 7958#ifdef CODEGEN_OPTION_WITH_MARSHALLING 7959CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-mstack-protector-guard-reg=", mstack_protector_guard_reg_EQ, Joined, m_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis | CLOption, 0, 7960 "Use the given reg for addressing the stack-protector guard", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.StackProtectorGuardReg, std::string(), false, std::string(), normalizeString, denormalizeString, mergeForwardValue, extractForwardValue, -1) 7961#endif // CODEGEN_OPTION_WITH_MARSHALLING 7962#ifdef CODEGEN_OPTION_WITH_MARSHALLING 7963CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-mfentry", mfentry, Flag, m_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis | CLOption, 0, 7964 "Insert calls to fentry at function entry (x86/SystemZ only)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.CallFEntry, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 7965#endif // CODEGEN_OPTION_WITH_MARSHALLING 7966#ifdef CODEGEN_OPTION_WITH_MARSHALLING 7967CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-mnop-mcount", mnop_mcount, Flag, m_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis | CLOption, 0, 7968 "Generate mcount/__fentry__ calls as nops. To activate they need to be patched in.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.MNopMCount, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 7969#endif // CODEGEN_OPTION_WITH_MARSHALLING 7970#ifdef CODEGEN_OPTION_WITH_MARSHALLING 7971CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-mrecord-mcount", mrecord_mcount, Flag, m_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis | CLOption, 0, 7972 "Generate a __mcount_loc section entry for each __fentry__ call.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.RecordMCount, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 7973#endif // CODEGEN_OPTION_WITH_MARSHALLING 7974#ifdef CODEGEN_OPTION_WITH_MARSHALLING 7975CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-mpacked-stack", mpacked_stack, Flag, m_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis | CLOption, 0, 7976 "Use packed stack layout (SystemZ only).", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.PackedStack, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 7977#endif // CODEGEN_OPTION_WITH_MARSHALLING 7978#ifdef CODEGEN_OPTION_WITH_MARSHALLING 7979CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-mmsa", mmsa, Flag, m_mips_Features_Group, INVALID, nullptr, TargetSpecific, DefaultVis | CC1Option | CC1AsOption, 0, 7980 "Enable MSA ASE (MIPS only)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.MipsMsa, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 7981#endif // CODEGEN_OPTION_WITH_MARSHALLING 7982#ifdef HEADER_SEARCH_OPTION_WITH_MARSHALLING 7983HEADER_SEARCH_OPTION_WITH_MARSHALLING(prefix_1, "-nobuiltininc", nobuiltininc, Flag, IncludePath_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | CLOption | DXCOption, 0, 7984 "Disable builtin #include directories only", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, HeaderSearchOpts->UseBuiltinIncludes, true, false, true, normalizeSimpleNegativeFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 7985#endif // HEADER_SEARCH_OPTION_WITH_MARSHALLING 7986#ifdef LANG_OPTION_WITH_MARSHALLING 7987LANG_OPTION_WITH_MARSHALLING(prefix_1, "-nogpulib", nogpulib, Flag, INVALID, INVALID, nullptr, 0, DefaultVis | CC1Option | FlangOption | FC1Option, 0, 7988 "Do not link device library for CUDA/HIP device compilation", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->NoGPULib, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 7989#endif // LANG_OPTION_WITH_MARSHALLING 7990#ifdef HEADER_SEARCH_OPTION_WITH_MARSHALLING 7991HEADER_SEARCH_OPTION_WITH_MARSHALLING(prefix_1, "-nostdinc++", nostdincxx, Flag, IncludePath_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 7992 "Disable standard #include directories for the C++ standard library", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, HeaderSearchOpts->UseStandardCXXIncludes, true, false, true, normalizeSimpleNegativeFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 7993#endif // HEADER_SEARCH_OPTION_WITH_MARSHALLING 7994#ifdef FRONTEND_OPTION_WITH_MARSHALLING 7995FRONTEND_OPTION_WITH_MARSHALLING(prefix_1, "-o", o, JoinedOrSeparate, INVALID, INVALID, nullptr, NoXarchOption, DefaultVis | CC1Option | CC1AsOption | FC1Option | FlangOption, 0, 7996 "Write output to <file>", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "<file>", nullptr, true, 0, FrontendOpts.OutputFile, std::string(), false, std::string(), normalizeString, denormalizeString, mergeForwardValue, extractForwardValue, -1) 7997#endif // FRONTEND_OPTION_WITH_MARSHALLING 7998#ifdef CODEGEN_OPTION_WITH_MARSHALLING 7999CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-object-file-name=", object_file_name_EQ, Joined, INVALID, INVALID, nullptr, 0, DefaultVis | CC1Option | CC1AsOption | CLOption | DXCOption, 0, 8000 "Set the output <file> for debug infos", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "<file>", nullptr, true, 0, CodeGenOpts.ObjectFilenameForDebug, std::string(), false, std::string(), normalizeString, denormalizeString, mergeForwardValue, extractForwardValue, -1) 8001#endif // CODEGEN_OPTION_WITH_MARSHALLING 8002#ifdef DIAG_OPTION_WITH_MARSHALLING 8003DIAG_OPTION_WITH_MARSHALLING(prefix_4, "-pedantic-errors", pedantic_errors, Flag, pedantic_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, DiagnosticOpts->PedanticErrors, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 8004#endif // DIAG_OPTION_WITH_MARSHALLING 8005#ifdef DIAG_OPTION_WITH_MARSHALLING 8006DIAG_OPTION_WITH_MARSHALLING(prefix_4, "-pedantic", pedantic, Flag, pedantic_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | FlangOption | FC1Option, 0, 8007 "Warn on language extensions", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, DiagnosticOpts->Pedantic, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 8008#endif // DIAG_OPTION_WITH_MARSHALLING 8009#ifdef CODEGEN_OPTION_WITH_MARSHALLING 8010CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-pg", pg, Flag, INVALID, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 8011 "Enable mcount instrumentation", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.InstrumentForProfiling, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 8012#endif // CODEGEN_OPTION_WITH_MARSHALLING 8013#ifdef LANG_OPTION_WITH_MARSHALLING 8014LANG_OPTION_WITH_MARSHALLING(prefix_1, "-print-ivar-layout", print_ivar_layout, Flag, INVALID, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 8015 "Enable Objective-C Ivar layout bitmap print trace", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->ObjCGCBitmapPrint, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 8016#endif // LANG_OPTION_WITH_MARSHALLING 8017#ifdef LANG_OPTION_WITH_MARSHALLING 8018LANG_OPTION_WITH_MARSHALLING(prefix_1, "-pthread", pthread, Flag, INVALID, INVALID, nullptr, 0, DefaultVis | DefaultVis | CC1Option | FlangOption | FC1Option, 0, 8019 "Support POSIX threads in generated code", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->POSIXThreads, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_no_pthread), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1) 8020#endif // LANG_OPTION_WITH_MARSHALLING 8021#ifdef LANG_OPTION_WITH_MARSHALLING 8022LANG_OPTION_WITH_MARSHALLING(prefix_1, "-no-pthread", no_pthread, Flag, INVALID, INVALID, nullptr, 0, DefaultVis | CC1Option | FlangOption | FC1Option, 0, 8023 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->POSIXThreads, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_pthread), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1) 8024#endif // LANG_OPTION_WITH_MARSHALLING 8025#ifdef HEADER_SEARCH_OPTION_WITH_MARSHALLING 8026HEADER_SEARCH_OPTION_WITH_MARSHALLING(prefix_1, "-resource-dir", resource_dir, Separate, INVALID, INVALID, nullptr, NoXarchOption | HelpHidden, DefaultVis | CC1Option | CLOption | DXCOption | FlangOption | FC1Option, 0, 8027 "The directory which holds the compiler resource files", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, HeaderSearchOpts->ResourceDir, std::string(), false, std::string(), normalizeString, denormalizeString, mergeForwardValue, extractForwardValue, -1) 8028#endif // HEADER_SEARCH_OPTION_WITH_MARSHALLING 8029#ifdef LANG_OPTION_WITH_MARSHALLING 8030LANG_OPTION_WITH_MARSHALLING(prefix_1, "-regcall4", regcall4, Flag, m_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis | CLOption, 0, 8031 "Set __regcall4 as a default calling convention to respect __regcall ABI v.4", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->RegCall4, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 8032#endif // LANG_OPTION_WITH_MARSHALLING 8033#ifdef FRONTEND_OPTION_WITH_MARSHALLING 8034FRONTEND_OPTION_WITH_MARSHALLING(prefix_4, "-print-supported-cpus", print_supported_cpus, Flag, CompileOnly_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | CLOption, 0, 8035 "Print supported cpu models for the given target (if target is not specified, it will print the supported cpus for the default target)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, FrontendOpts.PrintSupportedCPUs, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 8036#endif // FRONTEND_OPTION_WITH_MARSHALLING 8037#ifdef FRONTEND_OPTION_WITH_MARSHALLING 8038FRONTEND_OPTION_WITH_MARSHALLING(prefix_4, "-print-supported-extensions", print_supported_extensions, Flag, INVALID, INVALID, nullptr, 0, DefaultVis | CC1Option | CLOption, 0, 8039 "Print supported -march extensions (RISC-V, AArch64 and ARM only)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, FrontendOpts.PrintSupportedExtensions, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 8040#endif // FRONTEND_OPTION_WITH_MARSHALLING 8041#ifdef FRONTEND_OPTION_WITH_MARSHALLING 8042FRONTEND_OPTION_WITH_MARSHALLING(prefix_4, "-print-enabled-extensions", print_enabled_extensions, Flag, INVALID, INVALID, nullptr, 0, DefaultVis | CC1Option | CLOption, 0, 8043 "Print the extensions enabled by the given target and -march/-mcpu options. (AArch64 and RISC-V only)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, FrontendOpts.PrintEnabledExtensions, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 8044#endif // FRONTEND_OPTION_WITH_MARSHALLING 8045#ifdef LANG_OPTION_WITH_MARSHALLING 8046LANG_OPTION_WITH_MARSHALLING(prefix_4, "-traditional-cpp", traditional_cpp, Flag, INVALID, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 8047 "Enable some traditional CPP emulation", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->TraditionalCPP, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 8048#endif // LANG_OPTION_WITH_MARSHALLING 8049#ifdef PREPROCESSOR_OPTION_WITH_MARSHALLING 8050PREPROCESSOR_OPTION_WITH_MARSHALLING(prefix_1, "-undef", undef, Flag, u_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 8051 "undef all system defines", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, PreprocessorOpts->UsePredefines, true, false, true, normalizeSimpleNegativeFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 8052#endif // PREPROCESSOR_OPTION_WITH_MARSHALLING 8053#ifdef HEADER_SEARCH_OPTION_WITH_MARSHALLING 8054HEADER_SEARCH_OPTION_WITH_MARSHALLING(prefix_1, "-v", v, Flag, INVALID, INVALID, nullptr, 0, DefaultVis | CC1Option | CLOption | DXCOption | FlangOption, 0, 8055 "Show commands to run and use verbose output", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, HeaderSearchOpts->Verbose, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 8056#endif // HEADER_SEARCH_OPTION_WITH_MARSHALLING 8057#ifdef LANG_OPTION_WITH_MARSHALLING 8058LANG_OPTION_WITH_MARSHALLING(prefix_1, "-faltivec-src-compat=", altivec_src_compat, Joined, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 8059 "Source-level compatibility for Altivec vectors (for PowerPC targets). This includes results of vector comparison (scalar for 'xl', vector for 'gcc') as well as behavior when initializing with a scalar (splatting for 'xl', element zero only for 'gcc'). For 'mixed', the compatibility is as 'gcc' for 'vector bool/vector pixel' and as 'xl' for other types. Current default is 'mixed'.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, "mixed,gcc,xl", true, 0, LangOpts->AltivecSrcCompat, LangOptions::AltivecSrcCompatKind::Mixed, false, LangOptions::AltivecSrcCompatKind::Mixed, normalizeSimpleEnum, denormalizeSimpleEnum, mergeForwardValue, extractForwardValue, 36) 8060#endif // LANG_OPTION_WITH_MARSHALLING 8061#ifdef DIAG_OPTION_WITH_MARSHALLING 8062DIAG_OPTION_WITH_MARSHALLING(prefix_1, "-w", w, Flag, INVALID, INVALID, nullptr, 0, DefaultVis | CC1Option | FlangOption | FC1Option, 0, 8063 "Suppress all warnings", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, DiagnosticOpts->IgnoreWarnings, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 8064#endif // DIAG_OPTION_WITH_MARSHALLING 8065#ifdef CODEGEN_OPTION_WITH_MARSHALLING 8066CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-fno-integrated-as", fno_integrated_as, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | FlangOption | DefaultVis, 0, 8067 "Disable the integrated assembler", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.DisableIntegratedAS, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fintegrated_as), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1) 8068#endif // CODEGEN_OPTION_WITH_MARSHALLING 8069#ifdef CODEGEN_OPTION_WITH_MARSHALLING 8070CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-fintegrated-as", fintegrated_as, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | FlangOption | DefaultVis, 0, 8071 "Enable the integrated assembler", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.DisableIntegratedAS, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_fno_integrated_as), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1) 8072#endif // CODEGEN_OPTION_WITH_MARSHALLING 8073#ifdef FILE_SYSTEM_OPTION_WITH_MARSHALLING 8074FILE_SYSTEM_OPTION_WITH_MARSHALLING(prefix_1, "-working-directory", working_directory, Separate, INVALID, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 8075 "Resolve file paths relative to the specified directory", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, FileSystemOpts.WorkingDir, std::string(), false, std::string(), normalizeString, denormalizeString, mergeForwardValue, extractForwardValue, -1) 8076#endif // FILE_SYSTEM_OPTION_WITH_MARSHALLING 8077#ifdef LANG_OPTION_WITH_MARSHALLING 8078LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fcheck-new", fcheck_new, Flag, INVALID, INVALID, nullptr, 0, DefaultVis | DefaultVis | CC1Option, 0, 8079 "Do not assume C++ operator new may not return NULL", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->CheckNew, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_check_new), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1) 8080#endif // LANG_OPTION_WITH_MARSHALLING 8081#ifdef LANG_OPTION_WITH_MARSHALLING 8082LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fno-check-new", fno_check_new, Flag, INVALID, INVALID, nullptr, 0, DefaultVis | CC1Option, 0, 8083 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->CheckNew, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_fcheck_new), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1) 8084#endif // LANG_OPTION_WITH_MARSHALLING 8085#ifdef LANG_OPTION_WITH_MARSHALLING 8086LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fsemantic-interposition", fsemantic_interposition, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis, 0, 8087 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->SemanticInterposition, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_semantic_interposition), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1) 8088#endif // LANG_OPTION_WITH_MARSHALLING 8089#ifdef LANG_OPTION_WITH_MARSHALLING 8090LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fno-semantic-interposition", fno_semantic_interposition, Flag, f_Group, INVALID, nullptr, 0, DefaultVis, 0, 8091 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->SemanticInterposition, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_fsemantic_interposition), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1) 8092#endif // LANG_OPTION_WITH_MARSHALLING 8093#ifdef TARGET_OPTION_WITH_MARSHALLING 8094TARGET_OPTION_WITH_MARSHALLING(prefix_1, "-target-abi", target_abi, Separate, INVALID, INVALID, nullptr, 0, CC1Option | CC1AsOption, 0, 8095 "Target a particular ABI type", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, TargetOpts->ABI, std::string(), false, std::string(), normalizeString, denormalizeString, mergeForwardValue, extractForwardValue, -1) 8096#endif // TARGET_OPTION_WITH_MARSHALLING 8097#ifdef TARGET_OPTION_WITH_MARSHALLING 8098TARGET_OPTION_WITH_MARSHALLING(prefix_1, "-darwin-target-variant-triple", darwin_target_variant_triple, Separate, INVALID, INVALID, nullptr, 0, DefaultVis | CC1Option | CC1AsOption, 0, 8099 "Specify the darwin target variant triple", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, TargetOpts->DarwinTargetVariantTriple, std::string(), false, std::string(), normalizeTriple, denormalizeString, mergeForwardValue, extractForwardValue, -1) 8100#endif // TARGET_OPTION_WITH_MARSHALLING 8101#ifdef TARGET_OPTION_WITH_MARSHALLING 8102TARGET_OPTION_WITH_MARSHALLING(prefix_1, "-tune-cpu", tune_cpu, Separate, INVALID, INVALID, nullptr, 0, CC1Option | CC1AsOption | FC1Option, 0, 8103 "Tune for a specific cpu type", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, TargetOpts->TuneCPU, std::string(), false, std::string(), normalizeString, denormalizeString, mergeForwardValue, extractForwardValue, -1) 8104#endif // TARGET_OPTION_WITH_MARSHALLING 8105#ifdef TARGET_OPTION_WITH_MARSHALLING 8106TARGET_OPTION_WITH_MARSHALLING(prefix_1, "-target-cpu", target_cpu, Separate, INVALID, INVALID, nullptr, 0, CC1Option | CC1AsOption | FC1Option, 0, 8107 "Target a specific cpu type", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, TargetOpts->CPU, std::string(), false, std::string(), normalizeString, denormalizeString, mergeForwardValue, extractForwardValue, -1) 8108#endif // TARGET_OPTION_WITH_MARSHALLING 8109#ifdef TARGET_OPTION_WITH_MARSHALLING 8110TARGET_OPTION_WITH_MARSHALLING(prefix_1, "-target-feature", target_feature, Separate, INVALID, INVALID, nullptr, 0, CC1Option | CC1AsOption | FC1Option, 0, 8111 "Target specific attributes", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, TargetOpts->FeaturesAsWritten, std::vector<std::string>({}), false, std::vector<std::string>({}), normalizeStringVector, denormalizeStringVector, mergeForwardValue, extractForwardValue, -1) 8112#endif // TARGET_OPTION_WITH_MARSHALLING 8113#ifdef TARGET_OPTION_WITH_MARSHALLING 8114TARGET_OPTION_WITH_MARSHALLING(prefix_1, "-triple", triple, Separate, INVALID, INVALID, nullptr, 0, CC1Option | CC1AsOption | FC1Option, 0, 8115 "Specify target triple (e.g. i686-apple-darwin9)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 1, TargetOpts->Triple, llvm::Triple::normalize(llvm::sys::getDefaultTargetTriple()), false, llvm::Triple::normalize(llvm::sys::getDefaultTargetTriple()), normalizeTriple, denormalizeString, mergeForwardValue, extractForwardValue, -1) 8116#endif // TARGET_OPTION_WITH_MARSHALLING 8117#ifdef TARGET_OPTION_WITH_MARSHALLING 8118TARGET_OPTION_WITH_MARSHALLING(prefix_1, "-target-linker-version", target_linker_version, Separate, INVALID, INVALID, nullptr, 0, CC1Option, 0, 8119 "Target linker version", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, TargetOpts->LinkerVersion, std::string(), false, std::string(), normalizeString, denormalizeString, mergeForwardValue, extractForwardValue, -1) 8120#endif // TARGET_OPTION_WITH_MARSHALLING 8121#ifdef TARGET_OPTION_WITH_MARSHALLING 8122TARGET_OPTION_WITH_MARSHALLING(prefix_1, "-mfpmath", mfpmath, Separate, INVALID, INVALID, nullptr, 0, CC1Option, 0, 8123 "Which unit to use for fp math", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, TargetOpts->FPMath, std::string(), false, std::string(), normalizeString, denormalizeString, mergeForwardValue, extractForwardValue, -1) 8124#endif // TARGET_OPTION_WITH_MARSHALLING 8125#ifdef LANG_OPTION_WITH_MARSHALLING 8126LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fpadding-on-unsigned-fixed-point", fpadding_on_unsigned_fixed_point, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 8127 "Force each unsigned fixed point type to have an extra bit of padding to align their scales with those of signed fixed point types", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, LangOpts->FixedPoint, 0, LangOpts->PaddingOnUnsignedFixedPoint, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_padding_on_unsigned_fixed_point), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1) 8128#endif // LANG_OPTION_WITH_MARSHALLING 8129#ifdef LANG_OPTION_WITH_MARSHALLING 8130LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fno-padding-on-unsigned-fixed-point", fno_padding_on_unsigned_fixed_point, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 8131 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, LangOpts->FixedPoint, 0, LangOpts->PaddingOnUnsignedFixedPoint, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_fpadding_on_unsigned_fixed_point), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1) 8132#endif // LANG_OPTION_WITH_MARSHALLING 8133#ifdef ANALYZER_OPTION_WITH_MARSHALLING 8134ANALYZER_OPTION_WITH_MARSHALLING(prefix_1, "-unoptimized-cfg", analysis_UnoptimizedCFG, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 8135 "Generate unoptimized CFGs for all analyses", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, AnalyzerOpts->UnoptimizedCFG, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 8136#endif // ANALYZER_OPTION_WITH_MARSHALLING 8137#ifdef ANALYZER_OPTION_WITH_MARSHALLING 8138ANALYZER_OPTION_WITH_MARSHALLING(prefix_1, "-analyzer-opt-analyze-headers", analyzer_opt_analyze_headers, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 8139 "Force the static analyzer to analyze functions defined in header files", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, AnalyzerOpts->AnalyzeAll, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 8140#endif // ANALYZER_OPTION_WITH_MARSHALLING 8141#ifdef ANALYZER_OPTION_WITH_MARSHALLING 8142ANALYZER_OPTION_WITH_MARSHALLING(prefix_1, "-analyzer-display-progress", analyzer_display_progress, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 8143 "Emit verbose output about the analyzer's progress", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, AnalyzerOpts->AnalyzerDisplayProgress, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 8144#endif // ANALYZER_OPTION_WITH_MARSHALLING 8145#ifdef ANALYZER_OPTION_WITH_MARSHALLING 8146ANALYZER_OPTION_WITH_MARSHALLING(prefix_1, "-analyzer-note-analysis-entry-points", analyzer_note_analysis_entry_points, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 8147 "Add a note for each bug report to denote their analysis entry points", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, AnalyzerOpts->AnalyzerNoteAnalysisEntryPoints, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 8148#endif // ANALYZER_OPTION_WITH_MARSHALLING 8149#ifdef ANALYZER_OPTION_WITH_MARSHALLING 8150ANALYZER_OPTION_WITH_MARSHALLING(prefix_1, "-analyze-function", analyze_function, Separate, INVALID, INVALID, nullptr, 0, CC1Option, 0, 8151 "Run analysis on specific function (for C++ include parameters in name)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, AnalyzerOpts->AnalyzeSpecificFunction, std::string(), false, std::string(), normalizeString, denormalizeString, mergeForwardValue, extractForwardValue, -1) 8152#endif // ANALYZER_OPTION_WITH_MARSHALLING 8153#ifdef ANALYZER_OPTION_WITH_MARSHALLING 8154ANALYZER_OPTION_WITH_MARSHALLING(prefix_1, "-trim-egraph", trim_egraph, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 8155 "Only show error-related paths in the analysis graph", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, AnalyzerOpts->TrimGraph, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 8156#endif // ANALYZER_OPTION_WITH_MARSHALLING 8157#ifdef ANALYZER_OPTION_WITH_MARSHALLING 8158ANALYZER_OPTION_WITH_MARSHALLING(prefix_1, "-analyzer-viz-egraph-graphviz", analyzer_viz_egraph_graphviz, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 8159 "Display exploded graph using GraphViz", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, AnalyzerOpts->visualizeExplodedGraphWithGraphViz, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 8160#endif // ANALYZER_OPTION_WITH_MARSHALLING 8161#ifdef ANALYZER_OPTION_WITH_MARSHALLING 8162ANALYZER_OPTION_WITH_MARSHALLING(prefix_1, "-analyzer-dump-egraph", analyzer_dump_egraph, Separate, INVALID, INVALID, nullptr, 0, CC1Option, 0, 8163 "Dump exploded graph to the specified file", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, AnalyzerOpts->DumpExplodedGraphTo, std::string(), false, std::string(), normalizeString, denormalizeString, mergeForwardValue, extractForwardValue, -1) 8164#endif // ANALYZER_OPTION_WITH_MARSHALLING 8165#ifdef ANALYZER_OPTION_WITH_MARSHALLING 8166ANALYZER_OPTION_WITH_MARSHALLING(prefix_1, "-analyzer-inline-max-stack-depth", analyzer_inline_max_stack_depth, Separate, INVALID, INVALID, nullptr, 0, CC1Option, 0, 8167 "Bound on stack depth while inlining (4 by default)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, AnalyzerOpts->InlineMaxStackDepth, 5, false, 5, normalizeStringIntegral<unsigned>, denormalizeString<unsigned>, mergeForwardValue, extractForwardValue, -1) 8168#endif // ANALYZER_OPTION_WITH_MARSHALLING 8169#ifdef ANALYZER_OPTION_WITH_MARSHALLING 8170ANALYZER_OPTION_WITH_MARSHALLING(prefix_1, "-analyzer-disable-retry-exhausted", analyzer_disable_retry_exhausted, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 8171 "Do not re-analyze paths leading to exhausted nodes with a different strategy (may decrease code coverage)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, AnalyzerOpts->NoRetryExhausted, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 8172#endif // ANALYZER_OPTION_WITH_MARSHALLING 8173#ifdef ANALYZER_OPTION_WITH_MARSHALLING 8174ANALYZER_OPTION_WITH_MARSHALLING(prefix_1, "-analyzer-max-loop", analyzer_max_loop, Separate, INVALID, INVALID, nullptr, 0, CC1Option, 0, 8175 "The maximum number of times the analyzer will go through a loop", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, AnalyzerOpts->maxBlockVisitOnPath, 4, false, 4, normalizeStringIntegral<unsigned>, denormalizeString<unsigned>, mergeForwardValue, extractForwardValue, -1) 8176#endif // ANALYZER_OPTION_WITH_MARSHALLING 8177#ifdef ANALYZER_OPTION_WITH_MARSHALLING 8178ANALYZER_OPTION_WITH_MARSHALLING(prefix_1, "-analyzer-stats", analyzer_stats, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 8179 "Print internal analyzer statistics.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, AnalyzerOpts->PrintStats, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 8180#endif // ANALYZER_OPTION_WITH_MARSHALLING 8181#ifdef ANALYZER_OPTION_WITH_MARSHALLING 8182ANALYZER_OPTION_WITH_MARSHALLING(prefix_1, "-analyzer-disable-all-checks", analyzer_disable_all_checks, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 8183 "Disable all static analyzer checks", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, AnalyzerOpts->DisableAllCheckers, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 8184#endif // ANALYZER_OPTION_WITH_MARSHALLING 8185#ifdef ANALYZER_OPTION_WITH_MARSHALLING 8186ANALYZER_OPTION_WITH_MARSHALLING(prefix_1, "-analyzer-checker-help", analyzer_checker_help, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 8187 "Display the list of analyzer checkers that are available", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, AnalyzerOpts->ShowCheckerHelp, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 8188#endif // ANALYZER_OPTION_WITH_MARSHALLING 8189#ifdef ANALYZER_OPTION_WITH_MARSHALLING 8190ANALYZER_OPTION_WITH_MARSHALLING(prefix_1, "-analyzer-checker-help-alpha", analyzer_checker_help_alpha, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 8191 "Display the list of in development analyzer checkers. These are NOT considered safe, they are unstable and will emit incorrect reports. Enable ONLY FOR DEVELOPMENT purposes", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, AnalyzerOpts->ShowCheckerHelpAlpha, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 8192#endif // ANALYZER_OPTION_WITH_MARSHALLING 8193#ifdef ANALYZER_OPTION_WITH_MARSHALLING 8194ANALYZER_OPTION_WITH_MARSHALLING(prefix_1, "-analyzer-checker-help-developer", analyzer_checker_help_developer, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 8195 "Display the list of developer-only checkers such as modeling and debug checkers", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, AnalyzerOpts->ShowCheckerHelpDeveloper, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 8196#endif // ANALYZER_OPTION_WITH_MARSHALLING 8197#ifdef ANALYZER_OPTION_WITH_MARSHALLING 8198ANALYZER_OPTION_WITH_MARSHALLING(prefix_1, "-analyzer-config-help", analyzer_config_help, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 8199 "Display the list of -analyzer-config options. These are meant for development purposes only!", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, AnalyzerOpts->ShowConfigOptionsList, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 8200#endif // ANALYZER_OPTION_WITH_MARSHALLING 8201#ifdef ANALYZER_OPTION_WITH_MARSHALLING 8202ANALYZER_OPTION_WITH_MARSHALLING(prefix_1, "-analyzer-list-enabled-checkers", analyzer_list_enabled_checkers, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 8203 "Display the list of enabled analyzer checkers", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, AnalyzerOpts->ShowEnabledCheckerList, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 8204#endif // ANALYZER_OPTION_WITH_MARSHALLING 8205#ifdef ANALYZER_OPTION_WITH_MARSHALLING 8206ANALYZER_OPTION_WITH_MARSHALLING(prefix_1, "-analyzer-checker-option-help", analyzer_checker_option_help, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 8207 "Display the list of checker and package options", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, AnalyzerOpts->ShowCheckerOptionList, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 8208#endif // ANALYZER_OPTION_WITH_MARSHALLING 8209#ifdef ANALYZER_OPTION_WITH_MARSHALLING 8210ANALYZER_OPTION_WITH_MARSHALLING(prefix_1, "-analyzer-checker-option-help-alpha", analyzer_checker_option_help_alpha, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 8211 "Display the list of in development checker and package options. These are NOT considered safe, they are unstable and will emit incorrect reports. Enable ONLY FOR DEVELOPMENT purposes", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, AnalyzerOpts->ShowCheckerOptionAlphaList, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 8212#endif // ANALYZER_OPTION_WITH_MARSHALLING 8213#ifdef ANALYZER_OPTION_WITH_MARSHALLING 8214ANALYZER_OPTION_WITH_MARSHALLING(prefix_1, "-analyzer-checker-option-help-developer", analyzer_checker_option_help_developer, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 8215 "Display the list of checker and package options meant for development purposes only", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, AnalyzerOpts->ShowCheckerOptionDeveloperList, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 8216#endif // ANALYZER_OPTION_WITH_MARSHALLING 8217#ifdef ANALYZER_OPTION_WITH_MARSHALLING 8218ANALYZER_OPTION_WITH_MARSHALLING(prefix_1, "-analyzer-config-compatibility-mode", analyzer_config_compatibility_mode, Separate, INVALID, INVALID, nullptr, 0, CC1Option, 0, 8219 "Don't emit errors on invalid analyzer-config inputs", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, "true,false", true, 0, AnalyzerOpts->ShouldEmitErrorsOnInvalidConfigValue, true, false, true, normalizeSimpleEnum, denormalizeSimpleEnum, mergeForwardValue, extractForwardValue, 37) 8220#endif // ANALYZER_OPTION_WITH_MARSHALLING 8221#ifdef ANALYZER_OPTION_WITH_MARSHALLING 8222ANALYZER_OPTION_WITH_MARSHALLING(prefix_1, "-analyzer-werror", analyzer_werror, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 8223 "Emit analyzer results as errors rather than warnings", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, AnalyzerOpts->AnalyzerWerror, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 8224#endif // ANALYZER_OPTION_WITH_MARSHALLING 8225#ifdef MIGRATOR_OPTION_WITH_MARSHALLING 8226MIGRATOR_OPTION_WITH_MARSHALLING(prefix_1, "-no-ns-alloc-error", migrator_no_nsalloc_error, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 8227 "Do not error on use of NSAllocateCollectable/NSReallocateCollectable", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, MigratorOpts.NoNSAllocReallocError, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 8228#endif // MIGRATOR_OPTION_WITH_MARSHALLING 8229#ifdef MIGRATOR_OPTION_WITH_MARSHALLING 8230MIGRATOR_OPTION_WITH_MARSHALLING(prefix_1, "-no-finalize-removal", migrator_no_finalize_removal, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 8231 "Do not remove finalize method in gc mode", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, MigratorOpts.NoFinalizeRemoval, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 8232#endif // MIGRATOR_OPTION_WITH_MARSHALLING 8233#ifdef CODEGEN_OPTION_WITH_MARSHALLING 8234CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-mrelocation-model", mrelocation_model, Separate, INVALID, INVALID, nullptr, 0, CC1Option | CC1AsOption | FC1Option, 0, 8235 "The relocation model to use", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, "static,pic,ropi,rwpi,ropi-rwpi,dynamic-no-pic", true, 0, CodeGenOpts.RelocationModel, llvm::Reloc::PIC_, false, llvm::Reloc::PIC_, normalizeSimpleEnum, denormalizeSimpleEnum, mergeForwardValue, extractForwardValue, 38) 8236#endif // CODEGEN_OPTION_WITH_MARSHALLING 8237#ifdef CODEGEN_OPTION_WITH_MARSHALLING 8238CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-debug-info-macro", debug_info_macro, Flag, INVALID, INVALID, nullptr, 0, CC1Option | CC1AsOption, 0, 8239 "Emit macro debug information", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.MacroDebugInfo, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 8240#endif // CODEGEN_OPTION_WITH_MARSHALLING 8241#ifdef CODEGEN_OPTION_WITH_MARSHALLING 8242CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-default-function-attr", default_function_attr, Separate, INVALID, INVALID, nullptr, 0, CC1Option | CC1AsOption, 0, 8243 "Apply given attribute to all functions", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.DefaultFunctionAttrs, std::vector<std::string>({}), false, std::vector<std::string>({}), normalizeStringVector, denormalizeStringVector, mergeForwardValue, extractForwardValue, -1) 8244#endif // CODEGEN_OPTION_WITH_MARSHALLING 8245#ifdef CODEGEN_OPTION_WITH_MARSHALLING 8246CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-dwarf-version=", dwarf_version_EQ, Joined, INVALID, INVALID, nullptr, 0, CC1Option | CC1AsOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.DwarfVersion, 0, false, 0, normalizeStringIntegral<unsigned>, denormalizeString<unsigned>, mergeForwardValue, extractForwardValue, -1) 8247#endif // CODEGEN_OPTION_WITH_MARSHALLING 8248#ifdef CODEGEN_OPTION_WITH_MARSHALLING 8249CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-debugger-tuning=", debugger_tuning_EQ, Joined, INVALID, INVALID, nullptr, 0, CC1Option | CC1AsOption, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, "gdb,lldb,sce,dbx", true, 0, CodeGenOpts.DebuggerTuning, llvm::DebuggerKind::Default, false, llvm::DebuggerKind::Default, normalizeSimpleEnum, denormalizeSimpleEnum, mergeForwardValue, extractForwardValue, 39) 8250#endif // CODEGEN_OPTION_WITH_MARSHALLING 8251#ifdef CODEGEN_OPTION_WITH_MARSHALLING 8252CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-dwarf-debug-flags", dwarf_debug_flags, Separate, INVALID, INVALID, nullptr, 0, CC1Option | CC1AsOption, 0, 8253 "The string to embed in the Dwarf debug flags record.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.DwarfDebugFlags, std::string(), false, std::string(), normalizeString, denormalizeString, mergeForwardValue, extractForwardValue, -1) 8254#endif // CODEGEN_OPTION_WITH_MARSHALLING 8255#ifdef CODEGEN_OPTION_WITH_MARSHALLING 8256CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-record-command-line", record_command_line, Separate, INVALID, INVALID, nullptr, 0, CC1Option | CC1AsOption, 0, 8257 "The string to embed in the .LLVM.command.line section.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.RecordCommandLine, std::string(), false, std::string(), normalizeString, denormalizeString, mergeForwardValue, extractForwardValue, -1) 8258#endif // CODEGEN_OPTION_WITH_MARSHALLING 8259#ifdef CODEGEN_OPTION_WITH_MARSHALLING 8260CODEGEN_OPTION_WITH_MARSHALLING(prefix_4, "-compress-debug-sections=", compress_debug_sections_EQ, Joined, INVALID, INVALID, nullptr, 0, CC1Option | CC1AsOption, 0, 8261 "DWARF debug sections compression type", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, "none,zlib,zstd", true, 0, CodeGenOpts.CompressDebugSections, llvm::DebugCompressionType::None, false, llvm::DebugCompressionType::None, normalizeSimpleEnum, denormalizeSimpleEnum, mergeForwardValue, extractForwardValue, 40) 8262#endif // CODEGEN_OPTION_WITH_MARSHALLING 8263#ifdef CODEGEN_OPTION_WITH_MARSHALLING 8264CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-mnoexecstack", mno_exec_stack, Flag, INVALID, INVALID, nullptr, 0, CC1Option | CC1AsOption, 0, 8265 "Mark the file as not needing an executable stack", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.NoExecStack, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 8266#endif // CODEGEN_OPTION_WITH_MARSHALLING 8267#ifdef CODEGEN_OPTION_WITH_MARSHALLING 8268CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-massembler-no-warn", massembler_no_warn, Flag, INVALID, INVALID, nullptr, 0, CC1Option | CC1AsOption, 0, 8269 "Make assembler not emit warnings", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.NoWarn, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 8270#endif // CODEGEN_OPTION_WITH_MARSHALLING 8271#ifdef CODEGEN_OPTION_WITH_MARSHALLING 8272CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-massembler-fatal-warnings", massembler_fatal_warnings, Flag, INVALID, INVALID, nullptr, 0, CC1Option | CC1AsOption, 0, 8273 "Make assembler warnings fatal", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.FatalWarnings, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 8274#endif // CODEGEN_OPTION_WITH_MARSHALLING 8275#ifdef CODEGEN_OPTION_WITH_MARSHALLING 8276CODEGEN_OPTION_WITH_MARSHALLING(prefix_3, "--crel", crel, Flag, INVALID, INVALID, nullptr, 0, CC1Option | CC1AsOption, 0, 8277 "Enable CREL relocation format (ELF only)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.Crel, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 8278#endif // CODEGEN_OPTION_WITH_MARSHALLING 8279#ifdef CODEGEN_OPTION_WITH_MARSHALLING 8280CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-mmapsyms=implicit", mmapsyms_implicit, Flag, INVALID, INVALID, nullptr, 0, CC1Option | CC1AsOption, 0, 8281 "Allow mapping symbol at section beginning to be implicit, lowering number of mapping symbols at the expense of some portability. Recommended for projects that can build all their object files using this option", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.ImplicitMapSyms, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 8282#endif // CODEGEN_OPTION_WITH_MARSHALLING 8283#ifdef CODEGEN_OPTION_WITH_MARSHALLING 8284CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-mrelax-relocations=no", mrelax_relocations_no, Flag, INVALID, INVALID, nullptr, 0, CC1Option | CC1AsOption, 0, 8285 "Disable x86 relax relocations", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.X86RelaxRelocations, true, false, true, normalizeSimpleNegativeFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 8286#endif // CODEGEN_OPTION_WITH_MARSHALLING 8287#ifdef CODEGEN_OPTION_WITH_MARSHALLING 8288CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-msave-temp-labels", msave_temp_labels, Flag, INVALID, INVALID, nullptr, 0, CC1Option | CC1AsOption, 0, 8289 "Save temporary labels in the symbol table. Note this may change .s semantics and shouldn't generally be used on compiler-generated code.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.SaveTempLabels, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 8290#endif // CODEGEN_OPTION_WITH_MARSHALLING 8291#ifdef CODEGEN_OPTION_WITH_MARSHALLING 8292CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-mno-type-check", mno_type_check, Flag, INVALID, INVALID, nullptr, 0, CC1Option | CC1AsOption, 0, 8293 "Don't perform type checking of the assembly code (wasm only)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.NoTypeCheck, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 8294#endif // CODEGEN_OPTION_WITH_MARSHALLING 8295#ifdef LANG_OPTION_WITH_MARSHALLING 8296LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fno-math-builtin", fno_math_builtin, Flag, INVALID, INVALID, nullptr, 0, CC1Option | CC1AsOption, 0, 8297 "Disable implicit builtin knowledge of math functions", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->NoMathBuiltin, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 8298#endif // LANG_OPTION_WITH_MARSHALLING 8299#ifdef CODEGEN_OPTION_WITH_MARSHALLING 8300CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-as-secure-log-file", as_secure_log_file, Separate, INVALID, INVALID, nullptr, 0, CC1Option | CC1AsOption, 0, 8301 "Emit .secure_log_unique directives to this filename.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.AsSecureLogFile, std::string(), false, std::string(), normalizeString, denormalizeString, mergeForwardValue, extractForwardValue, -1) 8302#endif // CODEGEN_OPTION_WITH_MARSHALLING 8303#ifdef CODEGEN_OPTION_WITH_MARSHALLING 8304CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-llvm-verify-each", llvm_verify_each, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 8305 "Run the LLVM verifier after every LLVM pass", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.VerifyEach, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 8306#endif // CODEGEN_OPTION_WITH_MARSHALLING 8307#ifdef CODEGEN_OPTION_WITH_MARSHALLING 8308CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-disable-llvm-verifier", disable_llvm_verifier, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 8309 "Don't run the LLVM IR verifier pass", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.VerifyModule, true, false, true, normalizeSimpleNegativeFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 8310#endif // CODEGEN_OPTION_WITH_MARSHALLING 8311#ifdef CODEGEN_OPTION_WITH_MARSHALLING 8312CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-disable-llvm-passes", disable_llvm_passes, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 8313 "Use together with -emit-llvm to get pristine LLVM IR from the frontend by not running any LLVM passes at all", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.DisableLLVMPasses, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 8314#endif // CODEGEN_OPTION_WITH_MARSHALLING 8315#ifdef CODEGEN_OPTION_WITH_MARSHALLING 8316CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-disable-lifetime-markers", disable_lifetimemarkers, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 8317 "Disable lifetime-markers emission even when optimizations are enabled", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.DisableLifetimeMarkers, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 8318#endif // CODEGEN_OPTION_WITH_MARSHALLING 8319#ifdef CODEGEN_OPTION_WITH_MARSHALLING 8320CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-disable-O0-optnone", disable_O0_optnone, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 8321 "Disable adding the optnone attribute to functions at O0", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.DisableO0ImplyOptNone, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 8322#endif // CODEGEN_OPTION_WITH_MARSHALLING 8323#ifdef CODEGEN_OPTION_WITH_MARSHALLING 8324CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-disable-red-zone", disable_red_zone, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 8325 "Do not emit code that uses the red zone.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.DisableRedZone, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 8326#endif // CODEGEN_OPTION_WITH_MARSHALLING 8327#ifdef CODEGEN_OPTION_WITH_MARSHALLING 8328CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-dwarf-ext-refs", dwarf_ext_refs, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 8329 "Generate debug info with external references to clang modules or precompiled headers", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.DebugTypeExtRefs, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 8330#endif // CODEGEN_OPTION_WITH_MARSHALLING 8331#ifdef CODEGEN_OPTION_WITH_MARSHALLING 8332CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-dwarf-explicit-import", dwarf_explicit_import, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 8333 "Generate explicit import from anonymous namespace to containing scope", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.DebugExplicitImport, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 8334#endif // CODEGEN_OPTION_WITH_MARSHALLING 8335#ifdef CODEGEN_OPTION_WITH_MARSHALLING 8336CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-debug-forward-template-params", debug_forward_template_params, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 8337 "Emit complete descriptions of template parameters in forward declarations", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.DebugFwdTemplateParams, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 8338#endif // CODEGEN_OPTION_WITH_MARSHALLING 8339#ifdef CODEGEN_OPTION_WITH_MARSHALLING 8340CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-fforbid-guard-variables", fforbid_guard_variables, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 8341 "Emit an error if a C++ static local initializer would need a guard variable", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.ForbidGuardVariables, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 8342#endif // CODEGEN_OPTION_WITH_MARSHALLING 8343#ifdef CODEGEN_OPTION_WITH_MARSHALLING 8344CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-no-implicit-float", no_implicit_float, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 8345 "Don't generate implicit floating point or vector instructions", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.NoImplicitFloat, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 8346#endif // CODEGEN_OPTION_WITH_MARSHALLING 8347#ifdef LANG_OPTION_WITH_MARSHALLING 8348LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fdump-vtable-layouts", fdump_vtable_layouts, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 8349 "Dump the layouts of all vtables that will be emitted in a translation unit", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->DumpVTableLayouts, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 8350#endif // LANG_OPTION_WITH_MARSHALLING 8351#ifdef CODEGEN_OPTION_WITH_MARSHALLING 8352CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-fmerge-functions", fmerge_functions, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 8353 "Permit merging of identical functions when optimizing.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.MergeFunctions, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 8354#endif // CODEGEN_OPTION_WITH_MARSHALLING 8355#ifdef CODEGEN_OPTION_WITH_MARSHALLING 8356CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-coverage-data-file=", anonymous_1888, Joined, INVALID, INVALID, nullptr, 0, CC1Option, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.CoverageDataFile, std::string(), false, std::string(), normalizeString, denormalizeString, mergeForwardValue, extractForwardValue, -1) 8357#endif // CODEGEN_OPTION_WITH_MARSHALLING 8358#ifdef CODEGEN_OPTION_WITH_MARSHALLING 8359CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-coverage-notes-file=", anonymous_1890, Joined, INVALID, INVALID, nullptr, 0, CC1Option, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.CoverageNotesFile, std::string(), false, std::string(), normalizeString, denormalizeString, mergeForwardValue, extractForwardValue, -1) 8360#endif // CODEGEN_OPTION_WITH_MARSHALLING 8361#ifdef CODEGEN_OPTION_WITH_MARSHALLING 8362CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-dump-coverage-mapping", dump_coverage_mapping, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 8363 "Dump the coverage mapping records, for testing", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.DumpCoverageMapping, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 8364#endif // CODEGEN_OPTION_WITH_MARSHALLING 8365#ifdef CODEGEN_OPTION_WITH_MARSHALLING 8366CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-fuse-register-sized-bitfield-access", fuse_register_sized_bitfield_access, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 8367 "Use register sized accesses to bit-fields, when possible.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.UseRegisterSizedBitfieldAccess, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 8368#endif // CODEGEN_OPTION_WITH_MARSHALLING 8369#ifdef CODEGEN_OPTION_WITH_MARSHALLING 8370CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-relaxed-aliasing", relaxed_aliasing, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 8371 "Turn off Type Based Alias Analysis", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.RelaxedAliasing, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 8372#endif // CODEGEN_OPTION_WITH_MARSHALLING 8373#ifdef CODEGEN_OPTION_WITH_MARSHALLING 8374CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-pointer-tbaa", pointer_tbaa, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 8375 "Turn on Type Based Alias Analysis for pointer accesses", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.PointerTBAA, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 8376#endif // CODEGEN_OPTION_WITH_MARSHALLING 8377#ifdef CODEGEN_OPTION_WITH_MARSHALLING 8378CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-no-struct-path-tbaa", no_struct_path_tbaa, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 8379 "Turn off struct-path aware Type Based Alias Analysis", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.StructPathTBAA, true, false, true, normalizeSimpleNegativeFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 8380#endif // CODEGEN_OPTION_WITH_MARSHALLING 8381#ifdef CODEGEN_OPTION_WITH_MARSHALLING 8382CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-mdebug-pass", mdebug_pass, Separate, INVALID, INVALID, nullptr, 0, CC1Option, 0, 8383 "Enable additional debug output", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.DebugPass, std::string(), false, std::string(), normalizeString, denormalizeString, mergeForwardValue, extractForwardValue, -1) 8384#endif // CODEGEN_OPTION_WITH_MARSHALLING 8385#ifdef LANG_OPTION_WITH_MARSHALLING 8386LANG_OPTION_WITH_MARSHALLING(prefix_1, "-mabi=ieeelongdouble", mabi_EQ_ieeelongdouble, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 8387 "Use IEEE 754 quadruple-precision for long double", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->PPCIEEELongDouble, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 8388#endif // LANG_OPTION_WITH_MARSHALLING 8389#ifdef LANG_OPTION_WITH_MARSHALLING 8390LANG_OPTION_WITH_MARSHALLING(prefix_1, "-mabi=vec-extabi", mabi_EQ_vec_extabi, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 8391 "Enable the extended Altivec ABI on AIX. Use volatile and nonvolatile vector registers", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->EnableAIXExtendedAltivecABI, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 8392#endif // LANG_OPTION_WITH_MARSHALLING 8393#ifdef CODEGEN_OPTION_WITH_MARSHALLING 8394CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-mfloat-abi", mfloat_abi, Separate, INVALID, INVALID, nullptr, 0, CC1Option, 0, 8395 "The float ABI to use", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.FloatABI, std::string(), false, std::string(), normalizeString, denormalizeString, mergeForwardValue, extractForwardValue, -1) 8396#endif // CODEGEN_OPTION_WITH_MARSHALLING 8397#ifdef CODEGEN_OPTION_WITH_MARSHALLING 8398CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-mlimit-float-precision", mlimit_float_precision, Separate, INVALID, INVALID, nullptr, 0, CC1Option, 0, 8399 "Limit float precision to the given value", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.LimitFloatPrecision, std::string(), false, std::string(), normalizeString, denormalizeString, mergeForwardValue, extractForwardValue, -1) 8400#endif // CODEGEN_OPTION_WITH_MARSHALLING 8401#ifdef CODEGEN_OPTION_WITH_MARSHALLING 8402CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-mregparm", mregparm, Separate, INVALID, INVALID, nullptr, 0, CC1Option, 0, 8403 "Limit the number of registers available for integer arguments", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.NumRegisterParameters, 0, false, 0, normalizeStringIntegral<unsigned>, denormalizeString<unsigned>, mergeForwardValue, extractForwardValue, -1) 8404#endif // CODEGEN_OPTION_WITH_MARSHALLING 8405#ifdef CODEGEN_OPTION_WITH_MARSHALLING 8406CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-msmall-data-limit", msmall_data_limit, Separate, INVALID, INVALID, nullptr, 0, CC1Option, 0, 8407 "Put global and static data smaller than the limit into a special section", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.SmallDataLimit, 0, false, 0, normalizeStringIntegral<unsigned>, denormalizeString<unsigned>, mergeForwardValue, extractForwardValue, -1) 8408#endif // CODEGEN_OPTION_WITH_MARSHALLING 8409#ifdef CODEGEN_OPTION_WITH_MARSHALLING 8410CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-funwind-tables=", funwind_tables_EQ, Joined, INVALID, INVALID, nullptr, 0, CC1Option, 0, 8411 "Generate unwinding tables for all functions", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.UnwindTables, 0, false, 0, normalizeStringIntegral<unsigned>, denormalizeString<unsigned>, mergeForwardValue, extractForwardValue, -1) 8412#endif // CODEGEN_OPTION_WITH_MARSHALLING 8413#ifdef CODEGEN_OPTION_WITH_MARSHALLING 8414CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-mconstructor-aliases", mconstructor_aliases, Flag, m_Group, INVALID, nullptr, 0, CC1Option | DefaultVis | CLOption, 0, 8415 "Enable emitting complete constructors and destructors as aliases when possible", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.CXXCtorDtorAliases, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_mno_constructor_aliases), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1) 8416#endif // CODEGEN_OPTION_WITH_MARSHALLING 8417#ifdef CODEGEN_OPTION_WITH_MARSHALLING 8418CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-mno-constructor-aliases", mno_constructor_aliases, Flag, m_Group, INVALID, nullptr, 0, CC1Option | DefaultVis | CLOption, 0, 8419 "Disable emitting complete constructors and destructors as aliases when possible", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.CXXCtorDtorAliases, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_mconstructor_aliases), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1) 8420#endif // CODEGEN_OPTION_WITH_MARSHALLING 8421#ifdef CODEGEN_OPTION_WITH_MARSHALLING 8422CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-mlink-builtin-bitcode-postopt", mlink_builtin_bitcode_postopt, Flag, m_Group, INVALID, nullptr, 0, CC1Option | DefaultVis | CLOption, 0, 8423 "Link builtin bitcodes after the optimization pipeline", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.LinkBitcodePostopt, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_mno_link_builtin_bitcode_postopt), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1) 8424#endif // CODEGEN_OPTION_WITH_MARSHALLING 8425#ifdef CODEGEN_OPTION_WITH_MARSHALLING 8426CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-mno-link-builtin-bitcode-postopt", mno_link_builtin_bitcode_postopt, Flag, m_Group, INVALID, nullptr, 0, CC1Option | DefaultVis | CLOption, 0, 8427 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.LinkBitcodePostopt, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_mlink_builtin_bitcode_postopt), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1) 8428#endif // CODEGEN_OPTION_WITH_MARSHALLING 8429#ifdef CODEGEN_OPTION_WITH_MARSHALLING 8430CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-vectorize-loops", vectorize_loops, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 8431 "Run the Loop vectorization passes", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.VectorizeLoop, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 8432#endif // CODEGEN_OPTION_WITH_MARSHALLING 8433#ifdef CODEGEN_OPTION_WITH_MARSHALLING 8434CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-vectorize-slp", vectorize_slp, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 8435 "Run the SLP vectorization passes", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.VectorizeSLP, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 8436#endif // CODEGEN_OPTION_WITH_MARSHALLING 8437#ifdef CODEGEN_OPTION_WITH_MARSHALLING 8438CODEGEN_OPTION_WITH_MARSHALLING(prefix_3, "--linker-option=", linker_option, Joined, INVALID, INVALID, nullptr, 0, CC1Option, 0, 8439 "Add linker option", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.LinkerOptions, std::vector<std::string>({}), false, std::vector<std::string>({}), normalizeStringVector, denormalizeStringVector, mergeForwardValue, extractForwardValue, -1) 8440#endif // CODEGEN_OPTION_WITH_MARSHALLING 8441#ifdef CODEGEN_OPTION_WITH_MARSHALLING 8442CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-fsanitize-coverage-type=", fsanitize_coverage_type, Joined, INVALID, INVALID, nullptr, 0, CC1Option, 0, 8443 "Sanitizer coverage type", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.SanitizeCoverageType, 0, false, 0, normalizeStringIntegral<unsigned>, denormalizeString<unsigned>, mergeForwardValue, extractForwardValue, -1) 8444#endif // CODEGEN_OPTION_WITH_MARSHALLING 8445#ifdef CODEGEN_OPTION_WITH_MARSHALLING 8446CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-fsanitize-coverage-indirect-calls", fsanitize_coverage_indirect_calls, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 8447 "Enable sanitizer coverage for indirect calls", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.SanitizeCoverageIndirectCalls, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 8448#endif // CODEGEN_OPTION_WITH_MARSHALLING 8449#ifdef CODEGEN_OPTION_WITH_MARSHALLING 8450CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-fsanitize-coverage-trace-bb", fsanitize_coverage_trace_bb, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 8451 "Enable basic block tracing in sanitizer coverage", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.SanitizeCoverageTraceBB, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 8452#endif // CODEGEN_OPTION_WITH_MARSHALLING 8453#ifdef CODEGEN_OPTION_WITH_MARSHALLING 8454CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-fsanitize-coverage-trace-cmp", fsanitize_coverage_trace_cmp, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 8455 "Enable cmp instruction tracing in sanitizer coverage", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.SanitizeCoverageTraceCmp, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 8456#endif // CODEGEN_OPTION_WITH_MARSHALLING 8457#ifdef CODEGEN_OPTION_WITH_MARSHALLING 8458CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-fsanitize-coverage-trace-div", fsanitize_coverage_trace_div, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 8459 "Enable div instruction tracing in sanitizer coverage", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.SanitizeCoverageTraceDiv, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 8460#endif // CODEGEN_OPTION_WITH_MARSHALLING 8461#ifdef CODEGEN_OPTION_WITH_MARSHALLING 8462CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-fsanitize-coverage-trace-gep", fsanitize_coverage_trace_gep, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 8463 "Enable gep instruction tracing in sanitizer coverage", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.SanitizeCoverageTraceGep, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 8464#endif // CODEGEN_OPTION_WITH_MARSHALLING 8465#ifdef CODEGEN_OPTION_WITH_MARSHALLING 8466CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-fsanitize-coverage-8bit-counters", fsanitize_coverage_8bit_counters, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 8467 "Enable frequency counters in sanitizer coverage", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.SanitizeCoverage8bitCounters, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 8468#endif // CODEGEN_OPTION_WITH_MARSHALLING 8469#ifdef CODEGEN_OPTION_WITH_MARSHALLING 8470CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-fsanitize-coverage-inline-8bit-counters", fsanitize_coverage_inline_8bit_counters, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 8471 "Enable inline 8-bit counters in sanitizer coverage", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.SanitizeCoverageInline8bitCounters, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 8472#endif // CODEGEN_OPTION_WITH_MARSHALLING 8473#ifdef CODEGEN_OPTION_WITH_MARSHALLING 8474CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-fsanitize-coverage-inline-bool-flag", fsanitize_coverage_inline_bool_flag, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 8475 "Enable inline bool flag in sanitizer coverage", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.SanitizeCoverageInlineBoolFlag, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 8476#endif // CODEGEN_OPTION_WITH_MARSHALLING 8477#ifdef CODEGEN_OPTION_WITH_MARSHALLING 8478CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-fsanitize-coverage-pc-table", fsanitize_coverage_pc_table, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 8479 "Create a table of coverage-instrumented PCs", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.SanitizeCoveragePCTable, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 8480#endif // CODEGEN_OPTION_WITH_MARSHALLING 8481#ifdef CODEGEN_OPTION_WITH_MARSHALLING 8482CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-fsanitize-coverage-control-flow", fsanitize_coverage_control_flow, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 8483 "Collect control flow of function", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.SanitizeCoverageControlFlow, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 8484#endif // CODEGEN_OPTION_WITH_MARSHALLING 8485#ifdef CODEGEN_OPTION_WITH_MARSHALLING 8486CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-fsanitize-coverage-trace-pc", fsanitize_coverage_trace_pc, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 8487 "Enable PC tracing in sanitizer coverage", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.SanitizeCoverageTracePC, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 8488#endif // CODEGEN_OPTION_WITH_MARSHALLING 8489#ifdef CODEGEN_OPTION_WITH_MARSHALLING 8490CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-fsanitize-coverage-trace-pc-guard", fsanitize_coverage_trace_pc_guard, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 8491 "Enable PC tracing with guard in sanitizer coverage", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.SanitizeCoverageTracePCGuard, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 8492#endif // CODEGEN_OPTION_WITH_MARSHALLING 8493#ifdef CODEGEN_OPTION_WITH_MARSHALLING 8494CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-fsanitize-coverage-no-prune", fsanitize_coverage_no_prune, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 8495 "Disable coverage pruning (i.e. instrument all blocks/edges)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.SanitizeCoverageNoPrune, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 8496#endif // CODEGEN_OPTION_WITH_MARSHALLING 8497#ifdef CODEGEN_OPTION_WITH_MARSHALLING 8498CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-fsanitize-coverage-stack-depth", fsanitize_coverage_stack_depth, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 8499 "Enable max stack depth tracing", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.SanitizeCoverageStackDepth, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 8500#endif // CODEGEN_OPTION_WITH_MARSHALLING 8501#ifdef CODEGEN_OPTION_WITH_MARSHALLING 8502CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-fsanitize-coverage-trace-loads", fsanitize_coverage_trace_loads, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 8503 "Enable tracing of loads", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.SanitizeCoverageTraceLoads, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 8504#endif // CODEGEN_OPTION_WITH_MARSHALLING 8505#ifdef CODEGEN_OPTION_WITH_MARSHALLING 8506CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-fsanitize-coverage-trace-stores", fsanitize_coverage_trace_stores, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 8507 "Enable tracing of stores", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.SanitizeCoverageTraceStores, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 8508#endif // CODEGEN_OPTION_WITH_MARSHALLING 8509#ifdef CODEGEN_OPTION_WITH_MARSHALLING 8510CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-fexperimental-sanitize-metadata=covered", fexperimental_sanitize_metadata_EQ_covered, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 8511 "Emit PCs for code covered with binary analysis sanitizers", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.SanitizeBinaryMetadataCovered, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 8512#endif // CODEGEN_OPTION_WITH_MARSHALLING 8513#ifdef CODEGEN_OPTION_WITH_MARSHALLING 8514CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-fexperimental-sanitize-metadata=atomics", fexperimental_sanitize_metadata_EQ_atomics, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 8515 "Emit PCs for atomic operations used by binary analysis sanitizers", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.SanitizeBinaryMetadataAtomics, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 8516#endif // CODEGEN_OPTION_WITH_MARSHALLING 8517#ifdef CODEGEN_OPTION_WITH_MARSHALLING 8518CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-fexperimental-sanitize-metadata=uar", fexperimental_sanitize_metadata_EQ_uar, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 8519 "Emit PCs for start of functions that are subject for use-after-return checking.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.SanitizeBinaryMetadataUAR, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 8520#endif // CODEGEN_OPTION_WITH_MARSHALLING 8521#ifdef CODEGEN_OPTION_WITH_MARSHALLING 8522CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-fpatchable-function-entry-offset=", fpatchable_function_entry_offset_EQ, Joined, INVALID, INVALID, nullptr, 0, CC1Option, 0, 8523 "Generate M NOPs before function entry", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "<M>", nullptr, true, 0, CodeGenOpts.PatchableFunctionEntryOffset, 0, false, 0, normalizeStringIntegral<unsigned>, denormalizeString<unsigned>, mergeForwardValue, extractForwardValue, -1) 8524#endif // CODEGEN_OPTION_WITH_MARSHALLING 8525#ifdef CODEGEN_OPTION_WITH_MARSHALLING 8526CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-fprofile-instrument=", fprofile_instrument_EQ, Joined, INVALID, INVALID, nullptr, 0, CC1Option, 0, 8527 "Enable PGO instrumentation", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, "none,clang,llvm,csllvm", true, 0, CodeGenOpts.ProfileInstr, CodeGenOptions::ProfileNone, false, CodeGenOptions::ProfileNone, normalizeSimpleEnum, denormalizeSimpleEnum, mergeForwardValue, extractForwardValue, 41) 8528#endif // CODEGEN_OPTION_WITH_MARSHALLING 8529#ifdef CODEGEN_OPTION_WITH_MARSHALLING 8530CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-fprofile-instrument-path=", fprofile_instrument_path_EQ, Joined, INVALID, INVALID, nullptr, 0, CC1Option, 0, 8531 "Generate instrumented code to collect execution counts into <file> (overridden by LLVM_PROFILE_FILE env var)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.InstrProfileOutput, std::string(), false, std::string(), normalizeString, denormalizeString, mergeForwardValue, extractForwardValue, -1) 8532#endif // CODEGEN_OPTION_WITH_MARSHALLING 8533#ifdef CODEGEN_OPTION_WITH_MARSHALLING 8534CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-fprofile-instrument-use-path=", fprofile_instrument_use_path_EQ, Joined, INVALID, INVALID, nullptr, 0, CC1Option, 0, 8535 "Specify the profile path in PGO use compilation", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.ProfileInstrumentUsePath, std::string(), false, std::string(), normalizeString, denormalizeString, mergeForwardValue, extractForwardValue, -1) 8536#endif // CODEGEN_OPTION_WITH_MARSHALLING 8537#ifdef CODEGEN_OPTION_WITH_MARSHALLING 8538CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-flto-visibility-public-std", flto_visibility_public_std, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 8539 "Use public LTO visibility for classes in std and stdext namespaces", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.LTOVisibilityPublicStd, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 8540#endif // CODEGEN_OPTION_WITH_MARSHALLING 8541#ifdef CODEGEN_OPTION_WITH_MARSHALLING 8542CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-flto-unit", flto_unit, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 8543 "Emit IR to support LTO unit features (CFI, whole program vtable opt)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.LTOUnit, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_lto_unit), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1) 8544#endif // CODEGEN_OPTION_WITH_MARSHALLING 8545#ifdef CODEGEN_OPTION_WITH_MARSHALLING 8546CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-fno-lto-unit", fno_lto_unit, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 8547 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.LTOUnit, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_flto_unit), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1) 8548#endif // CODEGEN_OPTION_WITH_MARSHALLING 8549#ifdef CODEGEN_OPTION_WITH_MARSHALLING 8550CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-fverify-debuginfo-preserve", fverify_debuginfo_preserve, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 8551 "Enable Debug Info Metadata preservation testing in optimizations.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.EnableDIPreservationVerify, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 8552#endif // CODEGEN_OPTION_WITH_MARSHALLING 8553#ifdef CODEGEN_OPTION_WITH_MARSHALLING 8554CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-fverify-debuginfo-preserve-export=", fverify_debuginfo_preserve_export, Joined, INVALID, INVALID, nullptr, 0, CC1Option, 0, 8555 "Export debug info (by testing original Debug Info) failures into specified (JSON) file (should be abs path as we use append mode to insert new JSON objects).", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "<file>", nullptr, true, 0, CodeGenOpts.DIBugsReportFilePath, std::string(), false, std::string(), normalizeString, denormalizeString, mergeForwardValue, extractForwardValue, -1) 8556#endif // CODEGEN_OPTION_WITH_MARSHALLING 8557#ifdef CODEGEN_OPTION_WITH_MARSHALLING 8558CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-fwarn-stack-size=", fwarn_stack_size_EQ, Joined, INVALID, INVALID, nullptr, 0, CC1Option, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.WarnStackSize, UINT_MAX, false, UINT_MAX, normalizeStringIntegral<unsigned>, denormalizeString<unsigned>, mergeForwardValue, extractForwardValue, -1) 8559#endif // CODEGEN_OPTION_WITH_MARSHALLING 8560#ifdef LANG_OPTION_WITH_MARSHALLING 8561LANG_OPTION_WITH_MARSHALLING(prefix_1, "-mbranch-target-enforce", mbranch_target_enforce, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->BranchTargetEnforcement, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 8562#endif // LANG_OPTION_WITH_MARSHALLING 8563#ifdef LANG_OPTION_WITH_MARSHALLING 8564LANG_OPTION_WITH_MARSHALLING(prefix_1, "-mbranch-protection-pauth-lr", mbranch_protection_pauth_lr, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->BranchProtectionPAuthLR, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 8565#endif // LANG_OPTION_WITH_MARSHALLING 8566#ifdef LANG_OPTION_WITH_MARSHALLING 8567LANG_OPTION_WITH_MARSHALLING(prefix_1, "-mguarded-control-stack", mguarded_control_stack, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->GuardedControlStack, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 8568#endif // LANG_OPTION_WITH_MARSHALLING 8569#ifdef LANG_OPTION_WITH_MARSHALLING 8570LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fno-dllexport-inlines", fno_dllexport_inlines, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->DllExportInlines, true, false, true, normalizeSimpleNegativeFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 8571#endif // LANG_OPTION_WITH_MARSHALLING 8572#ifdef CODEGEN_OPTION_WITH_MARSHALLING 8573CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-cfguard-no-checks", cfguard_no_checks, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 8574 "Emit Windows Control Flow Guard tables only (no checks)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.ControlFlowGuardNoChecks, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 8575#endif // CODEGEN_OPTION_WITH_MARSHALLING 8576#ifdef CODEGEN_OPTION_WITH_MARSHALLING 8577CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-cfguard", cfguard, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 8578 "Emit Windows Control Flow Guard tables and checks", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.ControlFlowGuard, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 8579#endif // CODEGEN_OPTION_WITH_MARSHALLING 8580#ifdef CODEGEN_OPTION_WITH_MARSHALLING 8581CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-ehcontguard", ehcontguard, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 8582 "Emit Windows EH Continuation Guard tables", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.EHContGuard, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 8583#endif // CODEGEN_OPTION_WITH_MARSHALLING 8584#ifdef CODEGEN_OPTION_WITH_MARSHALLING 8585CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-fctor-dtor-return-this", fctor_dtor_return_this, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 8586 "Change the C++ ABI to returning `this` pointer from constructors and non-deleting destructors. (No effect on Microsoft ABI)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.CtorDtorReturnThis, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 8587#endif // CODEGEN_OPTION_WITH_MARSHALLING 8588#ifdef CODEGEN_OPTION_WITH_MARSHALLING 8589CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-fexperimental-assignment-tracking=", fexperimental_assignment_tracking_EQ, Joined, f_Group, INVALID, nullptr, 0, CC1Option, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, "disabled,enabled,forced", true, 0, CodeGenOpts.AssignmentTrackingMode, CodeGenOptions::AssignmentTrackingOpts::Enabled, false, CodeGenOptions::AssignmentTrackingOpts::Enabled, normalizeSimpleEnum, denormalizeSimpleEnum, mergeForwardValue, extractForwardValue, 42) 8590#endif // CODEGEN_OPTION_WITH_MARSHALLING 8591#ifdef CODEGEN_OPTION_WITH_MARSHALLING 8592CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-enable-tlsdesc", enable_tlsdesc, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.EnableTLSDESC, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 8593#endif // CODEGEN_OPTION_WITH_MARSHALLING 8594#ifdef DEPENDENCY_OUTPUT_OPTION_WITH_MARSHALLING 8595DEPENDENCY_OUTPUT_OPTION_WITH_MARSHALLING(prefix_1, "-sys-header-deps", sys_header_deps, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 8596 "Include system headers in dependency output", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, DependencyOutputOpts.IncludeSystemHeaders, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 8597#endif // DEPENDENCY_OUTPUT_OPTION_WITH_MARSHALLING 8598#ifdef DEPENDENCY_OUTPUT_OPTION_WITH_MARSHALLING 8599DEPENDENCY_OUTPUT_OPTION_WITH_MARSHALLING(prefix_1, "-module-file-deps", module_file_deps, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 8600 "Include module files in dependency output", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, DependencyOutputOpts.IncludeModuleFiles, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 8601#endif // DEPENDENCY_OUTPUT_OPTION_WITH_MARSHALLING 8602#ifdef DEPENDENCY_OUTPUT_OPTION_WITH_MARSHALLING 8603DEPENDENCY_OUTPUT_OPTION_WITH_MARSHALLING(prefix_1, "-header-include-file", header_include_file, Separate, INVALID, INVALID, nullptr, 0, CC1Option, 0, 8604 "Filename (or -) to write header include output to", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, DependencyOutputOpts.HeaderIncludeOutputFile, std::string(), false, std::string(), normalizeString, denormalizeString, mergeForwardValue, extractForwardValue, -1) 8605#endif // DEPENDENCY_OUTPUT_OPTION_WITH_MARSHALLING 8606#ifdef DEPENDENCY_OUTPUT_OPTION_WITH_MARSHALLING 8607DEPENDENCY_OUTPUT_OPTION_WITH_MARSHALLING(prefix_1, "-header-include-format=", header_include_format_EQ, Joined, INVALID, INVALID, nullptr, 0, CC1Option, 0, 8608 "set format in which header info is emitted", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, "textual,json", true, 0, DependencyOutputOpts.HeaderIncludeFormat, HIFMT_Textual, false, HIFMT_Textual, normalizeSimpleEnum, denormalizeSimpleEnum, mergeForwardValue, extractForwardValue, 43) 8609#endif // DEPENDENCY_OUTPUT_OPTION_WITH_MARSHALLING 8610#ifdef DEPENDENCY_OUTPUT_OPTION_WITH_MARSHALLING 8611DEPENDENCY_OUTPUT_OPTION_WITH_MARSHALLING(prefix_1, "-header-include-filtering=", header_include_filtering_EQ, Joined, INVALID, INVALID, nullptr, 0, CC1Option, 0, 8612 "set the flag that enables filtering header information", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, "none,only-direct-system", true, 0, DependencyOutputOpts.HeaderIncludeFiltering, HIFIL_None, false, HIFIL_None, normalizeSimpleEnum, denormalizeSimpleEnum, mergeForwardValue, extractForwardValue, 44) 8613#endif // DEPENDENCY_OUTPUT_OPTION_WITH_MARSHALLING 8614#ifdef DIAG_OPTION_WITH_MARSHALLING 8615DIAG_OPTION_WITH_MARSHALLING(prefix_1, "-diagnostic-log-file", diagnostic_log_file, Separate, INVALID, INVALID, nullptr, 0, CC1Option, 0, 8616 "Filename (or -) to log diagnostics to", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, DiagnosticOpts->DiagnosticLogFile, std::string(), false, std::string(), normalizeString, denormalizeString, mergeForwardValue, extractForwardValue, -1) 8617#endif // DIAG_OPTION_WITH_MARSHALLING 8618#ifdef DIAG_OPTION_WITH_MARSHALLING 8619DIAG_OPTION_WITH_MARSHALLING(prefix_1, "-fdiagnostics-format", fdiagnostics_format, Separate, INVALID, INVALID, nullptr, 0, CC1Option, 0, 8620 "Change diagnostic formatting to match IDE and command line tools", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, "clang,msvc,vi,sarif,SARIF", true, 0, DiagnosticOpts->Format, DiagnosticOptions::Clang, false, DiagnosticOptions::Clang, normalizeSimpleEnum, denormalizeSimpleEnum, mergeForwardValue, extractForwardValue, 45) 8621#endif // DIAG_OPTION_WITH_MARSHALLING 8622#ifdef DIAG_OPTION_WITH_MARSHALLING 8623DIAG_OPTION_WITH_MARSHALLING(prefix_1, "-fdiagnostics-show-category", fdiagnostics_show_category, Separate, INVALID, INVALID, nullptr, 0, CC1Option, 0, 8624 "Print diagnostic category", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, "none,id,name", true, 0, DiagnosticOpts->ShowCategories, 0, false, 0, normalizeSimpleEnum, denormalizeSimpleEnum, mergeForwardValue, extractForwardValue, 46) 8625#endif // DIAG_OPTION_WITH_MARSHALLING 8626#ifdef DIAG_OPTION_WITH_MARSHALLING 8627DIAG_OPTION_WITH_MARSHALLING(prefix_1, "-fno-diagnostics-use-presumed-location", fno_diagnostics_use_presumed_location, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 8628 "Ignore #line directives when displaying diagnostic locations", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, DiagnosticOpts->ShowPresumedLoc, true, false, true, normalizeSimpleNegativeFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 8629#endif // DIAG_OPTION_WITH_MARSHALLING 8630#ifdef DIAG_OPTION_WITH_MARSHALLING 8631DIAG_OPTION_WITH_MARSHALLING(prefix_1, "-ftabstop", ftabstop, Separate, INVALID, INVALID, nullptr, 0, CC1Option, 0, 8632 "Set the tab stop distance.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "<N>", nullptr, true, 0, DiagnosticOpts->TabStop, DiagnosticOptions::DefaultTabStop, false, DiagnosticOptions::DefaultTabStop, normalizeStringIntegral<unsigned>, denormalizeString<unsigned>, mergeForwardValue, extractForwardValue, -1) 8633#endif // DIAG_OPTION_WITH_MARSHALLING 8634#ifdef DIAG_OPTION_WITH_MARSHALLING 8635DIAG_OPTION_WITH_MARSHALLING(prefix_1, "-ferror-limit", ferror_limit, Separate, INVALID, INVALID, nullptr, 0, CC1Option, 0, 8636 "Set the maximum number of errors to emit before stopping (0 = no limit).", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "<N>", nullptr, true, 0, DiagnosticOpts->ErrorLimit, 0, false, 0, normalizeStringIntegral<unsigned>, denormalizeString<unsigned>, mergeForwardValue, extractForwardValue, -1) 8637#endif // DIAG_OPTION_WITH_MARSHALLING 8638#ifdef DIAG_OPTION_WITH_MARSHALLING 8639DIAG_OPTION_WITH_MARSHALLING(prefix_1, "-Wno-rewrite-macros", Wno_rewrite_macros, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 8640 "Silence ObjC rewriting warnings", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, DiagnosticOpts->NoRewriteMacros, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 8641#endif // DIAG_OPTION_WITH_MARSHALLING 8642#ifdef FRONTEND_OPTION_WITH_MARSHALLING 8643FRONTEND_OPTION_WITH_MARSHALLING(prefix_1, "-ast-merge", ast_merge, Separate, INVALID, INVALID, nullptr, 0, CC1Option, 0, 8644 "Merge the given AST file into the translation unit being compiled.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "<ast file>", nullptr, true, 0, FrontendOpts.ASTMergeFiles, std::vector<std::string>({}), false, std::vector<std::string>({}), normalizeStringVector, denormalizeStringVector, mergeForwardValue, extractForwardValue, -1) 8645#endif // FRONTEND_OPTION_WITH_MARSHALLING 8646#ifdef FRONTEND_OPTION_WITH_MARSHALLING 8647FRONTEND_OPTION_WITH_MARSHALLING(prefix_1, "-aux-triple", aux_triple, Separate, INVALID, INVALID, nullptr, 0, CC1Option, 0, 8648 "Auxiliary target triple.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, FrontendOpts.AuxTriple, std::string(), false, std::string(), normalizeString, denormalizeString, mergeForwardValue, extractForwardValue, -1) 8649#endif // FRONTEND_OPTION_WITH_MARSHALLING 8650#ifdef FRONTEND_OPTION_WITH_MARSHALLING 8651FRONTEND_OPTION_WITH_MARSHALLING(prefix_1, "-code-completion-macros", code_completion_macros, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 8652 "Include macros in code-completion results", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, FrontendOpts.CodeCompleteOpts.IncludeMacros, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 8653#endif // FRONTEND_OPTION_WITH_MARSHALLING 8654#ifdef FRONTEND_OPTION_WITH_MARSHALLING 8655FRONTEND_OPTION_WITH_MARSHALLING(prefix_1, "-code-completion-patterns", code_completion_patterns, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 8656 "Include code patterns in code-completion results", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, FrontendOpts.CodeCompleteOpts.IncludeCodePatterns, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 8657#endif // FRONTEND_OPTION_WITH_MARSHALLING 8658#ifdef FRONTEND_OPTION_WITH_MARSHALLING 8659FRONTEND_OPTION_WITH_MARSHALLING(prefix_1, "-no-code-completion-globals", no_code_completion_globals, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 8660 "Do not include global declarations in code-completion results.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, FrontendOpts.CodeCompleteOpts.IncludeGlobals, true, false, true, normalizeSimpleNegativeFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 8661#endif // FRONTEND_OPTION_WITH_MARSHALLING 8662#ifdef FRONTEND_OPTION_WITH_MARSHALLING 8663FRONTEND_OPTION_WITH_MARSHALLING(prefix_1, "-no-code-completion-ns-level-decls", no_code_completion_ns_level_decls, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 8664 "Do not include declarations inside namespaces (incl. global namespace) in the code-completion results.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, FrontendOpts.CodeCompleteOpts.IncludeNamespaceLevelDecls, true, false, true, normalizeSimpleNegativeFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 8665#endif // FRONTEND_OPTION_WITH_MARSHALLING 8666#ifdef FRONTEND_OPTION_WITH_MARSHALLING 8667FRONTEND_OPTION_WITH_MARSHALLING(prefix_1, "-code-completion-brief-comments", code_completion_brief_comments, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 8668 "Include brief documentation comments in code-completion results.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, FrontendOpts.CodeCompleteOpts.IncludeBriefComments, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 8669#endif // FRONTEND_OPTION_WITH_MARSHALLING 8670#ifdef FRONTEND_OPTION_WITH_MARSHALLING 8671FRONTEND_OPTION_WITH_MARSHALLING(prefix_1, "-code-completion-with-fixits", code_completion_with_fixits, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 8672 "Include code completion results which require small fix-its.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, FrontendOpts.CodeCompleteOpts.IncludeFixIts, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 8673#endif // FRONTEND_OPTION_WITH_MARSHALLING 8674#ifdef FRONTEND_OPTION_WITH_MARSHALLING 8675FRONTEND_OPTION_WITH_MARSHALLING(prefix_1, "-skip-function-bodies", skip_function_bodies, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 8676 "Skip function bodies when possible", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, FrontendOpts.SkipFunctionBodies, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 8677#endif // FRONTEND_OPTION_WITH_MARSHALLING 8678#ifdef FRONTEND_OPTION_WITH_MARSHALLING 8679FRONTEND_OPTION_WITH_MARSHALLING(prefix_1, "-disable-free", disable_free, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 8680 "Disable freeing of memory on exit", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, FrontendOpts.DisableFree, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 8681#endif // FRONTEND_OPTION_WITH_MARSHALLING 8682#ifdef CODEGEN_OPTION_WITH_MARSHALLING 8683CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-clear-ast-before-backend", clear_ast_before_backend, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 8684 "Clear the Clang AST before running backend code generation", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.ClearASTBeforeBackend, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_no_clear_ast_before_backend), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1) 8685#endif // CODEGEN_OPTION_WITH_MARSHALLING 8686#ifdef CODEGEN_OPTION_WITH_MARSHALLING 8687CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-no-clear-ast-before-backend", no_clear_ast_before_backend, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 8688 "Don't clear the Clang AST before running backend code generation", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.ClearASTBeforeBackend, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_clear_ast_before_backend), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1) 8689#endif // CODEGEN_OPTION_WITH_MARSHALLING 8690#ifdef CODEGEN_OPTION_WITH_MARSHALLING 8691CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-enable-noundef-analysis", enable_noundef_analysis, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 8692 "Enable analyzing function argument and return types for mandatory definedness", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.EnableNoundefAttrs, true, false, false, makeBooleanOptionNormalizer(true, false, OPT_no_enable_noundef_analysis), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1) 8693#endif // CODEGEN_OPTION_WITH_MARSHALLING 8694#ifdef CODEGEN_OPTION_WITH_MARSHALLING 8695CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-no-enable-noundef-analysis", no_enable_noundef_analysis, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 8696 "Disable analyzing function argument and return types for mandatory definedness", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.EnableNoundefAttrs, true, false, false, makeBooleanOptionNormalizer(false, true, OPT_enable_noundef_analysis), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1) 8697#endif // CODEGEN_OPTION_WITH_MARSHALLING 8698#ifdef CODEGEN_OPTION_WITH_MARSHALLING 8699CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-discard-value-names", discard_value_names, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 8700 "Discard value names in LLVM IR", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.DiscardValueNames, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 8701#endif // CODEGEN_OPTION_WITH_MARSHALLING 8702#ifdef FRONTEND_OPTION_WITH_MARSHALLING 8703FRONTEND_OPTION_WITH_MARSHALLING(prefix_1, "-add-plugin", add_plugin, Separate, INVALID, INVALID, nullptr, 0, CC1Option, 0, 8704 "Use the named plugin action in addition to the default action", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "<name>", nullptr, true, 0, FrontendOpts.AddPluginActions, std::vector<std::string>({}), false, std::vector<std::string>({}), normalizeStringVector, denormalizeStringVector, mergeForwardValue, extractForwardValue, -1) 8705#endif // FRONTEND_OPTION_WITH_MARSHALLING 8706#ifdef FRONTEND_OPTION_WITH_MARSHALLING 8707FRONTEND_OPTION_WITH_MARSHALLING(prefix_1, "-ast-dump-filter", ast_dump_filter, Separate, INVALID, INVALID, nullptr, 0, CC1Option, 0, 8708 "Use with -ast-dump or -ast-print to dump/print only AST declaration nodes having a certain substring in a qualified name. Use -ast-list to list all filterable declaration node names.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "<dump_filter>", nullptr, true, 0, FrontendOpts.ASTDumpFilter, std::string(), false, std::string(), normalizeString, denormalizeString, mergeForwardValue, extractForwardValue, -1) 8709#endif // FRONTEND_OPTION_WITH_MARSHALLING 8710#ifdef FRONTEND_OPTION_WITH_MARSHALLING 8711FRONTEND_OPTION_WITH_MARSHALLING(prefix_1, "-fno-modules-global-index", fno_modules_global_index, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 8712 "Do not automatically generate or update the global module index", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, FrontendOpts.UseGlobalModuleIndex, true, false, true, normalizeSimpleNegativeFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 8713#endif // FRONTEND_OPTION_WITH_MARSHALLING 8714#ifdef LANG_OPTION_WITH_MARSHALLING 8715LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fno-modules-error-recovery", fno_modules_error_recovery, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 8716 "Do not automatically import modules for error recovery", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->ModulesErrorRecovery, true, false, true, normalizeSimpleNegativeFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 8717#endif // LANG_OPTION_WITH_MARSHALLING 8718#ifdef HEADER_SEARCH_OPTION_WITH_MARSHALLING 8719HEADER_SEARCH_OPTION_WITH_MARSHALLING(prefix_1, "-fmodule-map-file-home-is-cwd", fmodule_map_file_home_is_cwd, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 8720 "Use the current working directory as the home directory of module maps specified by -fmodule-map-file=<FILE>", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, HeaderSearchOpts->ModuleMapFileHomeIsCwd, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 8721#endif // HEADER_SEARCH_OPTION_WITH_MARSHALLING 8722#ifdef HEADER_SEARCH_OPTION_WITH_MARSHALLING 8723HEADER_SEARCH_OPTION_WITH_MARSHALLING(prefix_1, "-fmodule-file-home-is-cwd", fmodule_file_home_is_cwd, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 8724 "Use the current working directory as the base directory of compiled module files.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, HeaderSearchOpts->ModuleFileHomeIsCwd, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 8725#endif // HEADER_SEARCH_OPTION_WITH_MARSHALLING 8726#ifdef LANG_OPTION_WITH_MARSHALLING 8727LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fmodule-feature", fmodule_feature, Separate, INVALID, INVALID, nullptr, 0, CC1Option, 0, 8728 "Enable <feature> in module map requires declarations", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "<feature>", nullptr, true, 0, LangOpts->ModuleFeatures, std::vector<std::string>({}), false, std::vector<std::string>({}), normalizeStringVector, denormalizeStringVector, mergeForwardValue, extractForwardValue, -1) 8729#endif // LANG_OPTION_WITH_MARSHALLING 8730#ifdef FRONTEND_OPTION_WITH_MARSHALLING 8731FRONTEND_OPTION_WITH_MARSHALLING(prefix_1, "-fmodules-embed-file=", fmodules_embed_file_EQ, Joined, INVALID, INVALID, nullptr, 0, CC1Option, 0, 8732 "Embed the contents of the specified file into the module file being compiled.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "<file>", nullptr, true, 0, FrontendOpts.ModulesEmbedFiles, std::vector<std::string>({}), false, std::vector<std::string>({}), normalizeStringVector, denormalizeStringVector, mergeForwardValue, extractForwardValue, -1) 8733#endif // FRONTEND_OPTION_WITH_MARSHALLING 8734#ifdef FRONTEND_OPTION_WITH_MARSHALLING 8735FRONTEND_OPTION_WITH_MARSHALLING(prefix_1, "-fmodules-embed-all-files", fmodules_embed_all_files, Joined, INVALID, INVALID, nullptr, 0, CC1Option, 0, 8736 "Embed the contents of all files read by this compilation into the produced module file.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, FrontendOpts.ModulesEmbedAllFiles, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 8737#endif // FRONTEND_OPTION_WITH_MARSHALLING 8738#ifdef FRONTEND_OPTION_WITH_MARSHALLING 8739FRONTEND_OPTION_WITH_MARSHALLING(prefix_1, "-fno-implicit-modules-use-lock", fno_fimplicit_modules_use_lock, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 8740 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, FrontendOpts.BuildingImplicitModuleUsesLock, true, false, true, makeBooleanOptionNormalizer(false, true, OPT_ffimplicit_modules_use_lock), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1) 8741#endif // FRONTEND_OPTION_WITH_MARSHALLING 8742#ifdef FRONTEND_OPTION_WITH_MARSHALLING 8743FRONTEND_OPTION_WITH_MARSHALLING(prefix_1, "-fimplicit-modules-use-lock", ffimplicit_modules_use_lock, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 8744 "Use filesystem locks for implicit modules builds to avoid duplicating work in competing clang invocations.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, FrontendOpts.BuildingImplicitModuleUsesLock, true, false, true, makeBooleanOptionNormalizer(true, false, OPT_fno_fimplicit_modules_use_lock), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1) 8745#endif // FRONTEND_OPTION_WITH_MARSHALLING 8746#ifdef LANG_OPTION_WITH_MARSHALLING 8747LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fmodules-local-submodule-visibility", fmodules_local_submodule_visibility, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 8748 "Enforce name visibility rules across submodules of the same top-level module.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->ModulesLocalVisibility, false, false || LangOpts->CPlusPlusModules, true, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 8749#endif // LANG_OPTION_WITH_MARSHALLING 8750#ifdef LANG_OPTION_WITH_MARSHALLING 8751LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fmodules-codegen", fmodules_codegen, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 8752 "Generate code for uses of this module that assumes an explicit object file will be built for the module", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->ModulesCodegen, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 8753#endif // LANG_OPTION_WITH_MARSHALLING 8754#ifdef LANG_OPTION_WITH_MARSHALLING 8755LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fmodules-debuginfo", fmodules_debuginfo, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 8756 "Generate debug info for types in an object file built from this module and do not generate them elsewhere", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->ModulesDebugInfo, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 8757#endif // LANG_OPTION_WITH_MARSHALLING 8758#ifdef HEADER_SEARCH_OPTION_WITH_MARSHALLING 8759HEADER_SEARCH_OPTION_WITH_MARSHALLING(prefix_1, "-fmodule-format=", fmodule_format_EQ, Joined, INVALID, INVALID, nullptr, 0, CC1Option, 0, 8760 "Select the container format for clang modules and PCH. Supported options are 'raw' and 'obj'.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, HeaderSearchOpts->ModuleFormat, "raw", false, "raw", normalizeString, denormalizeString, mergeForwardValue, extractForwardValue, -1) 8761#endif // HEADER_SEARCH_OPTION_WITH_MARSHALLING 8762#ifdef LANG_OPTION_WITH_MARSHALLING 8763LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fno-recovery-ast", fno_recovery_ast, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 8764 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->RecoveryAST, true, false, true, makeBooleanOptionNormalizer(false, true, OPT_frecovery_ast), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1) 8765#endif // LANG_OPTION_WITH_MARSHALLING 8766#ifdef LANG_OPTION_WITH_MARSHALLING 8767LANG_OPTION_WITH_MARSHALLING(prefix_1, "-frecovery-ast", frecovery_ast, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 8768 "Preserve expressions in AST rather than dropping them when encountering semantic errors", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->RecoveryAST, true, false, true, makeBooleanOptionNormalizer(true, false, OPT_fno_recovery_ast), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1) 8769#endif // LANG_OPTION_WITH_MARSHALLING 8770#ifdef LANG_OPTION_WITH_MARSHALLING 8771LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fno-recovery-ast-type", fno_recovery_ast_type, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 8772 "", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->RecoveryASTType, true, false, true, makeBooleanOptionNormalizer(false, true, OPT_frecovery_ast_type), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1) 8773#endif // LANG_OPTION_WITH_MARSHALLING 8774#ifdef LANG_OPTION_WITH_MARSHALLING 8775LANG_OPTION_WITH_MARSHALLING(prefix_1, "-frecovery-ast-type", frecovery_ast_type, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 8776 "Preserve the type for recovery expressions when possible", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->RecoveryASTType, true, false, true, makeBooleanOptionNormalizer(true, false, OPT_fno_recovery_ast_type), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1) 8777#endif // LANG_OPTION_WITH_MARSHALLING 8778#ifdef FRONTEND_OPTION_WITH_MARSHALLING 8779FRONTEND_OPTION_WITH_MARSHALLING(prefix_1, "-ast-dump-decl-types", ast_dump_decl_types, Flag, Action_Group, INVALID, nullptr, 0, CC1Option, 0, 8780 "Include declaration types in AST dumps", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, FrontendOpts.ASTDumpDeclTypes, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 8781#endif // FRONTEND_OPTION_WITH_MARSHALLING 8782#ifdef FRONTEND_OPTION_WITH_MARSHALLING 8783FRONTEND_OPTION_WITH_MARSHALLING(prefix_1, "-ast-dump-lookups", ast_dump_lookups, Flag, Action_Group, INVALID, nullptr, 0, CC1Option, 0, 8784 "Build ASTs and then debug dump their name lookup tables", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, FrontendOpts.ASTDumpLookups, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 8785#endif // FRONTEND_OPTION_WITH_MARSHALLING 8786#ifdef CODEGEN_OPTION_WITH_MARSHALLING 8787CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-emit-llvm-uselists", emit_llvm_uselists, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 8788 "Preserve order of LLVM use-lists when serializing", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.EmitLLVMUseLists, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_no_emit_llvm_uselists), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1) 8789#endif // CODEGEN_OPTION_WITH_MARSHALLING 8790#ifdef CODEGEN_OPTION_WITH_MARSHALLING 8791CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-no-emit-llvm-uselists", no_emit_llvm_uselists, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 8792 "Don't preserve order of LLVM use-lists when serializing", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.EmitLLVMUseLists, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_emit_llvm_uselists), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1) 8793#endif // CODEGEN_OPTION_WITH_MARSHALLING 8794#ifdef FRONTEND_OPTION_WITH_MARSHALLING 8795FRONTEND_OPTION_WITH_MARSHALLING(prefix_1, "-mt-migrate-directory", mt_migrate_directory, Separate, INVALID, INVALID, nullptr, 0, CC1Option, 0, 8796 "Directory for temporary files produced during ARC or ObjC migration", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, FrontendOpts.MTMigrateDir, std::string(), false, std::string(), normalizeString, denormalizeString, mergeForwardValue, extractForwardValue, -1) 8797#endif // FRONTEND_OPTION_WITH_MARSHALLING 8798#ifdef FRONTEND_OPTION_WITH_MARSHALLING 8799FRONTEND_OPTION_WITH_MARSHALLING(prefix_1, "-arcmt-action=", arcmt_action_EQ, Joined, INVALID, INVALID, nullptr, 0, CC1Option, 0, 8800 "The ARC migration action to take", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, "check,modify,migrate", true, 0, FrontendOpts.ARCMTAction, FrontendOptions::ARCMT_None, false, FrontendOptions::ARCMT_None, normalizeSimpleEnum, denormalizeSimpleEnum, mergeForwardValue, extractForwardValue, 47) 8801#endif // FRONTEND_OPTION_WITH_MARSHALLING 8802#ifdef FRONTEND_OPTION_WITH_MARSHALLING 8803FRONTEND_OPTION_WITH_MARSHALLING(prefix_1, "-print-stats", print_stats, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 8804 "Print performance metrics and statistics", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, FrontendOpts.ShowStats, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 8805#endif // FRONTEND_OPTION_WITH_MARSHALLING 8806#ifdef FRONTEND_OPTION_WITH_MARSHALLING 8807FRONTEND_OPTION_WITH_MARSHALLING(prefix_1, "-stats-file=", stats_file, Joined, INVALID, INVALID, nullptr, 0, CC1Option, 0, 8808 "Filename to write statistics to", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, FrontendOpts.StatsFile, std::string(), false, std::string(), normalizeString, denormalizeString, mergeForwardValue, extractForwardValue, -1) 8809#endif // FRONTEND_OPTION_WITH_MARSHALLING 8810#ifdef FRONTEND_OPTION_WITH_MARSHALLING 8811FRONTEND_OPTION_WITH_MARSHALLING(prefix_1, "-stats-file-append", stats_file_append, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 8812 "If stats should be appended to stats-file instead of overwriting it", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, FrontendOpts.AppendStats, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 8813#endif // FRONTEND_OPTION_WITH_MARSHALLING 8814#ifdef LANG_OPTION_WITH_MARSHALLING 8815LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fdump-record-layouts-simple", fdump_record_layouts_simple, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 8816 "Dump record layout information in a simple form used for testing", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->DumpRecordLayoutsSimple, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 8817#endif // LANG_OPTION_WITH_MARSHALLING 8818#ifdef LANG_OPTION_WITH_MARSHALLING 8819LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fdump-record-layouts-canonical", fdump_record_layouts_canonical, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 8820 "Dump record layout information with canonical field types", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->DumpRecordLayoutsCanonical, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 8821#endif // LANG_OPTION_WITH_MARSHALLING 8822#ifdef LANG_OPTION_WITH_MARSHALLING 8823LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fdump-record-layouts-complete", fdump_record_layouts_complete, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 8824 "Dump record layout information for all complete types", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->DumpRecordLayoutsComplete, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 8825#endif // LANG_OPTION_WITH_MARSHALLING 8826#ifdef LANG_OPTION_WITH_MARSHALLING 8827LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fdump-record-layouts", fdump_record_layouts, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 8828 "Dump record layout information", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->DumpRecordLayouts, false, false || LangOpts->DumpRecordLayoutsSimple || LangOpts->DumpRecordLayoutsComplete || LangOpts->DumpRecordLayoutsCanonical, true, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 8829#endif // LANG_OPTION_WITH_MARSHALLING 8830#ifdef FRONTEND_OPTION_WITH_MARSHALLING 8831FRONTEND_OPTION_WITH_MARSHALLING(prefix_1, "-fix-what-you-can", fix_what_you_can, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 8832 "Apply fix-it advice even in the presence of unfixable errors", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, FrontendOpts.FixWhatYouCan, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 8833#endif // FRONTEND_OPTION_WITH_MARSHALLING 8834#ifdef FRONTEND_OPTION_WITH_MARSHALLING 8835FRONTEND_OPTION_WITH_MARSHALLING(prefix_1, "-fix-only-warnings", fix_only_warnings, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 8836 "Apply fix-it advice only for warnings, not errors", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, FrontendOpts.FixOnlyWarnings, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 8837#endif // FRONTEND_OPTION_WITH_MARSHALLING 8838#ifdef FRONTEND_OPTION_WITH_MARSHALLING 8839FRONTEND_OPTION_WITH_MARSHALLING(prefix_1, "-fixit-recompile", fixit_recompile, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 8840 "Apply fix-it changes and recompile", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, FrontendOpts.FixAndRecompile, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 8841#endif // FRONTEND_OPTION_WITH_MARSHALLING 8842#ifdef FRONTEND_OPTION_WITH_MARSHALLING 8843FRONTEND_OPTION_WITH_MARSHALLING(prefix_1, "-fixit-to-temporary", fixit_to_temp, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 8844 "Apply fix-it changes to temporary files", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, FrontendOpts.FixToTemporaries, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 8845#endif // FRONTEND_OPTION_WITH_MARSHALLING 8846#ifdef FRONTEND_OPTION_WITH_MARSHALLING 8847FRONTEND_OPTION_WITH_MARSHALLING(prefix_1, "-foverride-record-layout=", foverride_record_layout_EQ, Joined, INVALID, INVALID, nullptr, 0, CC1Option, 0, 8848 "Override record layouts with those in the given file", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, FrontendOpts.OverrideRecordLayoutsFile, std::string(), false, std::string(), normalizeString, denormalizeString, mergeForwardValue, extractForwardValue, -1) 8849#endif // FRONTEND_OPTION_WITH_MARSHALLING 8850#ifdef PREPROCESSOR_OPTION_WITH_MARSHALLING 8851PREPROCESSOR_OPTION_WITH_MARSHALLING(prefix_1, "-pch-through-header=", pch_through_header_EQ, Joined, INVALID, INVALID, nullptr, 0, CC1Option, 0, 8852 "Stop PCH generation after including this file. When using a PCH, skip tokens until after this file is included.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, PreprocessorOpts->PCHThroughHeader, std::string(), false, std::string(), normalizeString, denormalizeString, mergeForwardValue, extractForwardValue, -1) 8853#endif // PREPROCESSOR_OPTION_WITH_MARSHALLING 8854#ifdef PREPROCESSOR_OPTION_WITH_MARSHALLING 8855PREPROCESSOR_OPTION_WITH_MARSHALLING(prefix_1, "-pch-through-hdrstop-create", pch_through_hdrstop_create, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 8856 "When creating a PCH, stop PCH generation after #pragma hdrstop.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, PreprocessorOpts->PCHWithHdrStopCreate, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 8857#endif // PREPROCESSOR_OPTION_WITH_MARSHALLING 8858#ifdef FRONTEND_OPTION_WITH_MARSHALLING 8859FRONTEND_OPTION_WITH_MARSHALLING(prefix_1, "-fno-pch-timestamp", fno_pch_timestamp, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 8860 "Disable inclusion of timestamp in precompiled headers", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, FrontendOpts.IncludeTimestamps, true, false, true, normalizeSimpleNegativeFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 8861#endif // FRONTEND_OPTION_WITH_MARSHALLING 8862#ifdef LANG_OPTION_WITH_MARSHALLING 8863LANG_OPTION_WITH_MARSHALLING(prefix_1, "-building-pch-with-obj", building_pch_with_obj, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 8864 "This compilation is part of building a PCH with corresponding object file.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->BuildingPCHWithObjectFile, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 8865#endif // LANG_OPTION_WITH_MARSHALLING 8866#ifdef LANG_OPTION_WITH_MARSHALLING 8867LANG_OPTION_WITH_MARSHALLING(prefix_1, "-faligned-alloc-unavailable", aligned_alloc_unavailable, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 8868 "Aligned allocation/deallocation functions are unavailable", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, LangOpts->AlignedAllocation, 0, LangOpts->AlignedAllocationUnavailable, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 8869#endif // LANG_OPTION_WITH_MARSHALLING 8870#ifdef FRONTEND_OPTION_WITH_MARSHALLING 8871FRONTEND_OPTION_WITH_MARSHALLING(prefix_1, "-version", version, Flag, INVALID, INVALID, nullptr, 0, CC1Option | CC1AsOption | FC1Option, 0, 8872 "Print the compiler version", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, FrontendOpts.ShowVersion, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 8873#endif // FRONTEND_OPTION_WITH_MARSHALLING 8874#ifdef CODEGEN_OPTION_WITH_MARSHALLING 8875CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-main-file-name", main_file_name, Separate, INVALID, INVALID, nullptr, 0, CC1Option | CC1AsOption, 0, 8876 "Main file name to use for debug info and source if missing", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.MainFileName, std::string(), false, std::string(), normalizeString, denormalizeString, mergeForwardValue, extractForwardValue, -1) 8877#endif // CODEGEN_OPTION_WITH_MARSHALLING 8878#ifdef CODEGEN_OPTION_WITH_MARSHALLING 8879CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-split-dwarf-output", split_dwarf_output, Separate, INVALID, INVALID, nullptr, 0, CC1Option | CC1AsOption, 0, 8880 "File name to use for split dwarf debug info output", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.SplitDwarfOutput, std::string(), false, std::string(), normalizeString, denormalizeString, mergeForwardValue, extractForwardValue, -1) 8881#endif // CODEGEN_OPTION_WITH_MARSHALLING 8882#ifdef LANG_OPTION_WITH_MARSHALLING 8883LANG_OPTION_WITH_MARSHALLING(prefix_1, "-mreassociate", mreassociate, Flag, INVALID, INVALID, nullptr, 0, CC1Option | FC1Option, 0, 8884 "Allow reassociation transformations for floating-point instructions", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->AllowFPReassoc, false, false || LangOpts->UnsafeFPMath, true, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 8885#endif // LANG_OPTION_WITH_MARSHALLING 8886#ifdef LANG_OPTION_WITH_MARSHALLING 8887LANG_OPTION_WITH_MARSHALLING(prefix_1, "-menable-no-nans", menable_no_nans, Flag, INVALID, INVALID, nullptr, 0, CC1Option | FC1Option, 0, 8888 "Allow optimization to assume there are no NaNs.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->NoHonorNaNs, false, false || LangOpts->FastMath, true, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 8889#endif // LANG_OPTION_WITH_MARSHALLING 8890#ifdef LANG_OPTION_WITH_MARSHALLING 8891LANG_OPTION_WITH_MARSHALLING(prefix_1, "-menable-no-infs", menable_no_infs, Flag, INVALID, INVALID, nullptr, 0, CC1Option | FC1Option, 0, 8892 "Allow optimization to assume there are no infinities.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->NoHonorInfs, false, false || LangOpts->FastMath, true, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 8893#endif // LANG_OPTION_WITH_MARSHALLING 8894#ifdef LANG_OPTION_WITH_MARSHALLING 8895LANG_OPTION_WITH_MARSHALLING(prefix_1, "-pic-level", pic_level, Separate, INVALID, INVALID, nullptr, 0, CC1Option | FC1Option, 0, 8896 "Value for __PIC__", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->PICLevel, 0, false, 0, normalizeStringIntegral<unsigned>, denormalizeString<unsigned>, mergeForwardValue, extractForwardValue, -1) 8897#endif // LANG_OPTION_WITH_MARSHALLING 8898#ifdef LANG_OPTION_WITH_MARSHALLING 8899LANG_OPTION_WITH_MARSHALLING(prefix_1, "-pic-is-pie", pic_is_pie, Flag, INVALID, INVALID, nullptr, 0, CC1Option | FC1Option, 0, 8900 "File is for a position independent executable", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->PIE, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 8901#endif // LANG_OPTION_WITH_MARSHALLING 8902#ifdef CODEGEN_OPTION_WITH_MARSHALLING 8903CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-mframe-pointer=", mframe_pointer_EQ, Joined, INVALID, INVALID, nullptr, 0, CC1Option | FC1Option, 0, 8904 "Specify which frame pointers to retain.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, "all,non-leaf,reserved,none", true, 0, CodeGenOpts.FramePointer, CodeGenOptions::FramePointerKind::None, false, CodeGenOptions::FramePointerKind::None, normalizeSimpleEnum, denormalizeSimpleEnum, mergeForwardValue, extractForwardValue, 48) 8905#endif // CODEGEN_OPTION_WITH_MARSHALLING 8906#ifdef CODEGEN_OPTION_WITH_MARSHALLING 8907CODEGEN_OPTION_WITH_MARSHALLING(prefix_3, "--dependent-lib=", dependent_lib, Joined, INVALID, INVALID, nullptr, 0, CC1Option | FC1Option, 0, 8908 "Add dependent library", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.DependentLibraries, std::vector<std::string>({}), false, std::vector<std::string>({}), normalizeStringVector, denormalizeStringVector, mergeForwardValue, extractForwardValue, -1) 8909#endif // CODEGEN_OPTION_WITH_MARSHALLING 8910#ifdef LANG_OPTION_WITH_MARSHALLING 8911LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fblocks-runtime-optional", fblocks_runtime_optional, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 8912 "Weakly link in the blocks runtime", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->BlocksRuntimeOptional, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 8913#endif // LANG_OPTION_WITH_MARSHALLING 8914#ifdef LANG_OPTION_WITH_MARSHALLING 8915LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fexternc-nounwind", fexternc_nounwind, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 8916 "Assume all functions with C linkage do not unwind", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->ExternCNoUnwind, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 8917#endif // LANG_OPTION_WITH_MARSHALLING 8918#ifdef CODEGEN_OPTION_WITH_MARSHALLING 8919CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-split-dwarf-file", split_dwarf_file, Separate, INVALID, INVALID, nullptr, 0, CC1Option, 0, 8920 "Name of the split dwarf debug info file to encode in the object file", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.SplitDwarfFile, std::string(), false, std::string(), normalizeString, denormalizeString, mergeForwardValue, extractForwardValue, -1) 8921#endif // CODEGEN_OPTION_WITH_MARSHALLING 8922#ifdef LANG_OPTION_WITH_MARSHALLING 8923LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fno-wchar", fno_wchar, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 8924 "Disable C++ builtin type wchar_t", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, LangOpts->CPlusPlus, 0, LangOpts->WChar, LangOpts->CPlusPlus, false, LangOpts->CPlusPlus, normalizeSimpleNegativeFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 8925#endif // LANG_OPTION_WITH_MARSHALLING 8926#ifdef LANG_OPTION_WITH_MARSHALLING 8927LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fconstant-string-class", fconstant_string_class, Separate, INVALID, INVALID, nullptr, 0, CC1Option, 0, 8928 "Specify the class to use for constant Objective-C string objects.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "<class name>", nullptr, true, 0, LangOpts->ObjCConstantStringClass, std::string(), false, std::string(), normalizeString, denormalizeString, mergeForwardValue, extractForwardValue, -1) 8929#endif // LANG_OPTION_WITH_MARSHALLING 8930#ifdef PREPROCESSOR_OPTION_WITH_MARSHALLING 8931PREPROCESSOR_OPTION_WITH_MARSHALLING(prefix_1, "-fobjc-arc-cxxlib=", fobjc_arc_cxxlib_EQ, Joined, INVALID, INVALID, nullptr, 0, CC1Option, 0, 8932 "Objective-C++ Automatic Reference Counting standard library kind", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, "libc++,libstdc++,none", true, 0, PreprocessorOpts->ObjCXXARCStandardLibrary, ARCXX_nolib, false, ARCXX_nolib, normalizeSimpleEnum, denormalizeSimpleEnum, mergeForwardValue, extractForwardValue, 49) 8933#endif // PREPROCESSOR_OPTION_WITH_MARSHALLING 8934#ifdef CODEGEN_OPTION_WITH_MARSHALLING 8935CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-fobjc-dispatch-method=", fobjc_dispatch_method_EQ, Joined, INVALID, INVALID, nullptr, 0, CC1Option, 0, 8936 "Objective-C dispatch method to use", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, "legacy,non-legacy,mixed", true, 0, CodeGenOpts.ObjCDispatchMethod, CodeGenOptions::Legacy, false, CodeGenOptions::Legacy, normalizeSimpleEnum, denormalizeSimpleEnum, mergeForwardValue, extractForwardValue, 50) 8937#endif // CODEGEN_OPTION_WITH_MARSHALLING 8938#ifdef LANG_OPTION_WITH_MARSHALLING 8939LANG_OPTION_WITH_MARSHALLING(prefix_1, "-disable-objc-default-synthesize-properties", disable_objc_default_synthesize_properties, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 8940 "disable the default synthesis of Objective-C properties", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->ObjCDefaultSynthProperties, true, false, true, normalizeSimpleNegativeFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 8941#endif // LANG_OPTION_WITH_MARSHALLING 8942#ifdef LANG_OPTION_WITH_MARSHALLING 8943LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fencode-extended-block-signature", fencode_extended_block_signature, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 8944 "enable extended encoding of block type signature", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->EncodeExtendedBlockSig, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 8945#endif // LANG_OPTION_WITH_MARSHALLING 8946#ifdef LANG_OPTION_WITH_MARSHALLING 8947LANG_OPTION_WITH_MARSHALLING(prefix_1, "-function-alignment", function_alignment, Separate, INVALID, INVALID, nullptr, 0, CC1Option, 0, 8948 "default alignment for functions", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->FunctionAlignment, 0, false, 0, normalizeStringIntegral<unsigned>, denormalizeString<unsigned>, mergeForwardValue, extractForwardValue, -1) 8949#endif // LANG_OPTION_WITH_MARSHALLING 8950#ifdef LANG_OPTION_WITH_MARSHALLING 8951LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fhalf-no-semantic-interposition", fhalf_no_semantic_interposition, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 8952 "Like -fno-semantic-interposition but don't use local aliases", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->HalfNoSemanticInterposition, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 8953#endif // LANG_OPTION_WITH_MARSHALLING 8954#ifdef PREPROCESSOR_OPTION_WITH_MARSHALLING 8955PREPROCESSOR_OPTION_WITH_MARSHALLING(prefix_1, "-fno-validate-pch", fno_validate_pch, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 8956 "Disable validation of precompiled headers", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, PreprocessorOpts->DisablePCHOrModuleValidation, DisableValidationForModuleKind::None, false, DisableValidationForModuleKind::None, makeFlagToValueNormalizer(DisableValidationForModuleKind::All), denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 8957#endif // PREPROCESSOR_OPTION_WITH_MARSHALLING 8958#ifdef FRONTEND_OPTION_WITH_MARSHALLING 8959FRONTEND_OPTION_WITH_MARSHALLING(prefix_1, "-fallow-pcm-with-compiler-errors", fallow_pcm_with_errors, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 8960 "Accept a PCM file that was created with compiler errors", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, FrontendOpts.AllowPCMWithCompilerErrors, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 8961#endif // FRONTEND_OPTION_WITH_MARSHALLING 8962#ifdef PREPROCESSOR_OPTION_WITH_MARSHALLING 8963PREPROCESSOR_OPTION_WITH_MARSHALLING(prefix_1, "-fallow-pch-with-compiler-errors", fallow_pch_with_errors, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 8964 "Accept a PCH file that was created with compiler errors", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, PreprocessorOpts->AllowPCHWithCompilerErrors, false, false || FrontendOpts.AllowPCMWithCompilerErrors, true, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 8965#endif // PREPROCESSOR_OPTION_WITH_MARSHALLING 8966#ifdef PREPROCESSOR_OPTION_WITH_MARSHALLING 8967PREPROCESSOR_OPTION_WITH_MARSHALLING(prefix_1, "-fallow-pch-with-different-modules-cache-path", fallow_pch_with_different_modules_cache_path, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 8968 "Accept a PCH file that was created with a different modules cache path", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, PreprocessorOpts->AllowPCHWithDifferentModulesCachePath, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 8969#endif // PREPROCESSOR_OPTION_WITH_MARSHALLING 8970#ifdef FRONTEND_OPTION_WITH_MARSHALLING 8971FRONTEND_OPTION_WITH_MARSHALLING(prefix_1, "-fno-modules-share-filemanager", fno_modules_share_filemanager, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 8972 "Disable sharing the FileManager when building a module implicitly", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, FrontendOpts.ModulesShareFileManager, true, false, true, normalizeSimpleNegativeFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 8973#endif // FRONTEND_OPTION_WITH_MARSHALLING 8974#ifdef PREPROCESSOR_OPTION_WITH_MARSHALLING 8975PREPROCESSOR_OPTION_WITH_MARSHALLING(prefix_1, "-dump-deserialized-decls", dump_deserialized_pch_decls, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 8976 "Dump declarations that are deserialized from PCH, for testing", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, PreprocessorOpts->DumpDeserializedPCHDecls, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 8977#endif // PREPROCESSOR_OPTION_WITH_MARSHALLING 8978#ifdef LANG_OPTION_WITH_MARSHALLING 8979LANG_OPTION_WITH_MARSHALLING(prefix_1, "-static-define", static_define, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 8980 "Should __STATIC__ be defined", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->Static, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 8981#endif // LANG_OPTION_WITH_MARSHALLING 8982#ifdef LANG_OPTION_WITH_MARSHALLING 8983LANG_OPTION_WITH_MARSHALLING(prefix_1, "-stack-protector", stack_protector, Separate, INVALID, INVALID, nullptr, 0, CC1Option, 0, 8984 "Enable stack protectors", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, "0,1,2,3", true, 0, LangOpts->StackProtector, LangOptions::SSPOff, false, LangOptions::SSPOff, normalizeSimpleEnum, denormalizeSimpleEnum, mergeForwardValue, extractForwardValue, 51) 8985#endif // LANG_OPTION_WITH_MARSHALLING 8986#ifdef CODEGEN_OPTION_WITH_MARSHALLING 8987CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-stack-protector-buffer-size", stack_protector_buffer_size, Separate, INVALID, INVALID, nullptr, 0, CC1Option, 0, 8988 "Lower bound for a buffer to be considered for stack protection", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.SSPBufferSize, 8, false, 8, normalizeStringIntegral<unsigned>, denormalizeString<unsigned>, mergeForwardValue, extractForwardValue, -1) 8989#endif // CODEGEN_OPTION_WITH_MARSHALLING 8990#ifdef LANG_OPTION_WITH_MARSHALLING 8991LANG_OPTION_WITH_MARSHALLING(prefix_1, "-ftype-visibility=", ftype_visibility, Joined, INVALID, INVALID, nullptr, 0, CC1Option, 0, 8992 "Default type visibility", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, "default,hidden,internal,protected", true, 0, LangOpts->TypeVisibilityMode, LangOpts->ValueVisibilityMode, false, LangOpts->ValueVisibilityMode, normalizeSimpleEnum, denormalizeSimpleEnum, mergeForwardValue, extractForwardValue, 52) 8993#endif // LANG_OPTION_WITH_MARSHALLING 8994#ifdef LANG_OPTION_WITH_MARSHALLING 8995LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fapply-global-visibility-to-externs", fapply_global_visibility_to_externs, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 8996 "Apply global symbol visibility to external declarations without an explicit visibility", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->SetVisibilityForExternDecls, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 8997#endif // LANG_OPTION_WITH_MARSHALLING 8998#ifdef LANG_OPTION_WITH_MARSHALLING 8999LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fbracket-depth", fbracket_depth, Separate, INVALID, INVALID, nullptr, 0, CC1Option, 0, 9000 "Maximum nesting level for parentheses, brackets, and braces", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->BracketDepth, 2048, false, 2048, normalizeStringIntegral<unsigned>, denormalizeString<unsigned>, mergeForwardValue, extractForwardValue, -1) 9001#endif // LANG_OPTION_WITH_MARSHALLING 9002#ifdef LANG_OPTION_WITH_MARSHALLING 9003LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fconst-strings", fconst_strings, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 9004 "Use a const qualified type for string literals in C and ObjC", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->ConstStrings, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_const_strings), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1) 9005#endif // LANG_OPTION_WITH_MARSHALLING 9006#ifdef LANG_OPTION_WITH_MARSHALLING 9007LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fno-const-strings", fno_const_strings, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 9008 "Don't use a const qualified type for string literals in C and ObjC", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->ConstStrings, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_fconst_strings), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1) 9009#endif // LANG_OPTION_WITH_MARSHALLING 9010#ifdef LANG_OPTION_WITH_MARSHALLING 9011LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fno-bitfield-type-align", fno_bitfield_type_align, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 9012 "Ignore bit-field types when aligning structures", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->NoBitFieldTypeAlign, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 9013#endif // LANG_OPTION_WITH_MARSHALLING 9014#ifdef LANG_OPTION_WITH_MARSHALLING 9015LANG_OPTION_WITH_MARSHALLING(prefix_1, "-ffake-address-space-map", ffake_address_space_map, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 9016 "Use a fake address space map; OpenCL testing purposes only", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->FakeAddressSpaceMap, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 9017#endif // LANG_OPTION_WITH_MARSHALLING 9018#ifdef LANG_OPTION_WITH_MARSHALLING 9019LANG_OPTION_WITH_MARSHALLING(prefix_1, "-faddress-space-map-mangling=", faddress_space_map_mangling_EQ, Joined, INVALID, INVALID, nullptr, 0, CC1Option, 0, 9020 "Set the mode for address space map based mangling; OpenCL testing purposes only", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, "target,no,yes", true, 0, LangOpts->AddressSpaceMapMangling, LangOptions::ASMM_Target, false, LangOptions::ASMM_Target, normalizeSimpleEnum, denormalizeSimpleEnum, mergeForwardValue, extractForwardValue, 53) 9021#endif // LANG_OPTION_WITH_MARSHALLING 9022#ifdef LANG_OPTION_WITH_MARSHALLING 9023LANG_OPTION_WITH_MARSHALLING(prefix_1, "-funknown-anytype", funknown_anytype, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 9024 "Enable parser support for the __unknown_anytype type; for testing purposes only", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->ParseUnknownAnytype, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 9025#endif // LANG_OPTION_WITH_MARSHALLING 9026#ifdef LANG_OPTION_WITH_MARSHALLING 9027LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fdebugger-support", fdebugger_support, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 9028 "Enable special debugger support behavior", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->DebuggerSupport, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 9029#endif // LANG_OPTION_WITH_MARSHALLING 9030#ifdef LANG_OPTION_WITH_MARSHALLING 9031LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fdebugger-cast-result-to-id", fdebugger_cast_result_to_id, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 9032 "Enable casting unknown expression results to id", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->DebuggerCastResultToId, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 9033#endif // LANG_OPTION_WITH_MARSHALLING 9034#ifdef LANG_OPTION_WITH_MARSHALLING 9035LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fdebugger-objc-literal", fdebugger_objc_literal, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 9036 "Enable special debugger support for Objective-C subscripting and literals", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->DebuggerObjCLiteral, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 9037#endif // LANG_OPTION_WITH_MARSHALLING 9038#ifdef LANG_OPTION_WITH_MARSHALLING 9039LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fdeprecated-macro", fdeprecated_macro, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 9040 "Defines the __DEPRECATED macro", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->Deprecated, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_deprecated_macro), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1) 9041#endif // LANG_OPTION_WITH_MARSHALLING 9042#ifdef LANG_OPTION_WITH_MARSHALLING 9043LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fno-deprecated-macro", fno_deprecated_macro, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 9044 "Undefines the __DEPRECATED macro", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->Deprecated, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_fdeprecated_macro), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1) 9045#endif // LANG_OPTION_WITH_MARSHALLING 9046#ifdef LANG_OPTION_WITH_MARSHALLING 9047LANG_OPTION_WITH_MARSHALLING(prefix_1, "-vtordisp-mode=", vtordisp_mode_EQ, Joined, INVALID, INVALID, nullptr, 0, CC1Option, 0, 9048 "Control vtordisp placement on win32 targets", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->VtorDispMode, 1, false, 1, normalizeStringIntegral<unsigned>, denormalizeString<unsigned>, mergeForwardValue, extractForwardValue, -1) 9049#endif // LANG_OPTION_WITH_MARSHALLING 9050#ifdef LANG_OPTION_WITH_MARSHALLING 9051LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fnative-half-type", fnative_half_type, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 9052 "Use the native half type for __fp16 instead of promoting to float", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->NativeHalfType, false, false || LangOpts->OpenCL || LangOpts->RenderScript, true, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 9053#endif // LANG_OPTION_WITH_MARSHALLING 9054#ifdef LANG_OPTION_WITH_MARSHALLING 9055LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fnative-half-arguments-and-returns", fnative_half_arguments_and_returns, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 9056 "Use the native __fp16 type for arguments and returns (and skip ABI-specific lowering)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->NativeHalfArgsAndReturns, false, false || LangOpts->OpenCL || LangOpts->RenderScript || LangOpts->HLSL, true, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 9057#endif // LANG_OPTION_WITH_MARSHALLING 9058#ifdef LANG_OPTION_WITH_MARSHALLING 9059LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fdefault-calling-conv=", fdefault_calling_conv_EQ, Joined, INVALID, INVALID, nullptr, 0, CC1Option, 0, 9060 "Set default calling convention", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, "cdecl,fastcall,stdcall,vectorcall,regcall,rtdcall", true, 0, LangOpts->DefaultCallingConv, LangOptions::DCC_None, false, LangOptions::DCC_None, normalizeSimpleEnum, denormalizeSimpleEnum, mergeForwardValue, extractForwardValue, 54) 9061#endif // LANG_OPTION_WITH_MARSHALLING 9062#ifdef LANG_OPTION_WITH_MARSHALLING 9063LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fhlsl-strict-availability", fhlsl_strict_availability, Flag, hlsl_Group, INVALID, nullptr, 0, CC1Option | DefaultVis, 0, 9064 "Enables strict availability diagnostic mode for HLSL built-in functions.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->HLSLStrictAvailability, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 9065#endif // LANG_OPTION_WITH_MARSHALLING 9066#ifdef CODEGEN_OPTION_WITH_MARSHALLING 9067CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-fpreserve-vec3-type", fpreserve_vec3_type, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 9068 "Preserve 3-component vector type", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.PreserveVec3Type, false, false || LangOpts->HLSL, true, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 9069#endif // CODEGEN_OPTION_WITH_MARSHALLING 9070#ifdef LANG_OPTION_WITH_MARSHALLING 9071LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fwchar-type=", fwchar_type_EQ, Joined, INVALID, INVALID, nullptr, 0, CC1Option, 0, 9072 "Select underlying type for wchar_t", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, "char,short,int", true, 0, LangOpts->WCharSize, 0, false, 0, normalizeSimpleEnum, denormalizeSimpleEnum, mergeForwardValue, extractForwardValue, 55) 9073#endif // LANG_OPTION_WITH_MARSHALLING 9074#ifdef LANG_OPTION_WITH_MARSHALLING 9075LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fno-signed-wchar", fno_signed_wchar, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 9076 "Use an unsigned type for wchar_t", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->WCharIsSigned, true, false, true, makeBooleanOptionNormalizer(false, true, OPT_fsigned_wchar), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1) 9077#endif // LANG_OPTION_WITH_MARSHALLING 9078#ifdef LANG_OPTION_WITH_MARSHALLING 9079LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fsigned-wchar", fsigned_wchar, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 9080 "Use a signed type for wchar_t", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->WCharIsSigned, true, false, true, makeBooleanOptionNormalizer(true, false, OPT_fno_signed_wchar), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1) 9081#endif // LANG_OPTION_WITH_MARSHALLING 9082#ifdef LANG_OPTION_WITH_MARSHALLING 9083LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fcompatibility-qualified-id-block-type-checking", fcompatibility_qualified_id_block_param_type_checking, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 9084 "Allow using blocks with parameters of more specific type than the type system guarantees when a parameter is qualified id", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->CompatibilityQualifiedIdBlockParamTypeChecking, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 9085#endif // LANG_OPTION_WITH_MARSHALLING 9086#ifdef CODEGEN_OPTION_WITH_MARSHALLING 9087CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-fpass-by-value-is-noalias", fpass_by_value_is_noalias, Flag, f_Group, INVALID, nullptr, 0, CC1Option, 0, 9088 "Allows assuming by-value parameters do not alias any other value. Has no effect on non-trivially-copyable classes in C++.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.PassByValueIsNoAlias, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 9089#endif // CODEGEN_OPTION_WITH_MARSHALLING 9090#ifdef LANG_OPTION_WITH_MARSHALLING 9091LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fexperimental-max-bitint-width=", fexperimental_max_bitint_width_EQ, Joined, f_Group, INVALID, nullptr, 0, CC1Option, 0, 9092 "Set the maximum bitwidth for _BitInt (this option is expected to be removed in the future)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "<N>", nullptr, true, 0, LangOpts->MaxBitIntWidth, 0, false, 0, normalizeStringIntegral<unsigned>, denormalizeString<unsigned>, mergeForwardValue, extractForwardValue, -1) 9093#endif // LANG_OPTION_WITH_MARSHALLING 9094#ifdef HEADER_SEARCH_OPTION_WITH_MARSHALLING 9095HEADER_SEARCH_OPTION_WITH_MARSHALLING(prefix_1, "-nostdsysteminc", nostdsysteminc, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 9096 "Disable standard system #include directories", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, HeaderSearchOpts->UseStandardSystemIncludes, true, false, true, normalizeSimpleNegativeFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 9097#endif // HEADER_SEARCH_OPTION_WITH_MARSHALLING 9098#ifdef HEADER_SEARCH_OPTION_WITH_MARSHALLING 9099HEADER_SEARCH_OPTION_WITH_MARSHALLING(prefix_1, "-fdisable-module-hash", fdisable_module_hash, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 9100 "Disable the module hash", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, HeaderSearchOpts->DisableModuleHash, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 9101#endif // HEADER_SEARCH_OPTION_WITH_MARSHALLING 9102#ifdef HEADER_SEARCH_OPTION_WITH_MARSHALLING 9103HEADER_SEARCH_OPTION_WITH_MARSHALLING(prefix_1, "-fmodules-hash-content", fmodules_hash_content, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 9104 "Enable hashing the content of a module file", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, HeaderSearchOpts->ModulesHashContent, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 9105#endif // HEADER_SEARCH_OPTION_WITH_MARSHALLING 9106#ifdef HEADER_SEARCH_OPTION_WITH_MARSHALLING 9107HEADER_SEARCH_OPTION_WITH_MARSHALLING(prefix_1, "-fmodules-strict-context-hash", fmodules_strict_context_hash, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 9108 "Enable hashing of all compiler options that could impact the semantics of a module in an implicit build", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, HeaderSearchOpts->ModulesStrictContextHash, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 9109#endif // HEADER_SEARCH_OPTION_WITH_MARSHALLING 9110#ifdef PREPROCESSOR_OPTION_WITH_MARSHALLING 9111PREPROCESSOR_OPTION_WITH_MARSHALLING(prefix_1, "-detailed-preprocessing-record", detailed_preprocessing_record, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 9112 "include a detailed record of preprocessing actions", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, PreprocessorOpts->DetailedRecord, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 9113#endif // PREPROCESSOR_OPTION_WITH_MARSHALLING 9114#ifdef PREPROCESSOR_OPTION_WITH_MARSHALLING 9115PREPROCESSOR_OPTION_WITH_MARSHALLING(prefix_1, "-setup-static-analyzer", setup_static_analyzer, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 9116 "Set up preprocessor for static analyzer (done automatically when static analyzer is run).", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, PreprocessorOpts->SetUpStaticAnalyzer, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 9117#endif // PREPROCESSOR_OPTION_WITH_MARSHALLING 9118#ifdef PREPROCESSOR_OPTION_WITH_MARSHALLING 9119PREPROCESSOR_OPTION_WITH_MARSHALLING(prefix_1, "-disable-pragma-debug-crash", disable_pragma_debug_crash, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 9120 "Disable any #pragma clang __debug that can lead to crashing behavior. This is meant for testing.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, PreprocessorOpts->DisablePragmaDebugCrash, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 9121#endif // PREPROCESSOR_OPTION_WITH_MARSHALLING 9122#ifdef LANG_OPTION_WITH_MARSHALLING 9123LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fcuda-is-device", fcuda_is_device, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 9124 "Generate code for CUDA device", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->CUDAIsDevice, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 9125#endif // LANG_OPTION_WITH_MARSHALLING 9126#ifdef CODEGEN_OPTION_WITH_MARSHALLING 9127CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-fcuda-include-gpubinary", fcuda_include_gpubinary, Separate, INVALID, INVALID, nullptr, 0, CC1Option, 0, 9128 "Incorporate CUDA device-side binary into host object file.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.CudaGpuBinaryFileName, std::string(), false, std::string(), normalizeString, denormalizeString, mergeForwardValue, extractForwardValue, -1) 9129#endif // CODEGEN_OPTION_WITH_MARSHALLING 9130#ifdef LANG_OPTION_WITH_MARSHALLING 9131LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fcuda-allow-variadic-functions", fcuda_allow_variadic_functions, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 9132 "Allow variadic functions in CUDA device code.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->CUDAAllowVariadicFunctions, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 9133#endif // LANG_OPTION_WITH_MARSHALLING 9134#ifdef LANG_OPTION_WITH_MARSHALLING 9135LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fno-cuda-host-device-constexpr", fno_cuda_host_device_constexpr, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 9136 "Don't treat unattributed constexpr functions as __host__ __device__.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->CUDAHostDeviceConstexpr, true, false, true, normalizeSimpleNegativeFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 9137#endif // LANG_OPTION_WITH_MARSHALLING 9138#ifdef LANG_OPTION_WITH_MARSHALLING 9139LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fsycl-is-device", fsycl_is_device, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 9140 "Generate code for SYCL device.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->SYCLIsDevice, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 9141#endif // LANG_OPTION_WITH_MARSHALLING 9142#ifdef LANG_OPTION_WITH_MARSHALLING 9143LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fsycl-is-host", fsycl_is_host, Flag, INVALID, INVALID, nullptr, 0, CC1Option, 0, 9144 "SYCL host compilation", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->SYCLIsHost, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 9145#endif // LANG_OPTION_WITH_MARSHALLING 9146#ifdef LANG_OPTION_WITH_MARSHALLING 9147LANG_OPTION_WITH_MARSHALLING(prefix_1, "-sycl-std=", sycl_std_EQ, Joined, sycl_Group, INVALID, nullptr, NoArgumentUnused, DefaultVis | CC1Option | CLOption, 0, 9148 "SYCL language standard to compile for.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, "2020,2017,121,1.2.1,sycl-1.2.1", LangOpts->SYCLIsDevice||LangOpts->SYCLIsHost, 0, LangOpts->SYCLVersion, LangOptions::SYCL_None, false, LangOptions::SYCL_None, normalizeSimpleEnum, denormalizeSimpleEnum, mergeForwardValue, extractForwardValue, 56) 9149#endif // LANG_OPTION_WITH_MARSHALLING 9150#ifdef LANG_OPTION_WITH_MARSHALLING 9151LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fgpu-approx-transcendentals", fgpu_approx_transcendentals, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DefaultVis, 0, 9152 "Use approximate transcendental functions", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->GPUDeviceApproxTranscendentals, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_gpu_approx_transcendentals), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1) 9153#endif // LANG_OPTION_WITH_MARSHALLING 9154#ifdef LANG_OPTION_WITH_MARSHALLING 9155LANG_OPTION_WITH_MARSHALLING(prefix_1, "-fno-gpu-approx-transcendentals", fno_gpu_approx_transcendentals, Flag, f_Group, INVALID, nullptr, 0, DefaultVis | DefaultVis, 0, 9156 "Don't use approximate transcendental functions", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->GPUDeviceApproxTranscendentals, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_fgpu_approx_transcendentals), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1) 9157#endif // LANG_OPTION_WITH_MARSHALLING 9158#ifdef CODEGEN_OPTION_WITH_MARSHALLING 9159CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-fdebug-pass-manager", fdebug_pass_manager, Flag, INVALID, INVALID, nullptr, 0, CC1Option | FC1Option, 0, 9160 "Prints debug information for the new pass manager", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.DebugPassManager, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_debug_pass_manager), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1) 9161#endif // CODEGEN_OPTION_WITH_MARSHALLING 9162#ifdef CODEGEN_OPTION_WITH_MARSHALLING 9163CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-fno-debug-pass-manager", fno_debug_pass_manager, Flag, INVALID, INVALID, nullptr, 0, CC1Option | FC1Option, 0, 9164 "Disables debug printing for the new pass manager", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.DebugPassManager, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_fdebug_pass_manager), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1) 9165#endif // CODEGEN_OPTION_WITH_MARSHALLING 9166#ifdef CODEGEN_OPTION_WITH_MARSHALLING 9167CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, "-opt-record-file", opt_record_file, Separate, INVALID, INVALID, nullptr, 0, CC1Option | FC1Option, 0, 9168 "File name to use for YAML optimization record output", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, CodeGenOpts.OptRecordFile, std::string(), false, std::string(), normalizeString, denormalizeString, mergeForwardValue, extractForwardValue, -1) 9169#endif // CODEGEN_OPTION_WITH_MARSHALLING 9170#ifdef TARGET_OPTION_WITH_MARSHALLING 9171TARGET_OPTION_WITH_MARSHALLING(prefix_2, "/validator-version", dxil_validator_version, Separate, dxc_Group, INVALID, nullptr, HelpHidden, DXCOption | DefaultVis | CC1Option | DXCOption, 0, 9172 "Override validator version for module. Format: <major.minor>;Default: DXIL.dll version or current internal version", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, TargetOpts->DxilValidatorVersion, "1.8", false, "1.8", normalizeString, denormalizeString, mergeForwardValue, extractForwardValue, -1) 9173#endif // TARGET_OPTION_WITH_MARSHALLING 9174#ifdef TARGET_OPTION_WITH_MARSHALLING 9175TARGET_OPTION_WITH_MARSHALLING(prefix_1, "-hlsl-entry", hlsl_entrypoint, Separate, dxc_Group, INVALID, nullptr, 0, DefaultVis | CC1Option | DXCOption, 0, 9176 "Entry point name for hlsl", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, TargetOpts->HLSLEntry, "main", false, "main", normalizeString, denormalizeString, mergeForwardValue, extractForwardValue, -1) 9177#endif // TARGET_OPTION_WITH_MARSHALLING 9178#ifdef LANG_OPTION_WITH_MARSHALLING 9179LANG_OPTION_WITH_MARSHALLING(prefix_3, "--no-wasm-opt", no_wasm_opt, Flag, m_Group, INVALID, nullptr, 0, DefaultVis | DefaultVis | CLOption, 0, 9180 "Disable the wasm-opt optimizer", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->NoWasmOpt, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 9181#endif // LANG_OPTION_WITH_MARSHALLING 9182#ifdef LANG_OPTION_WITH_MARSHALLING 9183LANG_OPTION_WITH_MARSHALLING(prefix_3, "--wasm-opt", wasm_opt, Flag, m_Group, INVALID, nullptr, 0, DefaultVis | DefaultVis | CLOption, 0, 9184 "Enable the wasm-opt optimizer (default)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr, true, 0, LangOpts->NoWasmOpt, true, false, true, normalizeSimpleNegativeFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1) 9185#endif // LANG_OPTION_WITH_MARSHALLING 9186 9187#ifdef SIMPLE_ENUM_VALUE_TABLE 9188 9189struct SimpleEnumValue { 9190 const char *Name; 9191 unsigned Value; 9192}; 9193 9194struct SimpleEnumValueTable { 9195 const SimpleEnumValue *Table; 9196 unsigned Size; 9197}; 9198static const SimpleEnumValue complex_range_EQValueTable[] = { 9199{"full",static_cast<unsigned>(LangOptions::CX_Full)},{"improved",static_cast<unsigned>(LangOptions::CX_Improved)},{"promoted",static_cast<unsigned>(LangOptions::CX_Promoted)},{"basic",static_cast<unsigned>(LangOptions::CX_Basic)},}; 9200static const SimpleEnumValue fgpu_default_stream_EQValueTable[] = { 9201{"legacy",static_cast<unsigned>(LangOptions::GPUDefaultStreamKind::Legacy)},{"per-thread",static_cast<unsigned>(LangOptions::GPUDefaultStreamKind::PerThread)},}; 9202static const SimpleEnumValue mprintf_kind_EQValueTable[] = { 9203{"hostcall",static_cast<unsigned>(TargetOptions::AMDGPUPrintfKind::Hostcall)},{"buffered",static_cast<unsigned>(TargetOptions::AMDGPUPrintfKind::Buffered)},}; 9204static const SimpleEnumValue fstrict_flex_arrays_EQValueTable[] = { 9205{"0",static_cast<unsigned>(LangOptions::StrictFlexArraysLevelKind::Default)},{"1",static_cast<unsigned>(LangOptions::StrictFlexArraysLevelKind::OneZeroOrIncomplete)},{"2",static_cast<unsigned>(LangOptions::StrictFlexArraysLevelKind::ZeroOrIncomplete)},{"3",static_cast<unsigned>(LangOptions::StrictFlexArraysLevelKind::IncompleteOnly)},}; 9206static const SimpleEnumValue fembed_bitcode_EQValueTable[] = { 9207{"off",static_cast<unsigned>(CodeGenOptions::Embed_Off)},{"all",static_cast<unsigned>(CodeGenOptions::Embed_All)},{"bitcode",static_cast<unsigned>(CodeGenOptions::Embed_Bitcode)},{"marker",static_cast<unsigned>(CodeGenOptions::Embed_Marker)},}; 9208static const SimpleEnumValue fswift_async_fp_EQValueTable[] = { 9209{"auto",static_cast<unsigned>(CodeGenOptions::SwiftAsyncFramePointerKind::Auto)},{"always",static_cast<unsigned>(CodeGenOptions::SwiftAsyncFramePointerKind::Always)},{"never",static_cast<unsigned>(CodeGenOptions::SwiftAsyncFramePointerKind::Never)},}; 9210static const SimpleEnumValue fcf_runtime_abi_EQValueTable[] = { 9211{"unspecified",static_cast<unsigned>(LangOptions::CoreFoundationABI::ObjectiveC)},{"standalone",static_cast<unsigned>(LangOptions::CoreFoundationABI::ObjectiveC)},{"objc",static_cast<unsigned>(LangOptions::CoreFoundationABI::ObjectiveC)},{"swift",static_cast<unsigned>(LangOptions::CoreFoundationABI::Swift5_0)},{"swift-5.0",static_cast<unsigned>(LangOptions::CoreFoundationABI::Swift5_0)},{"swift-4.2",static_cast<unsigned>(LangOptions::CoreFoundationABI::Swift4_2)},{"swift-4.1",static_cast<unsigned>(LangOptions::CoreFoundationABI::Swift4_1)},}; 9212static const SimpleEnumValue exception_modelValueTable[] = { 9213{"dwarf",static_cast<unsigned>(LangOptions::ExceptionHandlingKind::DwarfCFI)},{"sjlj",static_cast<unsigned>(LangOptions::ExceptionHandlingKind::SjLj)},{"seh",static_cast<unsigned>(LangOptions::ExceptionHandlingKind::WinEH)},{"wasm",static_cast<unsigned>(LangOptions::ExceptionHandlingKind::Wasm)},}; 9214static const SimpleEnumValue ffloat16_excess_precision_EQValueTable[] = { 9215{"standard",static_cast<unsigned>(LangOptions::FPP_Standard)},{"fast",static_cast<unsigned>(LangOptions::FPP_Fast)},{"none",static_cast<unsigned>(LangOptions::FPP_None)},}; 9216static const SimpleEnumValue fbfloat16_excess_precision_EQValueTable[] = { 9217{"standard",static_cast<unsigned>(LangOptions::FPP_Standard)},{"fast",static_cast<unsigned>(LangOptions::FPP_Fast)},{"none",static_cast<unsigned>(LangOptions::FPP_None)},}; 9218static const SimpleEnumValue ffp_eval_method_EQValueTable[] = { 9219{"source",static_cast<unsigned>(LangOptions::FEM_Source)},{"double",static_cast<unsigned>(LangOptions::FEM_Double)},{"extended",static_cast<unsigned>(LangOptions::FEM_Extended)},}; 9220static const SimpleEnumValue ffp_exception_behavior_EQValueTable[] = { 9221{"ignore",static_cast<unsigned>(LangOptions::FPE_Ignore)},{"maytrap",static_cast<unsigned>(LangOptions::FPE_MayTrap)},{"strict",static_cast<unsigned>(LangOptions::FPE_Strict)},}; 9222static const SimpleEnumValue fextend_args_EQValueTable[] = { 9223{"32",static_cast<unsigned>(LangOptions::ExtendArgsKind::ExtendTo32)},{"64",static_cast<unsigned>(LangOptions::ExtendArgsKind::ExtendTo64)},}; 9224static const SimpleEnumValue sanitize_address_use_after_return_EQValueTable[] = { 9225{"never",static_cast<unsigned>(llvm::AsanDetectStackUseAfterReturnMode::Never)},{"runtime",static_cast<unsigned>(llvm::AsanDetectStackUseAfterReturnMode::Runtime)},{"always",static_cast<unsigned>(llvm::AsanDetectStackUseAfterReturnMode::Always)},}; 9226static const SimpleEnumValue sanitize_address_destructor_EQValueTable[] = { 9227{"none",static_cast<unsigned>(llvm::AsanDtorKind::None)},{"global",static_cast<unsigned>(llvm::AsanDtorKind::Global)},}; 9228static const SimpleEnumValue mfunction_return_EQValueTable[] = { 9229{"keep",static_cast<unsigned>(llvm::FunctionReturnThunksKind::Keep)},{"thunk-extern",static_cast<unsigned>(llvm::FunctionReturnThunksKind::Extern)},}; 9230static const SimpleEnumValue flax_vector_conversions_EQValueTable[] = { 9231{"none",static_cast<unsigned>(LangOptions::LaxVectorConversionKind::None)},{"integer",static_cast<unsigned>(LangOptions::LaxVectorConversionKind::Integer)},{"all",static_cast<unsigned>(LangOptions::LaxVectorConversionKind::All)},}; 9232static const SimpleEnumValue fms_memptr_rep_EQValueTable[] = { 9233{"single",static_cast<unsigned>(LangOptions::PPTMK_FullGeneralitySingleInheritance)},{"multiple",static_cast<unsigned>(LangOptions::PPTMK_FullGeneralityMultipleInheritance)},{"virtual",static_cast<unsigned>(LangOptions::PPTMK_FullGeneralityVirtualInheritance)},}; 9234static const SimpleEnumValue fveclibValueTable[] = { 9235{"Accelerate",static_cast<unsigned>(llvm::driver::VectorLibrary::Accelerate)},{"libmvec",static_cast<unsigned>(llvm::driver::VectorLibrary::LIBMVEC)},{"MASSV",static_cast<unsigned>(llvm::driver::VectorLibrary::MASSV)},{"SVML",static_cast<unsigned>(llvm::driver::VectorLibrary::SVML)},{"SLEEF",static_cast<unsigned>(llvm::driver::VectorLibrary::SLEEF)},{"Darwin_libsystem_m",static_cast<unsigned>(llvm::driver::VectorLibrary::Darwin_libsystem_m)},{"ArmPL",static_cast<unsigned>(llvm::driver::VectorLibrary::ArmPL)},{"AMDLIBM",static_cast<unsigned>(llvm::driver::VectorLibrary::AMDLIBM)},{"none",static_cast<unsigned>(llvm::driver::VectorLibrary::NoLibrary)},}; 9236static const SimpleEnumValue fshow_overloads_EQValueTable[] = { 9237{"best",static_cast<unsigned>(Ovl_Best)},{"all",static_cast<unsigned>(Ovl_All)},}; 9238static const SimpleEnumValue ftrivial_auto_var_initValueTable[] = { 9239{"uninitialized",static_cast<unsigned>(LangOptions::TrivialAutoVarInitKind::Uninitialized)},{"zero",static_cast<unsigned>(LangOptions::TrivialAutoVarInitKind::Zero)},{"pattern",static_cast<unsigned>(LangOptions::TrivialAutoVarInitKind::Pattern)},}; 9240static const SimpleEnumValue ftlsmodel_EQValueTable[] = { 9241{"global-dynamic",static_cast<unsigned>(CodeGenOptions::GeneralDynamicTLSModel)},{"local-dynamic",static_cast<unsigned>(CodeGenOptions::LocalDynamicTLSModel)},{"initial-exec",static_cast<unsigned>(CodeGenOptions::InitialExecTLSModel)},{"local-exec",static_cast<unsigned>(CodeGenOptions::LocalExecTLSModel)},}; 9242static const SimpleEnumValue fvisibility_dllexport_EQValueTable[] = { 9243{"keep",static_cast<unsigned>(LangOptions::VisibilityFromDLLStorageClassKinds::Keep)},{"hidden",static_cast<unsigned>(LangOptions::VisibilityFromDLLStorageClassKinds::Hidden)},{"protected",static_cast<unsigned>(LangOptions::VisibilityFromDLLStorageClassKinds::Protected)},{"default",static_cast<unsigned>(LangOptions::VisibilityFromDLLStorageClassKinds::Default)},}; 9244static const SimpleEnumValue fvisibility_nodllstorageclass_EQValueTable[] = { 9245{"keep",static_cast<unsigned>(LangOptions::VisibilityFromDLLStorageClassKinds::Keep)},{"hidden",static_cast<unsigned>(LangOptions::VisibilityFromDLLStorageClassKinds::Hidden)},{"protected",static_cast<unsigned>(LangOptions::VisibilityFromDLLStorageClassKinds::Protected)},{"default",static_cast<unsigned>(LangOptions::VisibilityFromDLLStorageClassKinds::Default)},}; 9246static const SimpleEnumValue fvisibility_externs_dllimport_EQValueTable[] = { 9247{"keep",static_cast<unsigned>(LangOptions::VisibilityFromDLLStorageClassKinds::Keep)},{"hidden",static_cast<unsigned>(LangOptions::VisibilityFromDLLStorageClassKinds::Hidden)},{"protected",static_cast<unsigned>(LangOptions::VisibilityFromDLLStorageClassKinds::Protected)},{"default",static_cast<unsigned>(LangOptions::VisibilityFromDLLStorageClassKinds::Default)},}; 9248static const SimpleEnumValue fvisibility_externs_nodllstorageclass_EQValueTable[] = { 9249{"keep",static_cast<unsigned>(LangOptions::VisibilityFromDLLStorageClassKinds::Keep)},{"hidden",static_cast<unsigned>(LangOptions::VisibilityFromDLLStorageClassKinds::Hidden)},{"protected",static_cast<unsigned>(LangOptions::VisibilityFromDLLStorageClassKinds::Protected)},{"default",static_cast<unsigned>(LangOptions::VisibilityFromDLLStorageClassKinds::Default)},}; 9250static const SimpleEnumValue fvisibility_EQValueTable[] = { 9251{"default",static_cast<unsigned>(DefaultVisibility)},{"hidden",static_cast<unsigned>(HiddenVisibility)},{"internal",static_cast<unsigned>(HiddenVisibility)},{"protected",static_cast<unsigned>(ProtectedVisibility)},}; 9252static const SimpleEnumValue fvisibility_global_new_delete_EQValueTable[] = { 9253{"force-default",static_cast<unsigned>(LangOptions::VisibilityForcedKinds::ForceDefault)},{"force-protected",static_cast<unsigned>(LangOptions::VisibilityForcedKinds::ForceProtected)},{"force-hidden",static_cast<unsigned>(LangOptions::VisibilityForcedKinds::ForceHidden)},{"source",static_cast<unsigned>(LangOptions::VisibilityForcedKinds::Source)},}; 9254static const SimpleEnumValue mdefault_visibility_export_mapping_EQValueTable[] = { 9255{"none",static_cast<unsigned>(LangOptions::DefaultVisiblityExportMapping::None)},{"explicit",static_cast<unsigned>(LangOptions::DefaultVisiblityExportMapping::Explicit)},{"all",static_cast<unsigned>(LangOptions::DefaultVisiblityExportMapping::All)},}; 9256static const SimpleEnumValue fzero_call_used_regs_EQValueTable[] = { 9257{"skip",static_cast<unsigned>(llvm::ZeroCallUsedRegs::ZeroCallUsedRegsKind::Skip)},{"used-gpr-arg",static_cast<unsigned>(llvm::ZeroCallUsedRegs::ZeroCallUsedRegsKind::UsedGPRArg)},{"used-gpr",static_cast<unsigned>(llvm::ZeroCallUsedRegs::ZeroCallUsedRegsKind::UsedGPR)},{"used-arg",static_cast<unsigned>(llvm::ZeroCallUsedRegs::ZeroCallUsedRegsKind::UsedArg)},{"used",static_cast<unsigned>(llvm::ZeroCallUsedRegs::ZeroCallUsedRegsKind::Used)},{"all-gpr-arg",static_cast<unsigned>(llvm::ZeroCallUsedRegs::ZeroCallUsedRegsKind::AllGPRArg)},{"all-gpr",static_cast<unsigned>(llvm::ZeroCallUsedRegs::ZeroCallUsedRegsKind::AllGPR)},{"all-arg",static_cast<unsigned>(llvm::ZeroCallUsedRegs::ZeroCallUsedRegsKind::AllArg)},{"all",static_cast<unsigned>(llvm::ZeroCallUsedRegs::ZeroCallUsedRegsKind::All)},}; 9258static const SimpleEnumValue femit_dwarf_unwind_EQValueTable[] = { 9259{"always",static_cast<unsigned>(llvm::EmitDwarfUnwindType::Always)},{"no-compact-unwind",static_cast<unsigned>(llvm::EmitDwarfUnwindType::NoCompactUnwind)},{"default",static_cast<unsigned>(llvm::EmitDwarfUnwindType::Default)},}; 9260static const SimpleEnumValue gsrc_hash_EQValueTable[] = { 9261{"md5",static_cast<unsigned>(CodeGenOptions::DSH_MD5)},{"sha1",static_cast<unsigned>(CodeGenOptions::DSH_SHA1)},{"sha256",static_cast<unsigned>(CodeGenOptions::DSH_SHA256)},}; 9262static const SimpleEnumValue inline_asm_EQValueTable[] = { 9263{"att",static_cast<unsigned>(CodeGenOptions::IAD_ATT)},{"intel",static_cast<unsigned>(CodeGenOptions::IAD_Intel)},}; 9264static const SimpleEnumValue mthread_modelValueTable[] = { 9265{"posix",static_cast<unsigned>(LangOptions::ThreadModelKind::POSIX)},{"single",static_cast<unsigned>(LangOptions::ThreadModelKind::Single)},}; 9266static const SimpleEnumValue meabiValueTable[] = { 9267{"default",static_cast<unsigned>(llvm::EABI::Default)},{"4",static_cast<unsigned>(llvm::EABI::EABI4)},{"5",static_cast<unsigned>(llvm::EABI::EABI5)},{"gnu",static_cast<unsigned>(llvm::EABI::GNU)},}; 9268static const SimpleEnumValue mcode_object_version_EQValueTable[] = { 9269{"none",static_cast<unsigned>(llvm::CodeObjectVersionKind::COV_None)},{"4",static_cast<unsigned>(llvm::CodeObjectVersionKind::COV_4)},{"5",static_cast<unsigned>(llvm::CodeObjectVersionKind::COV_5)},{"6",static_cast<unsigned>(llvm::CodeObjectVersionKind::COV_6)},}; 9270static const SimpleEnumValue altivec_src_compatValueTable[] = { 9271{"mixed",static_cast<unsigned>(LangOptions::AltivecSrcCompatKind::Mixed)},{"gcc",static_cast<unsigned>(LangOptions::AltivecSrcCompatKind::GCC)},{"xl",static_cast<unsigned>(LangOptions::AltivecSrcCompatKind::XL)},}; 9272static const SimpleEnumValue analyzer_config_compatibility_modeValueTable[] = { 9273{"true",static_cast<unsigned>(false)},{"false",static_cast<unsigned>(true)},}; 9274static const SimpleEnumValue mrelocation_modelValueTable[] = { 9275{"static",static_cast<unsigned>(llvm::Reloc::Static)},{"pic",static_cast<unsigned>(llvm::Reloc::PIC_)},{"ropi",static_cast<unsigned>(llvm::Reloc::ROPI)},{"rwpi",static_cast<unsigned>(llvm::Reloc::RWPI)},{"ropi-rwpi",static_cast<unsigned>(llvm::Reloc::ROPI_RWPI)},{"dynamic-no-pic",static_cast<unsigned>(llvm::Reloc::DynamicNoPIC)},}; 9276static const SimpleEnumValue debugger_tuning_EQValueTable[] = { 9277{"gdb",static_cast<unsigned>(llvm::DebuggerKind::GDB)},{"lldb",static_cast<unsigned>(llvm::DebuggerKind::LLDB)},{"sce",static_cast<unsigned>(llvm::DebuggerKind::SCE)},{"dbx",static_cast<unsigned>(llvm::DebuggerKind::DBX)},}; 9278static const SimpleEnumValue compress_debug_sections_EQValueTable[] = { 9279{"none",static_cast<unsigned>(llvm::DebugCompressionType::None)},{"zlib",static_cast<unsigned>(llvm::DebugCompressionType::Zlib)},{"zstd",static_cast<unsigned>(llvm::DebugCompressionType::Zstd)},}; 9280static const SimpleEnumValue fprofile_instrument_EQValueTable[] = { 9281{"none",static_cast<unsigned>(CodeGenOptions::ProfileNone)},{"clang",static_cast<unsigned>(CodeGenOptions::ProfileClangInstr)},{"llvm",static_cast<unsigned>(CodeGenOptions::ProfileIRInstr)},{"csllvm",static_cast<unsigned>(CodeGenOptions::ProfileCSIRInstr)},}; 9282static const SimpleEnumValue fexperimental_assignment_tracking_EQValueTable[] = { 9283{"disabled",static_cast<unsigned>(CodeGenOptions::AssignmentTrackingOpts::Disabled)},{"enabled",static_cast<unsigned>(CodeGenOptions::AssignmentTrackingOpts::Enabled)},{"forced",static_cast<unsigned>(CodeGenOptions::AssignmentTrackingOpts::Forced)},}; 9284static const SimpleEnumValue header_include_format_EQValueTable[] = { 9285{"textual",static_cast<unsigned>(HIFMT_Textual)},{"json",static_cast<unsigned>(HIFMT_JSON)},}; 9286static const SimpleEnumValue header_include_filtering_EQValueTable[] = { 9287{"none",static_cast<unsigned>(HIFIL_None)},{"only-direct-system",static_cast<unsigned>(HIFIL_Only_Direct_System)},}; 9288static const SimpleEnumValue fdiagnostics_formatValueTable[] = { 9289{"clang",static_cast<unsigned>(DiagnosticOptions::Clang)},{"msvc",static_cast<unsigned>(DiagnosticOptions::MSVC)},{"vi",static_cast<unsigned>(DiagnosticOptions::Vi)},{"sarif",static_cast<unsigned>(DiagnosticOptions::SARIF)},{"SARIF",static_cast<unsigned>(DiagnosticOptions::SARIF)},}; 9290static const SimpleEnumValue fdiagnostics_show_categoryValueTable[] = { 9291{"none",static_cast<unsigned>(0)},{"id",static_cast<unsigned>(1)},{"name",static_cast<unsigned>(2)},}; 9292static const SimpleEnumValue arcmt_action_EQValueTable[] = { 9293{"check",static_cast<unsigned>(FrontendOptions::ARCMT_Check)},{"modify",static_cast<unsigned>(FrontendOptions::ARCMT_Modify)},{"migrate",static_cast<unsigned>(FrontendOptions::ARCMT_Migrate)},}; 9294static const SimpleEnumValue mframe_pointer_EQValueTable[] = { 9295{"all",static_cast<unsigned>(CodeGenOptions::FramePointerKind::All)},{"non-leaf",static_cast<unsigned>(CodeGenOptions::FramePointerKind::NonLeaf)},{"reserved",static_cast<unsigned>(CodeGenOptions::FramePointerKind::Reserved)},{"none",static_cast<unsigned>(CodeGenOptions::FramePointerKind::None)},}; 9296static const SimpleEnumValue fobjc_arc_cxxlib_EQValueTable[] = { 9297{"libc++",static_cast<unsigned>(ARCXX_libcxx)},{"libstdc++",static_cast<unsigned>(ARCXX_libstdcxx)},{"none",static_cast<unsigned>(ARCXX_nolib)},}; 9298static const SimpleEnumValue fobjc_dispatch_method_EQValueTable[] = { 9299{"legacy",static_cast<unsigned>(CodeGenOptions::Legacy)},{"non-legacy",static_cast<unsigned>(CodeGenOptions::NonLegacy)},{"mixed",static_cast<unsigned>(CodeGenOptions::Mixed)},}; 9300static const SimpleEnumValue stack_protectorValueTable[] = { 9301{"0",static_cast<unsigned>(LangOptions::SSPOff)},{"1",static_cast<unsigned>(LangOptions::SSPOn)},{"2",static_cast<unsigned>(LangOptions::SSPStrong)},{"3",static_cast<unsigned>(LangOptions::SSPReq)},}; 9302static const SimpleEnumValue ftype_visibilityValueTable[] = { 9303{"default",static_cast<unsigned>(DefaultVisibility)},{"hidden",static_cast<unsigned>(HiddenVisibility)},{"internal",static_cast<unsigned>(HiddenVisibility)},{"protected",static_cast<unsigned>(ProtectedVisibility)},}; 9304static const SimpleEnumValue faddress_space_map_mangling_EQValueTable[] = { 9305{"target",static_cast<unsigned>(LangOptions::ASMM_Target)},{"no",static_cast<unsigned>(LangOptions::ASMM_Off)},{"yes",static_cast<unsigned>(LangOptions::ASMM_On)},}; 9306static const SimpleEnumValue fdefault_calling_conv_EQValueTable[] = { 9307{"cdecl",static_cast<unsigned>(LangOptions::DCC_CDecl)},{"fastcall",static_cast<unsigned>(LangOptions::DCC_FastCall)},{"stdcall",static_cast<unsigned>(LangOptions::DCC_StdCall)},{"vectorcall",static_cast<unsigned>(LangOptions::DCC_VectorCall)},{"regcall",static_cast<unsigned>(LangOptions::DCC_RegCall)},{"rtdcall",static_cast<unsigned>(LangOptions::DCC_RtdCall)},}; 9308static const SimpleEnumValue fwchar_type_EQValueTable[] = { 9309{"char",static_cast<unsigned>(1)},{"short",static_cast<unsigned>(2)},{"int",static_cast<unsigned>(4)},}; 9310static const SimpleEnumValue sycl_std_EQValueTable[] = { 9311{"2020",static_cast<unsigned>(LangOptions::SYCL_2020)},{"2017",static_cast<unsigned>(LangOptions::SYCL_2017)},{"121",static_cast<unsigned>(LangOptions::SYCL_2017)},{"1.2.1",static_cast<unsigned>(LangOptions::SYCL_2017)},{"sycl-1.2.1",static_cast<unsigned>(LangOptions::SYCL_2017)},}; 9312static const SimpleEnumValueTable SimpleEnumValueTables[] = {{complex_range_EQValueTable, std::size(complex_range_EQValueTable)}, 9313{fgpu_default_stream_EQValueTable, std::size(fgpu_default_stream_EQValueTable)}, 9314{mprintf_kind_EQValueTable, std::size(mprintf_kind_EQValueTable)}, 9315{fstrict_flex_arrays_EQValueTable, std::size(fstrict_flex_arrays_EQValueTable)}, 9316{fembed_bitcode_EQValueTable, std::size(fembed_bitcode_EQValueTable)}, 9317{fswift_async_fp_EQValueTable, std::size(fswift_async_fp_EQValueTable)}, 9318{fcf_runtime_abi_EQValueTable, std::size(fcf_runtime_abi_EQValueTable)}, 9319{exception_modelValueTable, std::size(exception_modelValueTable)}, 9320{ffloat16_excess_precision_EQValueTable, std::size(ffloat16_excess_precision_EQValueTable)}, 9321{fbfloat16_excess_precision_EQValueTable, std::size(fbfloat16_excess_precision_EQValueTable)}, 9322{ffp_eval_method_EQValueTable, std::size(ffp_eval_method_EQValueTable)}, 9323{ffp_exception_behavior_EQValueTable, std::size(ffp_exception_behavior_EQValueTable)}, 9324{fextend_args_EQValueTable, std::size(fextend_args_EQValueTable)}, 9325{sanitize_address_use_after_return_EQValueTable, std::size(sanitize_address_use_after_return_EQValueTable)}, 9326{sanitize_address_destructor_EQValueTable, std::size(sanitize_address_destructor_EQValueTable)}, 9327{mfunction_return_EQValueTable, std::size(mfunction_return_EQValueTable)}, 9328{flax_vector_conversions_EQValueTable, std::size(flax_vector_conversions_EQValueTable)}, 9329{fms_memptr_rep_EQValueTable, std::size(fms_memptr_rep_EQValueTable)}, 9330{fveclibValueTable, std::size(fveclibValueTable)}, 9331{fshow_overloads_EQValueTable, std::size(fshow_overloads_EQValueTable)}, 9332{ftrivial_auto_var_initValueTable, std::size(ftrivial_auto_var_initValueTable)}, 9333{ftlsmodel_EQValueTable, std::size(ftlsmodel_EQValueTable)}, 9334{fvisibility_dllexport_EQValueTable, std::size(fvisibility_dllexport_EQValueTable)}, 9335{fvisibility_nodllstorageclass_EQValueTable, std::size(fvisibility_nodllstorageclass_EQValueTable)}, 9336{fvisibility_externs_dllimport_EQValueTable, std::size(fvisibility_externs_dllimport_EQValueTable)}, 9337{fvisibility_externs_nodllstorageclass_EQValueTable, std::size(fvisibility_externs_nodllstorageclass_EQValueTable)}, 9338{fvisibility_EQValueTable, std::size(fvisibility_EQValueTable)}, 9339{fvisibility_global_new_delete_EQValueTable, std::size(fvisibility_global_new_delete_EQValueTable)}, 9340{mdefault_visibility_export_mapping_EQValueTable, std::size(mdefault_visibility_export_mapping_EQValueTable)}, 9341{fzero_call_used_regs_EQValueTable, std::size(fzero_call_used_regs_EQValueTable)}, 9342{femit_dwarf_unwind_EQValueTable, std::size(femit_dwarf_unwind_EQValueTable)}, 9343{gsrc_hash_EQValueTable, std::size(gsrc_hash_EQValueTable)}, 9344{inline_asm_EQValueTable, std::size(inline_asm_EQValueTable)}, 9345{mthread_modelValueTable, std::size(mthread_modelValueTable)}, 9346{meabiValueTable, std::size(meabiValueTable)}, 9347{mcode_object_version_EQValueTable, std::size(mcode_object_version_EQValueTable)}, 9348{altivec_src_compatValueTable, std::size(altivec_src_compatValueTable)}, 9349{analyzer_config_compatibility_modeValueTable, std::size(analyzer_config_compatibility_modeValueTable)}, 9350{mrelocation_modelValueTable, std::size(mrelocation_modelValueTable)}, 9351{debugger_tuning_EQValueTable, std::size(debugger_tuning_EQValueTable)}, 9352{compress_debug_sections_EQValueTable, std::size(compress_debug_sections_EQValueTable)}, 9353{fprofile_instrument_EQValueTable, std::size(fprofile_instrument_EQValueTable)}, 9354{fexperimental_assignment_tracking_EQValueTable, std::size(fexperimental_assignment_tracking_EQValueTable)}, 9355{header_include_format_EQValueTable, std::size(header_include_format_EQValueTable)}, 9356{header_include_filtering_EQValueTable, std::size(header_include_filtering_EQValueTable)}, 9357{fdiagnostics_formatValueTable, std::size(fdiagnostics_formatValueTable)}, 9358{fdiagnostics_show_categoryValueTable, std::size(fdiagnostics_show_categoryValueTable)}, 9359{arcmt_action_EQValueTable, std::size(arcmt_action_EQValueTable)}, 9360{mframe_pointer_EQValueTable, std::size(mframe_pointer_EQValueTable)}, 9361{fobjc_arc_cxxlib_EQValueTable, std::size(fobjc_arc_cxxlib_EQValueTable)}, 9362{fobjc_dispatch_method_EQValueTable, std::size(fobjc_dispatch_method_EQValueTable)}, 9363{stack_protectorValueTable, std::size(stack_protectorValueTable)}, 9364{ftype_visibilityValueTable, std::size(ftype_visibilityValueTable)}, 9365{faddress_space_map_mangling_EQValueTable, std::size(faddress_space_map_mangling_EQValueTable)}, 9366{fdefault_calling_conv_EQValueTable, std::size(fdefault_calling_conv_EQValueTable)}, 9367{fwchar_type_EQValueTable, std::size(fwchar_type_EQValueTable)}, 9368{sycl_std_EQValueTable, std::size(sycl_std_EQValueTable)}, 9369}; 9370static const unsigned SimpleEnumValueTablesSize = std::size(SimpleEnumValueTables); 9371#endif // SIMPLE_ENUM_VALUE_TABLE 9372 9373 9374