reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced

References

tools/clang/lib/Frontend/CompilerInvocation.cpp
 2422   if (const Arg *A = Args.getLastArg(OPT_std_EQ)) {
 2426         << A->getAsString(Args) << A->getValue();
 2456           << A->getAsString(Args) << GetInputKindName(IK);
 2461   if (Args.hasArg(OPT_fno_dllexport_inlines))
 2464   if (const Arg *A = Args.getLastArg(OPT_fcf_protection_EQ)) {
 2472   if (const Arg *A = Args.getLastArg(OPT_cl_std_EQ)) {
 2484         << A->getAsString(Args) << A->getValue();
 2490   Opts.IncludeDefaultHeader = Args.hasArg(OPT_finclude_default_header);
 2491   Opts.DeclareOpenCLBuiltins = Args.hasArg(OPT_fdeclare_opencl_builtins);
 2499   if (Args.getLastArg(OPT_cl_strict_aliasing)
 2503         << Args.getLastArg(OPT_cl_strict_aliasing)->getAsString(Args);
 2503         << Args.getLastArg(OPT_cl_strict_aliasing)->getAsString(Args);
 2511   Opts.GNUKeywords = Args.hasFlag(OPT_fgnu_keywords, OPT_fno_gnu_keywords,
 2514   Opts.Digraphs = Args.hasFlag(OPT_fdigraphs, OPT_fno_digraphs, Opts.Digraphs);
 2516   if (Args.hasArg(OPT_fno_operator_names))
 2519   if (Args.hasArg(OPT_fcuda_is_device))
 2522   if (Args.hasArg(OPT_fcuda_allow_variadic_functions))
 2525   if (Args.hasArg(OPT_fno_cuda_host_device_constexpr))
 2528   if (Opts.CUDAIsDevice && Args.hasArg(OPT_fcuda_approx_transcendentals))
 2531   Opts.GPURelocatableDeviceCode = Args.hasArg(OPT_fgpu_rdc);
 2532   if (Args.hasArg(OPT_fgpu_allow_device_init)) {
 2537           << Args.getLastArg(OPT_fgpu_allow_device_init)->getAsString(Args);
 2537           << Args.getLastArg(OPT_fgpu_allow_device_init)->getAsString(Args);
 2539   Opts.HIPUseNewLaunchAPI = Args.hasArg(OPT_fhip_new_launch_api);
 2542     if (Arg *arg = Args.getLastArg(OPT_fobjc_runtime_EQ)) {
 2548     if (Args.hasArg(OPT_fobjc_gc_only))
 2550     else if (Args.hasArg(OPT_fobjc_gc))
 2552     else if (Args.hasArg(OPT_fobjc_arc)) {
 2562     if (Args.hasArg(OPT_fobjc_runtime_has_weak))
 2569     if (auto weakArg = Args.getLastArg(OPT_fobjc_weak, OPT_fno_objc_weak)) {
 2583     if (Args.hasArg(OPT_fno_objc_infer_related_result_type))
 2586     if (Args.hasArg(OPT_fobjc_subscripting_legacy_runtime))
 2591   if (Arg *A = Args.getLastArg(options::OPT_fgnuc_version_EQ)) {
 2601           << A->getAsString(Args) << A->getValue();
 2606   if (Args.hasArg(OPT_fgnu89_inline)) {
 2614   if (Args.hasArg(OPT_fapple_kext)) {
 2621   if (Args.hasArg(OPT_print_ivar_layout))
 2624   if (Args.hasArg(OPT_fno_constant_cfstrings))
 2626   if (const auto *A = Args.getLastArg(OPT_fcf_runtime_abi_EQ))
 2637   if (Args.hasArg(OPT_fzvector))
 2640   if (Args.hasArg(OPT_pthread))
 2644   if (Arg *visOpt = Args.getLastArg(OPT_fvisibility)) {
 2645     Opts.setValueVisibilityMode(parseVisibility(visOpt, Args, Diags));
 2651   if (Arg *typeVisOpt = Args.getLastArg(OPT_ftype_visibility)) {
 2652     Opts.setTypeVisibilityMode(parseVisibility(typeVisOpt, Args, Diags));
 2657   if (Args.hasArg(OPT_fvisibility_inlines_hidden))
 2660   if (Args.hasArg(OPT_fvisibility_global_new_delete_hidden))
 2663   if (Args.hasArg(OPT_fapply_global_visibility_to_externs))
 2666   if (Args.hasArg(OPT_ftrapv)) {
 2670         Args.getLastArgValue(OPT_ftrapv_handler);
 2672   else if (Args.hasArg(OPT_fwrapv))
 2675   Opts.MSVCCompat = Args.hasArg(OPT_fms_compatibility);
 2676   Opts.MicrosoftExt = Opts.MSVCCompat || Args.hasArg(OPT_fms_extensions);
 2677   Opts.AsmBlocks = Args.hasArg(OPT_fasm_blocks) || Opts.MicrosoftExt;
 2679   if (const Arg *A = Args.getLastArg(OPT_fms_compatibility_version)) {
 2682       Diags.Report(diag::err_drv_invalid_value) << A->getAsString(Args)
 2694       Args.hasFlag(OPT_ftrigraphs, OPT_fno_trigraphs, Opts.Trigraphs);
 2696   Opts.DollarIdents = Args.hasFlag(OPT_fdollars_in_identifiers,
 2699   Opts.PascalStrings = Args.hasArg(OPT_fpascal_strings);
 2700   Opts.VtorDispMode = getLastArgIntValue(Args, OPT_vtordisp_mode_EQ, 1, Diags);
 2701   Opts.Borland = Args.hasArg(OPT_fborland_extensions);
 2702   Opts.WritableStrings = Args.hasArg(OPT_fwritable_strings);
 2703   Opts.ConstStrings = Args.hasFlag(OPT_fconst_strings, OPT_fno_const_strings,
 2705   if (Arg *A = Args.getLastArg(OPT_flax_vector_conversions_EQ)) {
 2715           << A->getAsString(Args) << A->getValue();
 2717   if (Args.hasArg(OPT_fno_threadsafe_statics))
 2719   Opts.Exceptions = Args.hasArg(OPT_fexceptions);
 2720   Opts.ObjCExceptions = Args.hasArg(OPT_fobjc_exceptions);
 2721   Opts.CXXExceptions = Args.hasArg(OPT_fcxx_exceptions);
 2725       Args.hasFlag(OPT_ffixed_point, OPT_fno_fixed_point, /*Default=*/false) &&
 2728       Args.hasFlag(OPT_fpadding_on_unsigned_fixed_point,
 2734   Arg *A = Args.getLastArg(
 2750   Opts.ExternCNoUnwind = Args.hasArg(OPT_fexternc_nounwind);
 2751   Opts.TraditionalCPP = Args.hasArg(OPT_traditional_cpp);
 2753   Opts.RTTI = Opts.CPlusPlus && !Args.hasArg(OPT_fno_rtti);
 2754   Opts.RTTIData = Opts.RTTI && !Args.hasArg(OPT_fno_rtti_data);
 2755   Opts.Blocks = Args.hasArg(OPT_fblocks) || (Opts.OpenCL
 2757   Opts.BlocksRuntimeOptional = Args.hasArg(OPT_fblocks_runtime_optional);
 2758   Opts.Coroutines = Opts.CPlusPlus2a || Args.hasArg(OPT_fcoroutines_ts);
 2761       Args.hasFlag(OPT_fdouble_square_bracket_attributes,
 2766   Opts.ModulesTS = Args.hasArg(OPT_fmodules_ts);
 2768       Args.hasArg(OPT_fmodules) || Opts.ModulesTS || Opts.CPlusPlusModules;
 2769   Opts.ModulesStrictDeclUse = Args.hasArg(OPT_fmodules_strict_decluse);
 2771       Args.hasArg(OPT_fmodules_decluse) || Opts.ModulesStrictDeclUse;
 2775       Args.hasArg(OPT_fmodules_local_submodule_visibility) || Opts.ModulesTS ||
 2777   Opts.ModulesCodegen = Args.hasArg(OPT_fmodules_codegen);
 2778   Opts.ModulesDebugInfo = Args.hasArg(OPT_fmodules_debuginfo);
 2780     !Args.hasArg(OPT_fno_modules_search_all) &&
 2781     Args.hasArg(OPT_fmodules_search_all);
 2782   Opts.ModulesErrorRecovery = !Args.hasArg(OPT_fno_modules_error_recovery);
 2783   Opts.ImplicitModules = !Args.hasArg(OPT_fno_implicit_modules);
 2784   Opts.CharIsSigned = Opts.OpenCL || !Args.hasArg(OPT_fno_signed_char);
 2785   Opts.WChar = Opts.CPlusPlus && !Args.hasArg(OPT_fno_wchar);
 2786   Opts.Char8 = Args.hasFlag(OPT_fchar8__t, OPT_fno_char8__t, Opts.CPlusPlus2a);
 2787   if (const Arg *A = Args.getLastArg(OPT_fwchar_type_EQ)) {
 2796   Opts.WCharIsSigned = Args.hasFlag(OPT_fsigned_wchar, OPT_fno_signed_wchar, true);
 2797   Opts.ShortEnums = Args.hasArg(OPT_fshort_enums);
 2798   Opts.Freestanding = Args.hasArg(OPT_ffreestanding);
 2799   Opts.NoBuiltin = Args.hasArg(OPT_fno_builtin) || Opts.Freestanding;
 2801     getAllNoBuiltinFuncValues(Args, Opts.NoBuiltinFuncs);
 2802   Opts.NoMathBuiltin = Args.hasArg(OPT_fno_math_builtin);
 2804       Args.hasArg(OPT_frelaxed_template_template_args);
 2805   Opts.SizedDeallocation = Args.hasArg(OPT_fsized_deallocation);
 2807       Args.hasFlag(OPT_faligned_allocation, OPT_fno_aligned_allocation,
 2810       Opts.AlignedAllocation && Args.hasArg(OPT_aligned_alloc_unavailable);
 2812       getLastArgIntValue(Args, OPT_fnew_alignment_EQ, 0, Diags);
 2814     Arg *A = Args.getLastArg(OPT_fnew_alignment_EQ);
 2815     Diags.Report(diag::err_fe_invalid_alignment) << A->getAsString(Args)
 2819   Opts.ConceptsTS = Args.hasArg(OPT_fconcepts_ts);
 2820   Opts.HeinousExtensions = Args.hasArg(OPT_fheinous_gnu_extensions);
 2821   Opts.AccessControl = !Args.hasArg(OPT_fno_access_control);
 2822   Opts.ElideConstructors = !Args.hasArg(OPT_fno_elide_constructors);
 2823   Opts.MathErrno = !Opts.OpenCL && Args.hasArg(OPT_fmath_errno);
 2825       getLastArgIntValue(Args, OPT_ftemplate_depth, 1024, Diags);
 2827       getLastArgIntValue(Args, OPT_foperator_arrow_depth, 256, Diags);
 2829       getLastArgIntValue(Args, OPT_fconstexpr_depth, 512, Diags);
 2831       getLastArgIntValue(Args, OPT_fconstexpr_steps, 1048576, Diags);
 2833       Args.hasArg(OPT_fexperimental_new_constant_interpreter);
 2835       Args.hasArg(OPT_fforce_experimental_new_constant_interpreter);
 2836   Opts.BracketDepth = getLastArgIntValue(Args, OPT_fbracket_depth, 256, Diags);
 2837   Opts.DelayedTemplateParsing = Args.hasArg(OPT_fdelayed_template_parsing);
 2839       getLastArgIntValue(Args, OPT_Wlarge_by_value_copy_EQ, 0, Diags);
 2840   Opts.MSBitfields = Args.hasArg(OPT_mms_bitfields);
 2842     Args.getLastArgValue(OPT_fconstant_string_class);
 2844     !Args.hasArg(OPT_disable_objc_default_synthesize_properties);
 2846     Args.hasArg(OPT_fencode_extended_block_signature);
 2847   Opts.EmitAllDecls = Args.hasArg(OPT_femit_all_decls);
 2848   Opts.PackStruct = getLastArgIntValue(Args, OPT_fpack_struct_EQ, 0, Diags);
 2849   Opts.MaxTypeAlign = getLastArgIntValue(Args, OPT_fmax_type_align_EQ, 0, Diags);
 2850   Opts.AlignDouble = Args.hasArg(OPT_malign_double);
 2851   Opts.LongDoubleSize = Args.hasArg(OPT_mlong_double_128)
 2853                             : Args.hasArg(OPT_mlong_double_64) ? 64 : 0;
 2854   Opts.PPCIEEELongDouble = Args.hasArg(OPT_mabi_EQ_ieeelongdouble);
 2855   Opts.PICLevel = getLastArgIntValue(Args, OPT_pic_level, 0, Diags);
 2856   Opts.ROPI = Args.hasArg(OPT_fropi);
 2857   Opts.RWPI = Args.hasArg(OPT_frwpi);
 2858   Opts.PIE = Args.hasArg(OPT_pic_is_pie);
 2859   Opts.Static = Args.hasArg(OPT_static_define);
 2860   Opts.DumpRecordLayoutsSimple = Args.hasArg(OPT_fdump_record_layouts_simple);
 2862                         || Args.hasArg(OPT_fdump_record_layouts);
 2863   Opts.DumpVTableLayouts = Args.hasArg(OPT_fdump_vtable_layouts);
 2864   Opts.SpellChecking = !Args.hasArg(OPT_fno_spell_checking);
 2865   Opts.NoBitFieldTypeAlign = Args.hasArg(OPT_fno_bitfield_type_align);
 2866   Opts.SinglePrecisionConstants = Args.hasArg(OPT_cl_single_precision_constant);
 2867   Opts.FastRelaxedMath = Args.hasArg(OPT_cl_fast_relaxed_math);
 2868   Opts.HexagonQdsp6Compat = Args.hasArg(OPT_mqdsp6_compat);
 2869   Opts.FakeAddressSpaceMap = Args.hasArg(OPT_ffake_address_space_map);
 2870   Opts.ParseUnknownAnytype = Args.hasArg(OPT_funknown_anytype);
 2871   Opts.DebuggerSupport = Args.hasArg(OPT_fdebugger_support);
 2872   Opts.DebuggerCastResultToId = Args.hasArg(OPT_fdebugger_cast_result_to_id);
 2873   Opts.DebuggerObjCLiteral = Args.hasArg(OPT_fdebugger_objc_literal);
 2874   Opts.ApplePragmaPack = Args.hasArg(OPT_fapple_pragma_pack);
 2875   Opts.ModuleName = Args.getLastArgValue(OPT_fmodule_name_EQ);
 2877   Opts.AppExt = Args.hasArg(OPT_fapplication_extension);
 2878   Opts.ModuleFeatures = Args.getAllArgValues(OPT_fmodule_feature);
 2880   Opts.NativeHalfType |= Args.hasArg(OPT_fnative_half_type);
 2881   Opts.NativeHalfArgsAndReturns |= Args.hasArg(OPT_fnative_half_arguments_and_returns);
 2884   Opts.HalfArgsAndReturns = Args.hasArg(OPT_fallow_half_arguments_and_returns)
 2886   Opts.GNUAsm = !Args.hasArg(OPT_fno_gnu_inline_asm);
 2887   Opts.Cmse = Args.hasArg(OPT_mcmse); // Armv8-M Security Extensions
 2898       Args.hasFlag(OPT_fdeclspec, OPT_fno_declspec,
 2901   if (Arg *A = Args.getLastArg(OPT_faddress_space_map_mangling_EQ)) {
 2923   if (Arg *A = Args.getLastArg(OPT_fms_memptr_rep_EQ)) {
 2942   if (Arg *A = Args.getLastArg(OPT_fdefault_calling_conv_EQ)) {
 2971   if (Arg *A = Args.getLastArg(OPT_mrtd)) {
 2986   Opts.OpenMP = Args.hasArg(options::OPT_fopenmp) ? 45 : 0;
 2989       Args.hasFlag(options::OPT_fopenmp_simd, options::OPT_fno_openmp_simd,
 2993       Opts.OpenMP && !Args.hasArg(options::OPT_fnoopenmp_use_tls);
 2995       Opts.OpenMP && Args.hasArg(options::OPT_fopenmp_is_device);
 2997       Opts.OpenMPIsDevice || Args.hasArg(options::OPT_fopenmp_targets_EQ);
 3001             Args, OPT_fopenmp_version_EQ,
 3030         getLastArgIntValue(Args, options::OPT_fopenmp_cuda_number_of_sm_EQ,
 3033         getLastArgIntValue(Args, options::OPT_fopenmp_cuda_blocks_per_sm_EQ,
 3036         Args, options::OPT_fopenmp_cuda_teams_reduction_recs_num_EQ,
 3043       Args.hasArg(options::OPT_fopenmp_optimistic_collapse) ? 1 : 0;
 3046   if (Arg *A = Args.getLastArg(options::OPT_fopenmp_targets_EQ)) {
 3067   if (Arg *A = Args.getLastArg(options::OPT_fopenmp_host_ir_file_path)) {
 3074   Opts.SYCLIsDevice = Args.hasArg(options::OPT_fsycl_is_device);
 3078                         Args.hasArg(options::OPT_fopenmp_cuda_mode);
 3083       Args.hasArg(options::OPT_fopenmp_cuda_force_full_runtime);
 3086   Opts.Deprecated = Args.hasFlag(OPT_fdeprecated_macro,
 3091   unsigned Opt = getOptimizationLevel(Args, IK, Diags),
 3092        OptSize = getOptimizationLevelSize(Args);
 3100   if (Arg *InlineArg = Args.getLastArg(
 3106   Opts.FastMath = Args.hasArg(OPT_ffast_math) ||
 3107       Args.hasArg(OPT_cl_fast_relaxed_math);
 3108   Opts.FiniteMathOnly = Args.hasArg(OPT_ffinite_math_only) ||
 3109       Args.hasArg(OPT_cl_finite_math_only) ||
 3110       Args.hasArg(OPT_cl_fast_relaxed_math);
 3111   Opts.UnsafeFPMath = Args.hasArg(OPT_menable_unsafe_fp_math) ||
 3112                       Args.hasArg(OPT_cl_unsafe_math_optimizations) ||
 3113                       Args.hasArg(OPT_cl_fast_relaxed_math);
 3115   if (Arg *A = Args.getLastArg(OPT_ffp_contract)) {
 3124       Diags.Report(diag::err_drv_invalid_value) << A->getAsString(Args) << Val;
 3128       Args.hasArg(OPT_fretain_comments_from_system_headers);
 3130   unsigned SSP = getLastArgIntValue(Args, OPT_stack_protector, 0, Diags);
 3134       << Args.getLastArg(OPT_stack_protector)->getAsString(Args) << SSP;
 3134       << Args.getLastArg(OPT_stack_protector)->getAsString(Args) << SSP;
 3142   if (Arg *A = Args.getLastArg(OPT_ftrivial_auto_var_init)) {
 3152       Diags.Report(diag::err_drv_invalid_value) << A->getAsString(Args) << Val;
 3156   parseSanitizerKinds("-fsanitize=", Args.getAllArgValues(OPT_fsanitize_EQ),
 3160       getLastArgIntValue(Args, OPT_fsanitize_address_field_padding, 0, Diags);
 3161   Opts.SanitizerBlacklistFiles = Args.getAllArgValues(OPT_fsanitize_blacklist);
 3165       Args.hasFlag(OPT_fxray_instrument, OPT_fnoxray_instrument, false);
 3169       Args.hasFlag(OPT_fxray_always_emit_customevents,
 3174       Args.hasFlag(OPT_fxray_always_emit_typedevents,
 3179       Args.getAllArgValues(OPT_fxray_always_instrument);
 3181       Args.getAllArgValues(OPT_fxray_never_instrument);
 3182   Opts.XRayAttrListFiles = Args.getAllArgValues(OPT_fxray_attr_list);
 3185   Opts.ForceEmitVTables = Args.hasArg(OPT_fforce_emit_vtables);
 3188   Opts.AllowEditorPlaceholders = Args.hasArg(OPT_fallow_editor_placeholders);
 3190   Opts.RegisterStaticDestructors = !Args.hasArg(OPT_fno_cxx_static_destructors);
 3192   if (Arg *A = Args.getLastArg(OPT_fclang_abi_compat_EQ)) {
 3221           << A->getAsString(Args) << A->getValue();
 3225   Opts.CompleteMemberPointers = Args.hasArg(OPT_fcomplete_member_pointers);
 3226   Opts.BuildingPCHWithObjectFile = Args.hasArg(OPT_building_pch_with_obj);