reference, declaration → definition definition → references, declarations, derived classes, virtual overrides reference to multiple definitions → definitions unreferenced |
3379 Args.hasArg(options::OPT_mkernel, options::OPT_fapple_kext); 3398 auto *ModuleNameArg = Args.getLastArg(options::OPT_fmodule_name_EQ); 3451 CmdArgs.push_back(Args.MakeArgString(TripleStr)); 3453 if (const Arg *MJ = Args.getLastArg(options::OPT_MJ)) { 3454 DumpCompilationDatabase(C, MJ->getValue(), TripleStr, Output, Input, Args); 3455 Args.ClaimAllArgs(options::OPT_MJ); 3457 Args.getLastArg(options::OPT_gen_cdb_fragment_path)) { 3459 TripleStr, Output, Input, Args); 3460 Args.ClaimAllArgs(options::OPT_gen_cdb_fragment_path); 3486 CmdArgs.push_back(Args.MakeArgString( 3492 CmdArgs.push_back(Args.MakeArgString(NormalizedTriple)); 3502 CmdArgs.push_back(Args.MakeArgString(NormalizedTriple)); 3534 Args.ClaimAllArgs(options::OPT_mrelax_all); 3535 Args.ClaimAllArgs(options::OPT_mno_relax_all); 3536 Args.ClaimAllArgs(options::OPT_mincremental_linker_compatible); 3537 Args.ClaimAllArgs(options::OPT_mno_incremental_linker_compatible); 3543 Args.ClaimAllArgs(options::OPT_mimplicit_it_EQ); 3549 Args.ClaimAllArgs(options::OPT_Wa_COMMA); 3550 Args.ClaimAllArgs(options::OPT_Xassembler); 3563 if (Args.hasArg(options::OPT_rewrite_objc) && 3564 !Args.hasArg(options::OPT_g_Group)) 3570 CollectArgsForIntegratedAssembler(C, Args, CmdArgs, D); 3573 (void)Args.hasArg(options::OPT_force__cpusubtype__ALL); 3599 Args.hasArg(options::OPT_interface_stub_version_EQ) 3600 ? Args.getLastArgValue(options::OPT_interface_stub_version_EQ) 3604 Args.MakeArgString(Twine("-interface-stub-version=") + ArgStr.str())); 3633 Args.AddLastArg(CmdArgs, options::OPT_flto, options::OPT_flto_EQ); 3638 if (const Arg *A = Args.getLastArg(options::OPT_fthinlto_index_EQ)) { 3640 D.Diag(diag::err_drv_arg_requires_bitcode_input) << A->getAsString(Args); 3641 Args.AddLastArg(CmdArgs, options::OPT_fthinlto_index_EQ); 3644 if (Args.getLastArg(options::OPT_fthin_link_bitcode_EQ)) 3645 Args.AddLastArg(CmdArgs, options::OPT_fthin_link_bitcode_EQ); 3647 if (Args.getLastArg(options::OPT_save_temps_EQ)) 3648 Args.AddLastArg(CmdArgs, options::OPT_save_temps_EQ); 3655 Args.AddLastArg(CmdArgs, options::OPT_fembed_bitcode_EQ); 3660 TC.addClangTargetOptions(Args, CmdArgs, JA.getOffloadingDeviceKind()); 3702 for (const auto &A : Args) 3708 if (!Args.hasFlag(options::OPT_foptimize_sibling_calls, 3712 RenderFloatingPointOptions(TC, D, isOptimizationLevelFast(Args), Args, 3712 RenderFloatingPointOptions(TC, D, isOptimizationLevelFast(Args), Args, 3721 RenderARMABI(Triple, Args, CmdArgs); 3725 RenderAArch64ABI(Triple, Args, CmdArgs); 3730 if (const Arg *A = Args.getLastArg(options::OPT_O_Group)) { 3735 A->render(Args, CmdArgs); 3750 addDashXForInput(Args, II, CmdArgs); 3754 II.getInputArg().renderAsInput(Args, CmdArgs); 3782 if (Args.hasFlag(options::OPT_fdiscard_value_names, 3789 CmdArgs.push_back(getBaseInputName(Args, Input)); 3793 if (Args.hasArg(options::OPT_static)) 3796 if (Args.hasArg(options::OPT_municode)) 3800 RenderAnalyzerOptions(Args, CmdArgs, Triple, Input); 3803 (isa<PreprocessJobAction>(JA) && Args.hasArg(options::OPT__analyze))) 3810 for (auto Arg : Args.filtered(options::OPT_Xclang)) 3816 for (auto Arg : Args.filtered(options::OPT_Xanalyzer)) 3824 CheckCodeGenerationOptions(D, Args); 3826 unsigned FunctionAlignment = ParseFunctionAlignment(TC, Args); 3830 CmdArgs.push_back(Args.MakeArgString(std::to_string(FunctionAlignment))); 3836 std::tie(RelocationModel, PICLevel, IsPIE) = ParsePICArgs(TC, Args); 3843 !Args.hasArg(options::OPT_fallow_unsupported)) 3864 if (Arg *A = Args.getLastArg(options::OPT_meabi)) { 3870 if (Arg *A = Args.getLastArg(options::OPT_mthread_model)) { 3873 << A->getValue() << A->getAsString(Args); 3877 CmdArgs.push_back(Args.MakeArgString(TC.getThreadModel())); 3879 Args.AddLastArg(CmdArgs, options::OPT_fveclib); 3881 if (Args.hasFlag(options::OPT_fmerge_all_constants, 3885 if (Args.hasFlag(options::OPT_fno_delete_null_pointer_checks, 3891 if (Args.hasArg(options::OPT_frewrite_map_file) || 3892 Args.hasArg(options::OPT_frewrite_map_file_EQ)) { 3893 for (const Arg *A : Args.filtered(options::OPT_frewrite_map_file, 3906 if (Arg *A = Args.getLastArg(options::OPT_Wframe_larger_than_EQ)) { 3909 CmdArgs.push_back(Args.MakeArgString("-warn-stack-size=" + v)); 3913 if (!Args.hasFlag(options::OPT_fjump_tables, options::OPT_fno_jump_tables, 3917 if (Args.hasFlag(options::OPT_fprofile_sample_accurate, 3921 if (!Args.hasFlag(options::OPT_fpreserve_as_comments, 3925 if (Arg *A = Args.getLastArg(options::OPT_mregparm_EQ)) { 3930 if (Arg *A = Args.getLastArg(options::OPT_fpcc_struct_return, 3943 if (Args.hasFlag(options::OPT_mrtd, options::OPT_mno_rtd, false)) 3947 getFramePointerKind(Args, RawTriple); 3963 if (!Args.hasFlag(options::OPT_fzero_initialized_in_bss, 3967 bool OFastEnabled = isOptimizationLevelFast(Args); 3975 if (!Args.hasFlag(options::OPT_fstrict_aliasing, StrictAliasingAliasOption, 3978 if (!Args.hasFlag(options::OPT_fstruct_path_tbaa, 3981 if (Args.hasFlag(options::OPT_fstrict_enums, options::OPT_fno_strict_enums, 3984 if (!Args.hasFlag(options::OPT_fstrict_return, options::OPT_fno_strict_return, 3987 if (Args.hasFlag(options::OPT_fallow_editor_placeholders, 3990 if (Args.hasFlag(options::OPT_fstrict_vtable_pointers, 3994 if (Args.hasFlag(options::OPT_fforce_emit_vtables, 3998 if (!Args.hasFlag(options::OPT_foptimize_sibling_calls, 4001 if (Args.hasFlag(options::OPT_fno_escaping_block_tail_calls, 4005 Args.AddLastArg(CmdArgs, options::OPT_ffine_grained_bitfield_accesses, 4009 if (Args.hasArg(options::OPT_fsplit_stack)) 4012 RenderFloatingPointOptions(TC, D, OFastEnabled, Args, CmdArgs); 4014 if (Arg *A = Args.getLastArg(options::OPT_LongDouble_Group)) { 4017 A->render(Args, CmdArgs); 4020 A->render(Args, CmdArgs); 4023 << A->getAsString(Args) << TripleStr; 4029 if (Args.hasFlag(options::OPT_fverbose_asm, options::OPT_fno_verbose_asm, 4036 if (Args.hasArg(options::OPT_fdebug_pass_structure)) { 4040 if (Args.hasArg(options::OPT_fdebug_pass_arguments)) { 4056 if (Args.hasFlag(options::OPT_mms_bitfields, options::OPT_mno_ms_bitfields, 4061 if (Args.hasFlag(options::OPT_mpie_copy_relocations, 4067 if (Args.hasFlag(options::OPT_fno_plt, options::OPT_fplt, false)) { 4075 Args.hasFlag(options::OPT_ffreestanding, options::OPT_fhosted, false) || 4084 Args.hasFlag(options::OPT_fasynchronous_unwind_tables, 4086 (TC.IsUnwindTablesDefault(Args) || 4089 if (Args.hasFlag(options::OPT_funwind_tables, options::OPT_fno_unwind_tables, 4093 TC.addClangTargetOptions(Args, CmdArgs, JA.getOffloadingDeviceKind()); 4096 (void)Args.hasArg(options::OPT_mtune_EQ); 4098 if (Arg *A = Args.getLastArg(options::OPT_mcmodel_EQ)) { 4104 std::string CPU = getCPUName(Args, Triple, /*FromAs*/ false); 4107 CmdArgs.push_back(Args.MakeArgString(CPU)); 4110 RenderTargetOptions(Triple, Args, KernelOrKext, CmdArgs); 4119 AddClangCLArgs(Args, InputType, CmdArgs, &DebugInfoKind, &EmitCodeView); 4122 RenderDebugOptions(TC, D, RawTriple, Args, EmitCodeView, IsWindowsMSVC, 4132 const char *SplitDWARFOut = SplitDebugName(Args, Input, Output); 4142 if (Arg *A = Args.getLastArg(options::OPT_mlinker_version_EQ)) { 4149 if (!Args.hasArg(options::OPT_fallow_unsupported)) { 4153 if ((Unsupported = Args.getLastArg(options::OPT_fapple_kext)) || 4154 (Unsupported = Args.getLastArg(options::OPT_mkernel))) 4159 if ((Unsupported = Args.getLastArg(options::OPT_faltivec))) 4163 if ((Unsupported = Args.getLastArg(options::OPT_fno_altivec))) 4168 Args.AddAllArgs(CmdArgs, options::OPT_v); 4169 Args.AddLastArg(CmdArgs, options::OPT_H); 4175 Args.AddLastArg(CmdArgs, options::OPT_P); 4176 Args.AddLastArg(CmdArgs, options::OPT_print_ivar_layout); 4186 if (Args.hasFlag(options::OPT_ffunction_sections, 4191 if (Args.hasFlag(options::OPT_fdata_sections, options::OPT_fno_data_sections, 4196 if (!Args.hasFlag(options::OPT_funique_section_names, 4200 Args.AddLastArg(CmdArgs, options::OPT_finstrument_functions, 4208 addPGOAndCoverageFlags(TC, C, D, Output, Args, CmdArgs); 4210 Args.AddLastArg(CmdArgs, options::OPT_fclang_abi_compat_EQ); 4214 !Args.hasArg(options::OPT_nostdlib, options::OPT_nodefaultlibs)) { 4215 PS4cpu::addProfileRTArgs(TC, Args, CmdArgs); 4220 if (Args.hasArg(options::OPT_nostdinc)) { 4224 if (Args.hasArg(options::OPT_nostdlibinc)) 4226 Args.AddLastArg(CmdArgs, options::OPT_nostdincxx); 4227 Args.AddLastArg(CmdArgs, options::OPT_nobuiltininc); 4234 Args.AddLastArg(CmdArgs, options::OPT_working_directory); 4236 RenderARCMigrateToolOptions(D, Args, CmdArgs); 4243 AddPreprocessingOptions(C, JA, D, Args, CmdArgs, Output, Inputs); 4249 Args.ClaimAllArgs(options::OPT_D); 4252 if (Arg *A = Args.getLastArg(options::OPT_O_Group)) { 4257 A->render(Args, CmdArgs); 4263 Args.filtered(options::OPT_clang_ignored_gcc_optimization_f_Group)) { 4264 D.Diag(diag::warn_ignored_gcc_optimization) << A->getAsString(Args); 4269 Args.filtered(options::OPT_clang_ignored_legacy_options_Group)) { 4270 D.Diag(diag::warn_ignored_clang_option) << A->getAsString(Args); 4274 claimNoWarnArgs(Args); 4276 Args.AddAllArgs(CmdArgs, options::OPT_R_Group); 4278 Args.AddAllArgs(CmdArgs, options::OPT_W_Group); 4279 if (Args.hasFlag(options::OPT_pedantic, options::OPT_no_pedantic, false)) 4281 Args.AddLastArg(CmdArgs, options::OPT_pedantic_errors); 4282 Args.AddLastArg(CmdArgs, options::OPT_w); 4285 if (Args.hasFlag(options::OPT_ffixed_point, options::OPT_fno_fixed_point, 4287 Args.AddLastArg(CmdArgs, options::OPT_ffixed_point); 4295 const Arg *Std = Args.getLastArg(options::OPT_std_EQ, options::OPT_ansi); 4303 Std->render(Args, CmdArgs); 4306 if (Arg *A = Args.getLastArg(options::OPT_std_EQ, options::OPT_ansi, 4310 A->render(Args, CmdArgs); 4319 Args.AddAllArgsTranslated(CmdArgs, options::OPT_std_default_EQ, "-std=", 4324 Args.AddLastArg(CmdArgs, options::OPT_ftrigraphs, 4341 Args.getLastArg(options::OPT_Wwrite_strings, 4352 Args.hasFlag(options::OPT_Wdeprecated, options::OPT_Wno_deprecated, 4358 if (Arg *Asm = Args.getLastArg(options::OPT_fasm, options::OPT_fno_asm)) { 4365 if (ShouldDisableDwarfDirectory(Args, TC)) 4368 if (ShouldDisableAutolink(Args, TC)) 4372 addDebugCompDirArg(Args, CmdArgs, D.getVFS()); 4374 addDebugPrefixMapArg(D, Args, CmdArgs); 4376 if (Arg *A = Args.getLastArg(options::OPT_ftemplate_depth_, 4382 if (Arg *A = Args.getLastArg(options::OPT_foperator_arrow_depth_EQ)) { 4387 if (Arg *A = Args.getLastArg(options::OPT_fconstexpr_depth_EQ)) { 4392 if (Arg *A = Args.getLastArg(options::OPT_fconstexpr_steps_EQ)) { 4397 if (Args.hasArg(options::OPT_fexperimental_new_constant_interpreter)) 4400 if (Args.hasArg(options::OPT_fforce_experimental_new_constant_interpreter)) 4403 if (Arg *A = Args.getLastArg(options::OPT_fbracket_depth_EQ)) { 4408 if (Arg *A = Args.getLastArg(options::OPT_Wlarge_by_value_copy_EQ, 4412 CmdArgs.push_back(Args.MakeArgString("-Wlarge-by-value-copy=" + bytes)); 4417 if (Args.hasArg(options::OPT_relocatable_pch)) 4420 if (const Arg *A = Args.getLastArg(options::OPT_fcf_runtime_abi_EQ)) { 4428 A->render(Args, CmdArgs); 4431 if (Arg *A = Args.getLastArg(options::OPT_fconstant_string_class_EQ)) { 4436 if (Arg *A = Args.getLastArg(options::OPT_ftabstop_EQ)) { 4441 if (Args.hasFlag(options::OPT_fstack_size_section, 4446 if (Arg *A = Args.getLastArg(options::OPT_ferror_limit_EQ)) 4451 if (Arg *A = Args.getLastArg(options::OPT_fmacro_backtrace_limit_EQ)) { 4456 if (Arg *A = Args.getLastArg(options::OPT_ftemplate_backtrace_limit_EQ)) { 4461 if (Arg *A = Args.getLastArg(options::OPT_fconstexpr_backtrace_limit_EQ)) { 4466 if (Arg *A = Args.getLastArg(options::OPT_fspell_checking_limit_EQ)) { 4473 if (Arg *A = Args.getLastArg(options::OPT_fmessage_length_EQ)) { 4479 CmdArgs.push_back(Args.MakeArgString(Twine(N))); 4483 if (const Arg *A = Args.getLastArg(options::OPT_fvisibility_EQ, 4497 Args.AddLastArg(CmdArgs, options::OPT_fvisibility_inlines_hidden); 4498 Args.AddLastArg(CmdArgs, options::OPT_fvisibility_global_new_delete_hidden); 4500 Args.AddLastArg(CmdArgs, options::OPT_ftlsmodel_EQ); 4503 Args.AddLastArg(CmdArgs, options::OPT_femit_all_decls); 4504 Args.AddLastArg(CmdArgs, options::OPT_fheinous_gnu_extensions); 4505 Args.AddLastArg(CmdArgs, options::OPT_fdigraphs, options::OPT_fno_digraphs); 4506 Args.AddLastArg(CmdArgs, options::OPT_fno_operator_names); 4507 Args.AddLastArg(CmdArgs, options::OPT_femulated_tls, 4509 Args.AddLastArg(CmdArgs, options::OPT_fkeep_static_consts); 4513 Args.AddLastArg(CmdArgs, options::OPT_fzvector); 4515 Args.AddLastArg(CmdArgs, options::OPT_fdiagnostics_show_template_tree); 4516 Args.AddLastArg(CmdArgs, options::OPT_fno_elide_type); 4520 if (Args.hasFlag(options::OPT_fopenmp, options::OPT_fopenmp_EQ, 4524 switch (D.getOpenMPRuntime(Args)) { 4533 if (!Args.hasFlag(options::OPT_fopenmp_use_tls, 4536 Args.AddLastArg(CmdArgs, options::OPT_fopenmp_simd, 4538 Args.AddAllArgs(CmdArgs, options::OPT_fopenmp_version_EQ); 4539 Args.AddAllArgs(CmdArgs, options::OPT_fopenmp_cuda_number_of_sm_EQ); 4540 Args.AddAllArgs(CmdArgs, options::OPT_fopenmp_cuda_blocks_per_sm_EQ); 4541 Args.AddAllArgs(CmdArgs, 4543 if (Args.hasFlag(options::OPT_fopenmp_optimistic_collapse, 4550 if (Args.hasFlag(options::OPT_fopenmp_cuda_mode, 4556 if (Args.hasFlag(options::OPT_fopenmp_cuda_force_full_runtime, 4571 Args.AddLastArg(CmdArgs, options::OPT_fopenmp_simd, 4573 Args.AddAllArgs(CmdArgs, options::OPT_fopenmp_version_EQ); 4577 Sanitize.addArgs(TC, Args, CmdArgs, InputType); 4580 XRay.addArgs(TC, Args, CmdArgs, InputType); 4583 Args.AddLastArg(CmdArgs, options::OPT_pg); 4586 Args.AddLastArg(CmdArgs, options::OPT_mfentry); 4588 if (Args.getLastArg(options::OPT_fapple_kext) || 4589 (Args.hasArg(options::OPT_mkernel) && types::isCXX(InputType))) 4592 Args.AddLastArg(CmdArgs, options::OPT_flax_vector_conversions_EQ); 4593 Args.AddLastArg(CmdArgs, options::OPT_fobjc_sender_dependent_dispatch); 4594 Args.AddLastArg(CmdArgs, options::OPT_fdiagnostics_print_source_range_info); 4595 Args.AddLastArg(CmdArgs, options::OPT_fdiagnostics_parseable_fixits); 4596 Args.AddLastArg(CmdArgs, options::OPT_ftime_report); 4597 Args.AddLastArg(CmdArgs, options::OPT_ftime_trace); 4598 Args.AddLastArg(CmdArgs, options::OPT_ftime_trace_granularity_EQ); 4599 Args.AddLastArg(CmdArgs, options::OPT_ftrapv); 4600 Args.AddLastArg(CmdArgs, options::OPT_malign_double); 4602 if (Arg *A = Args.getLastArg(options::OPT_ftrapv_handler_EQ)) { 4607 Args.AddLastArg(CmdArgs, options::OPT_ftrap_function_EQ); 4611 if (Arg *A = Args.getLastArg(options::OPT_fwrapv, options::OPT_fno_wrapv)) { 4614 } else if (Arg *A = Args.getLastArg(options::OPT_fstrict_overflow, 4620 if (Arg *A = Args.getLastArg(options::OPT_freroll_loops, 4625 Args.AddLastArg(CmdArgs, options::OPT_fwritable_strings); 4626 Args.AddLastArg(CmdArgs, options::OPT_funroll_loops, 4629 Args.AddLastArg(CmdArgs, options::OPT_pthread); 4631 if (Args.hasFlag(options::OPT_mspeculative_load_hardening, options::OPT_mno_speculative_load_hardening, 4633 CmdArgs.push_back(Args.MakeArgString("-mspeculative-load-hardening")); 4635 RenderSSPOptions(TC, Args, CmdArgs, KernelOrKext); 4636 RenderTrivialAutoVarInitOptions(D, TC, Args, CmdArgs); 4639 if (Args.hasFlag(options::OPT_mstackrealign, options::OPT_mno_stackrealign, 4641 CmdArgs.push_back(Args.MakeArgString("-mstackrealign")); 4643 if (Args.hasArg(options::OPT_mstack_alignment)) { 4644 StringRef alignment = Args.getLastArgValue(options::OPT_mstack_alignment); 4645 CmdArgs.push_back(Args.MakeArgString("-mstack-alignment=" + alignment)); 4648 if (Args.hasArg(options::OPT_mstack_probe_size)) { 4649 StringRef Size = Args.getLastArgValue(options::OPT_mstack_probe_size); 4652 CmdArgs.push_back(Args.MakeArgString("-mstack-probe-size=" + Size)); 4657 if (!Args.hasFlag(options::OPT_mstack_arg_probe, 4659 CmdArgs.push_back(Args.MakeArgString("-mno-stack-arg-probe")); 4661 if (Arg *A = Args.getLastArg(options::OPT_mrestrict_it, 4679 RenderOpenCLOptions(Args, CmdArgs); 4681 if (Args.hasFlag(options::OPT_fhip_new_launch_api, 4685 if (Arg *A = Args.getLastArg(options::OPT_fcf_protection_EQ)) { 4687 Args.MakeArgString(Twine("-fcf-protection=") + A->getValue())); 4692 if (Arg *A = getLastProfileSampleUseArg(Args)) { 4693 auto *PGOArg = Args.getLastArg( 4705 A->render(Args, CmdArgs); 4707 Args.AddLastArg(CmdArgs, options::OPT_fprofile_remapping_file_EQ); 4709 RenderBuiltinOptions(TC, RawTriple, Args, CmdArgs); 4711 if (!Args.hasFlag(options::OPT_fassume_sane_operator_new, 4716 if (Args.hasFlag(options::OPT_fblocks, options::OPT_fno_blocks, 4718 (Args.hasArg(options::OPT_fgnu_runtime) && 4719 Args.hasArg(options::OPT_fobjc_nonfragile_abi) && 4720 !Args.hasArg(options::OPT_fno_blocks))) { 4723 if (!Args.hasArg(options::OPT_fgnu_runtime) && !TC.hasBlocksRuntime()) 4731 if (Args.hasFlag(options::OPT_fcoroutines_ts, options::OPT_fno_coroutines_ts, 4737 Args.AddLastArg(CmdArgs, options::OPT_fdouble_square_bracket_attributes, 4741 if (Args.hasFlag(options::OPT_fno_access_control, 4746 if (Args.hasFlag(options::OPT_fno_elide_constructors, 4757 if (Args.hasFlag(options::OPT_fshort_enums, options::OPT_fno_short_enums, 4761 RenderCharacterOptions(Args, AuxTriple ? *AuxTriple : RawTriple, CmdArgs); 4764 if (!Args.hasFlag( 4773 if (Args.hasFlag(options::OPT_fregister_global_dtors_with_atexit, 4779 if (Args.hasFlag(options::OPT_fms_extensions, options::OPT_fno_ms_extensions, 4784 if (Args.hasFlag(options::OPT_fuse_line_directives, 4789 bool IsMSVCCompat = Args.hasFlag( 4791 (IsWindowsMSVC && Args.hasFlag(options::OPT_fms_extensions, 4798 if (Arg *A = Args.getLastArg(options::OPT_fgnuc_version_EQ)) { 4808 << A->getAsString(Args) << A->getValue(); 4816 Args.MakeArgString("-fgnuc-version=" + GNUCVer.getAsString())); 4819 VersionTuple MSVT = TC.computeMSVCVersion(&D, Args); 4822 Args.MakeArgString("-fms-compatibility-version=" + MSVT.getAsString())); 4827 if (const Arg *StdArg = Args.getLastArg(options::OPT__SLASH_std)) { 4836 << StdArg->getAsString(Args); 4850 if (Args.hasFlag(options::OPT_fborland_extensions, 4855 if (Args.hasFlag(options::OPT_fdeclspec, options::OPT_fno_declspec, 4858 else if (Args.hasArg(options::OPT_fno_declspec)) 4863 if (!Args.hasFlag(options::OPT_fthreadsafe_statics, 4872 if (Args.hasFlag(options::OPT_fdelayed_template_parsing, 4878 Args.AddLastArg(CmdArgs, options::OPT_fgnu_keywords, 4881 if (Args.hasFlag(options::OPT_fgnu89_inline, options::OPT_fno_gnu89_inline, 4885 if (Args.hasArg(options::OPT_fno_inline)) 4888 Args.AddLastArg(CmdArgs, options::OPT_finline_functions, 4896 RenderModulesOptions(C, D, Args, Input, Output, CmdArgs, HaveModules); 4898 if (Args.hasFlag(options::OPT_fpch_validate_input_files_content, 4902 Args.AddLastArg(CmdArgs, options::OPT_fexperimental_new_pass_manager, 4905 ObjCRuntime Runtime = AddObjCRuntimeArgs(Args, CmdArgs, rewriteKind); 4906 RenderObjCOptions(TC, D, RawTriple, Args, Runtime, rewriteKind != RK_None, 4909 if (Args.hasFlag(options::OPT_fapplication_extension, 4915 addExceptionArgs(Args, InputType, TC, KernelOrKext, Runtime, CmdArgs); 4918 Arg *A = Args.getLastArg( 4932 switch (TC.GetExceptionModel(Args)) { 4948 if (!Args.hasFlag(options::OPT_fassume_sane_operator_new, 4955 if (Args.hasFlag(options::OPT_frelaxed_template_template_args, 4961 if (Args.hasFlag(options::OPT_fsized_deallocation, 4967 if (Arg *A = Args.getLastArg(options::OPT_faligned_allocation, 4978 if (Arg *A = Args.getLastArg(options::OPT_fnew_alignment_EQ, 4981 Args.MakeArgString(Twine("-fnew-alignment=") + A->getValue())); 4985 if (!Args.hasFlag(options::OPT_fconstant_cfstrings, 4987 !Args.hasFlag(options::OPT_mconstant_cfstrings, 4992 if (Args.hasFlag(options::OPT_fpascal_strings, 4998 if (Arg *A = Args.getLastArg(options::OPT_fpack_struct_EQ)) { 5001 CmdArgs.push_back(Args.MakeArgString(PackStructStr)); 5002 } else if (Args.hasFlag(options::OPT_fpack_struct, 5008 bool SkipMaxTypeAlign = Args.hasArg(options::OPT_fno_max_type_align); 5009 if (Arg *A = Args.getLastArg(options::OPT_fmax_type_align_EQ)) { 5013 CmdArgs.push_back(Args.MakeArgString(MaxTypeAlignStr)); 5018 CmdArgs.push_back(Args.MakeArgString(MaxTypeAlignStr)); 5022 if (!Args.hasFlag(options::OPT_Qy, options::OPT_Qn, true)) 5027 if (!Args.hasFlag(options::OPT_fcommon, options::OPT_fno_common, 5033 if (!Args.hasFlag(options::OPT_fsigned_bitfields, 5036 << Args.getLastArg(options::OPT_funsigned_bitfields)->getAsString(Args); 5036 << Args.getLastArg(options::OPT_funsigned_bitfields)->getAsString(Args); 5039 if (!Args.hasFlag(options::OPT_ffor_scope, options::OPT_fno_for_scope)) 5041 << Args.getLastArg(options::OPT_fno_for_scope)->getAsString(Args); 5041 << Args.getLastArg(options::OPT_fno_for_scope)->getAsString(Args); 5044 if (Arg *inputCharset = Args.getLastArg(options::OPT_finput_charset_EQ)) { 5047 D.Diag(diag::err_drv_invalid_value) << inputCharset->getAsString(Args) 5052 if (Arg *execCharset = Args.getLastArg(options::OPT_fexec_charset_EQ)) { 5055 D.Diag(diag::err_drv_invalid_value) << execCharset->getAsString(Args) 5059 RenderDiagnosticsOptions(D, Args, CmdArgs); 5062 if (Args.hasFlag(options::OPT_fasm_blocks, options::OPT_fno_asm_blocks, 5067 if (!Args.hasFlag(options::OPT_fgnu_inline_asm, 5074 bool EnableVec = shouldEnableVectorizerAtOLevel(Args, false); 5077 if (Args.hasFlag(options::OPT_fvectorize, VectorizeAliasOption, 5082 bool EnableSLPVec = shouldEnableVectorizerAtOLevel(Args, true); 5085 if (Args.hasFlag(options::OPT_fslp_vectorize, SLPVectAliasOption, 5089 ParseMPreferVectorWidth(D, Args, CmdArgs); 5091 Args.AddLastArg(CmdArgs, options::OPT_fshow_overloads_EQ); 5092 Args.AddLastArg(CmdArgs, 5097 if (Arg *A = Args.getLastArg(options::OPT_fdollars_in_identifiers, 5107 if (Arg *A = Args.getLastArg(options::OPT_funit_at_a_time, 5110 D.Diag(diag::warn_drv_clang_unsupported) << A->getAsString(Args); 5113 if (Args.hasFlag(options::OPT_fapple_pragma_pack, 5118 if (Args.hasFlag(options::OPT_fsave_optimization_record, 5121 Args.hasFlag(options::OPT_fsave_optimization_record_EQ, 5123 Args.hasFlag(options::OPT_foptimization_record_passes_EQ, 5127 const Arg *A = Args.getLastArg(options::OPT_foptimization_record_file_EQ); 5133 if (Args.hasArg(options::OPT_c) || Args.hasArg(options::OPT_S)) { 5133 if (Args.hasArg(options::OPT_c) || Args.hasArg(options::OPT_S)) { 5134 if (Arg *FinalOutput = Args.getLastArg(options::OPT_o)) 5157 Args.getLastArg(options::OPT_fsave_optimization_record_EQ)) 5163 CmdArgs.push_back(Args.MakeArgString(F)); 5167 Args.getLastArg(options::OPT_foptimization_record_passes_EQ)) { 5173 Args.getLastArg(options::OPT_fsave_optimization_record_EQ)) { 5179 bool RewriteImports = Args.hasFlag(options::OPT_frewrite_imports, 5188 if (Args.hasFlag(options::OPT_frewrite_includes, 5194 if (Arg *A = Args.getLastArg(options::OPT_traditional, 5199 D.Diag(diag::err_drv_clang_unsupported) << A->getAsString(Args); 5202 Args.AddLastArg(CmdArgs, options::OPT_dM); 5203 Args.AddLastArg(CmdArgs, options::OPT_dD); 5206 if (Arg *A = Args.getLastArg(options::OPT__serialize_diags)) { 5208 CmdArgs.push_back(Args.MakeArgString(A->getValue())); 5211 if (Args.hasArg(options::OPT_fretain_comments_from_system_headers)) 5215 Args.AddAllArgs(CmdArgs, options::OPT_fcomment_block_commands); 5217 Args.AddAllArgs(CmdArgs, options::OPT_fparse_all_comments); 5220 for (const Arg *A : Args.filtered(options::OPT_fplugin_EQ)) { 5227 for (const Arg *A : Args.filtered(options::OPT_fpass_plugin_EQ)) { 5229 Args.MakeArgString(Twine("-fpass-plugin=") + A->getValue())); 5234 SmallString<128> StatsFile = getStatsFileName(Args, Output, Input, D); 5236 CmdArgs.push_back(Args.MakeArgString(Twine("-stats-file=") + StatsFile)); 5244 for (auto Arg : Args.filtered(options::OPT_Xclang)) { 5251 Args.AddAllArgValues(CmdArgs, options::OPT_Xclang); 5253 for (const Arg *A : Args.filtered(options::OPT_mllvm)) { 5262 A->render(Args, CmdArgs); 5279 Args.AddAllArgs(CmdArgs, options::OPT_undef); 5289 Args.hasFlag(options::OPT_grecord_command_line, 5292 Args.hasFlag(options::OPT_frecord_command_line, 5296 << Args.getLastArg(options::OPT_frecord_command_line)->getAsString(Args) 5296 << Args.getLastArg(options::OPT_frecord_command_line)->getAsString(Args) 5300 for (const auto &Arg : Args) 5301 Arg->render(Args, OriginalArgs); 5311 auto FlagsArgString = Args.MakeArgString(Flags); 5327 if (Args.hasFlag(options::OPT_fgpu_rdc, options::OPT_fno_gpu_rdc, false)) 5332 if (Args.hasFlag(options::OPT_fcuda_short_ptr, 5349 CmdArgs.push_back(Args.MakeArgString(OpenMPDeviceInput->getFilename())); 5358 Arg *Tgts = Args.getLastArg(options::OPT_fopenmp_targets_EQ); 5369 CmdArgs.push_back(Args.MakeArgString(TargetInfo.str())); 5373 Args.hasFlag(options::OPT_fvirtual_function_elimination, 5387 bool WholeProgramVTables = Args.hasFlag( 5408 Args.hasFlag(options::OPT_fsplit_lto_unit, 5416 if (Arg *A = Args.getLastArg(options::OPT_fexperimental_isel, 5428 Arg *A = Args.getLastArg(options::OPT_O_Group); 5447 if (Args.hasArg(options::OPT_forder_file_instrumentation)) { 5458 if (Arg *A = Args.getLastArg(options::OPT_fforce_enable_int128, 5464 if (Args.hasFlag(options::OPT_fcomplete_member_pointers, 5468 if (!Args.hasFlag(options::OPT_fcxx_static_destructors, 5472 if (Arg *A = Args.getLastArg(options::OPT_moutline, 5491 if (Args.hasFlag(options::OPT_faddrsig, options::OPT_fno_addrsig, 5501 if (Arg *A = Args.getLastArg(options::OPT_fsymbol_partition_EQ)) { 5502 std::string Str = A->getAsString(Args); 5506 CmdArgs.push_back(Args.MakeArgString(Str)); 5520 addDashXForInput(Args, Input, CmdArgs); 5532 Input.getInputArg().renderAsInput(Args, CmdArgs); 5536 if (Args.hasArg(options::OPT__SLASH_fallback) && 5540 getCLFallback()->GetCommand(C, JA, Output, Inputs, Args, LinkingOutput); 5543 } else if (Args.hasArg(options::OPT__SLASH_fallback) && 5555 Args.hasFlag(options::OPT__SLASH_showFilenames, 5560 if (Arg *A = Args.getLastArg(options::OPT_pg)) 5563 << A->getAsString(Args); 5569 Args.ClaimAllArgs(options::OPT_fpch_preprocess); 5573 Args.ClaimAllArgs(options::OPT_clang_ignored_f_Group); 5574 Args.ClaimAllArgs(options::OPT_clang_ignored_m_Group); 5577 Args.ClaimAllArgs(options::OPT_emit_llvm);