Lines Matching defs:Builder

41 static void DefineBuiltinMacro(MacroBuilder &Builder, StringRef Macro,
57 Builder.defineMacro(MacroName, Twine(MacroBody) + "\\\n");
59 Builder.defineMacro(MacroName, MacroBody);
62 Builder.defineMacro(Macro);
70 static void AddImplicitInclude(MacroBuilder &Builder, StringRef File) {
71 Builder.append(Twine("#include \"") + File + "\"");
74 static void AddImplicitIncludeMacros(MacroBuilder &Builder, StringRef File) {
75 Builder.append(Twine("#__include_macros \"") + File + "\"");
77 Builder.append("##"); // ##?
82 static void AddImplicitIncludePCH(MacroBuilder &Builder, Preprocessor &PP,
91 AddImplicitInclude(Builder, OriginalFile);
114 static void DefineFloatMacros(MacroBuilder &Builder, StringRef Prefix,
150 Builder.defineMacro(DefPrefix + "DENORM_MIN__", Twine(DenormMin)+Ext);
151 Builder.defineMacro(DefPrefix + "NORM_MAX__", Twine(NormMax)+Ext);
152 Builder.defineMacro(DefPrefix + "HAS_DENORM__");
153 Builder.defineMacro(DefPrefix + "DIG__", Twine(Digits));
154 Builder.defineMacro(DefPrefix + "DECIMAL_DIG__", Twine(DecimalDigits));
155 Builder.defineMacro(DefPrefix + "EPSILON__", Twine(Epsilon)+Ext);
156 Builder.defineMacro(DefPrefix + "HAS_INFINITY__");
157 Builder.defineMacro(DefPrefix + "HAS_QUIET_NAN__");
158 Builder.defineMacro(DefPrefix + "MANT_DIG__", Twine(MantissaDigits));
160 Builder.defineMacro(DefPrefix + "MAX_10_EXP__", Twine(Max10Exp));
161 Builder.defineMacro(DefPrefix + "MAX_EXP__", Twine(MaxExp));
162 Builder.defineMacro(DefPrefix + "MAX__", Twine(Max)+Ext);
164 Builder.defineMacro(DefPrefix + "MIN_10_EXP__","("+Twine(Min10Exp)+")");
165 Builder.defineMacro(DefPrefix + "MIN_EXP__", "("+Twine(MinExp)+")");
166 Builder.defineMacro(DefPrefix + "MIN__", Twine(Min)+Ext);
175 MacroBuilder &Builder) {
178 Builder.defineMacro(MacroName, toString(MaxVal, 10, isSigned) + ValSuffix);
184 const TargetInfo &TI, MacroBuilder &Builder) {
186 TI.isTypeSigned(Ty), Builder);
191 MacroBuilder &Builder) {
194 Builder.defineMacro(Prefix + "_FMT" + Twine(Fmt) + "__",
207 MacroBuilder &Builder) {
208 Builder.defineMacro(MacroName, TargetInfo::getTypeName(Ty));
212 const TargetInfo &TI, MacroBuilder &Builder) {
213 Builder.defineMacro(MacroName, Twine(TI.getTypeWidth(Ty)));
217 const TargetInfo &TI, MacroBuilder &Builder) {
218 Builder.defineMacro(MacroName,
227 MacroBuilder &Builder) {
228 DefineTypeSize(Prefix + "_MAX__", Ty, TI, Builder);
229 DefineTypeWidth(Prefix + "_WIDTH__", Ty, TI, Builder);
235 MacroBuilder &Builder) {
251 DefineType(Prefix + Twine(TypeWidth) + "_TYPE__", Ty, Builder);
252 DefineFmt(LangOpts, Prefix + Twine(TypeWidth), Ty, TI, Builder);
255 Builder.defineMacro(Prefix + Twine(TypeWidth) + "_C_SUFFIX__", ConstSuffix);
256 Builder.defineMacro(Prefix + Twine(TypeWidth) + "_C(c)",
262 MacroBuilder &Builder) {
274 DefineTypeSize(Prefix + Twine(TypeWidth) + "_MAX__", Ty, TI, Builder);
280 MacroBuilder &Builder) {
286 DefineType(Prefix + Twine(TypeWidth) + "_TYPE__", Ty, Builder);
290 DefineTypeSizeAndWidth(Prefix + Twine(TypeWidth), Ty, TI, Builder);
292 DefineTypeSize(Prefix + Twine(TypeWidth) + "_MAX__", Ty, TI, Builder);
293 DefineFmt(LangOpts, Prefix + Twine(TypeWidth), Ty, TI, Builder);
298 MacroBuilder &Builder) {
306 DefineType(Prefix + Twine(TypeWidth) + "_TYPE__", Ty, Builder);
310 DefineTypeSizeAndWidth(Prefix + Twine(TypeWidth), Ty, TI, Builder);
312 DefineTypeSize(Prefix + Twine(TypeWidth) + "_MAX__", Ty, TI, Builder);
313 DefineFmt(LangOpts, Prefix + Twine(TypeWidth), Ty, TI, Builder);
334 MacroBuilder &Builder) {
335 Builder.defineMacro("_GLIBCXX_PREDEFINED_OBJC_ARC_IS_SCALAR");
385 Builder.append(Result);
391 MacroBuilder &Builder) {
393 Builder.defineMacro("__hlsl_clang");
395 Builder.defineMacro("__HLSL_VERSION",
399 Builder.defineMacro("__HLSL_ENABLE_16_BIT", "1");
403 Builder.defineMacro("__SHADER_STAGE_VERTEX",
405 Builder.defineMacro("__SHADER_STAGE_PIXEL",
407 Builder.defineMacro("__SHADER_STAGE_GEOMETRY",
409 Builder.defineMacro("__SHADER_STAGE_HULL",
411 Builder.defineMacro("__SHADER_STAGE_DOMAIN",
413 Builder.defineMacro("__SHADER_STAGE_COMPUTE",
415 Builder.defineMacro("__SHADER_STAGE_AMPLIFICATION",
417 Builder.defineMacro("__SHADER_STAGE_MESH",
419 Builder.defineMacro("__SHADER_STAGE_LIBRARY",
425 Builder.defineMacro("__SHADER_TARGET_STAGE", Twine(StageInteger));
429 Builder.defineMacro("__SHADER_TARGET_MAJOR", Twine(Version.getMajor()));
431 Builder.defineMacro("__SHADER_TARGET_MINOR", Twine(Minor));
444 Builder.defineMacro("__STDC__");
449 Builder.defineMacro("__STDC_HOSTED__", "0");
451 Builder.defineMacro("__STDC_HOSTED__");
459 Builder.defineMacro("__STDC_VERSION__", "202400L");
461 Builder.defineMacro("__STDC_VERSION__", "202311L");
463 Builder.defineMacro("__STDC_VERSION__", "201710L");
465 Builder.defineMacro("__STDC_VERSION__", "201112L");
467 Builder.defineMacro("__STDC_VERSION__", "199901L");
469 Builder.defineMacro("__STDC_VERSION__", "199409L");
474 Builder.defineMacro("__cplusplus", "202400L");
476 Builder.defineMacro("__cplusplus", "202302L");
479 Builder.defineMacro("__cplusplus", "202002L");
482 Builder.defineMacro("__cplusplus", "201703L");
486 Builder.defineMacro("__cplusplus", "201402L");
490 Builder.defineMacro("__cplusplus", "201103L");
494 Builder.defineMacro("__cplusplus", "199711L");
501 Builder.defineMacro("__STDCPP_DEFAULT_NEW_ALIGNMENT__",
509 Builder.defineMacro("__STDCPP_THREADS__", "1");
517 Builder.defineMacro("__STDC_UTF_16__", "1");
518 Builder.defineMacro("__STDC_UTF_32__", "1");
521 Builder.defineMacro("__STDC_EMBED_NOT_FOUND__",
523 Builder.defineMacro("__STDC_EMBED_FOUND__",
525 Builder.defineMacro("__STDC_EMBED_EMPTY__",
529 Builder.defineMacro("__OBJC__");
536 Builder.defineMacro("__OPENCL_CPP_VERSION__", "100");
539 Builder.defineMacro("__OPENCL_CPP_VERSION__", "202100");
544 Builder.defineMacro("__CL_CPP_VERSION_1_0__", "100");
545 Builder.defineMacro("__CL_CPP_VERSION_2021__", "202100");
556 Builder.defineMacro("__OPENCL_C_VERSION__", "100");
559 Builder.defineMacro("__OPENCL_C_VERSION__", "110");
562 Builder.defineMacro("__OPENCL_C_VERSION__", "120");
565 Builder.defineMacro("__OPENCL_C_VERSION__", "200");
568 Builder.defineMacro("__OPENCL_C_VERSION__", "300");
574 Builder.defineMacro("CL_VERSION_1_0", "100");
575 Builder.defineMacro("CL_VERSION_1_1", "110");
576 Builder.defineMacro("CL_VERSION_1_2", "120");
577 Builder.defineMacro("CL_VERSION_2_0", "200");
578 Builder.defineMacro("CL_VERSION_3_0", "300");
581 Builder.defineMacro("__ENDIAN_LITTLE__");
584 Builder.defineMacro("__FAST_RELAXED_MATH__");
590 Builder.defineMacro("CL_SYCL_LANGUAGE_VERSION", "121");
592 Builder.defineMacro("SYCL_LANGUAGE_VERSION", "202012L");
597 Builder.defineMacro("__ASSEMBLER__");
600 Builder.defineMacro("__CLANG_RDC__");
602 Builder.defineMacro("__CUDA__");
605 Builder.defineMacro("CUDA_API_PER_THREAD_DEFAULT_STREAM");
608 Builder.defineMacro("__HIP__");
609 Builder.defineMacro("__HIPCC__");
610 Builder.defineMacro("__HIP_MEMORY_SCOPE_SINGLETHREAD", "1");
611 Builder.defineMacro("__HIP_MEMORY_SCOPE_WAVEFRONT", "2");
612 Builder.defineMacro("__HIP_MEMORY_SCOPE_WORKGROUP", "3");
613 Builder.defineMacro("__HIP_MEMORY_SCOPE_AGENT", "4");
614 Builder.defineMacro("__HIP_MEMORY_SCOPE_SYSTEM", "5");
616 Builder.defineMacro("__HIPSTDPAR__");
618 Builder.defineMacro("__HIPSTDPAR_INTERPOSE_ALLOC__");
621 Builder.defineMacro("__HIP_DEVICE_COMPILE__");
623 Builder.defineMacro("__HIP_NO_IMAGE_SUPPORT__", "1");
625 Builder.defineMacro("__HIP_NO_IMAGE_SUPPORT", "1");
630 Builder.defineMacro("__HIP_API_PER_THREAD_DEFAULT_STREAM__");
632 Builder.defineMacro("HIP_API_PER_THREAD_DEFAULT_STREAM");
642 Builder.defineMacro("_OPENACC", LangOpts.OpenACCMacroOverride);
644 Builder.defineMacro("_OPENACC", "1");
651 MacroBuilder &Builder) {
654 Builder.defineMacro("__cpp_rtti", "199711L");
656 Builder.defineMacro("__cpp_exceptions", "199711L");
660 Builder.defineMacro("__cpp_unicode_characters", "200704L");
661 Builder.defineMacro("__cpp_raw_strings", "200710L");
662 Builder.defineMacro("__cpp_unicode_literals", "200710L");
663 Builder.defineMacro("__cpp_user_defined_literals", "200809L");
664 Builder.defineMacro("__cpp_lambdas", "200907L");
665 Builder.defineMacro("__cpp_constexpr", LangOpts.CPlusPlus26 ? "202406L"
671 Builder.defineMacro("__cpp_constexpr_in_decltype", "201711L");
672 Builder.defineMacro("__cpp_range_based_for",
678 Builder.defineMacro("__cpp_static_assert", "202306L");
679 Builder.defineMacro("__cpp_decltype", "200707L");
680 Builder.defineMacro("__cpp_attributes", "200809L");
681 Builder.defineMacro("__cpp_rvalue_references", "200610L");
682 Builder.defineMacro("__cpp_variadic_templates", "200704L");
683 Builder.defineMacro("__cpp_initializer_lists", "200806L");
684 Builder.defineMacro("__cpp_delegating_constructors", "200604L");
685 Builder.defineMacro("__cpp_nsdmi", "200809L");
686 Builder.defineMacro("__cpp_inheriting_constructors", "201511L");
687 Builder.defineMacro("__cpp_ref_qualifiers", "200710L");
688 Builder.defineMacro("__cpp_alias_templates", "200704L");
691 Builder.defineMacro("__cpp_threadsafe_static_init", "200806L");
695 Builder.defineMacro("__cpp_binary_literals", "201304L");
696 Builder.defineMacro("__cpp_digit_separators", "201309L");
697 Builder.defineMacro("__cpp_init_captures",
699 Builder.defineMacro("__cpp_generic_lambdas",
701 Builder.defineMacro("__cpp_decltype_auto", "201304L");
702 Builder.defineMacro("__cpp_return_type_deduction", "201304L");
703 Builder.defineMacro("__cpp_aggregate_nsdmi", "201304L");
704 Builder.defineMacro("__cpp_variable_templates", "201304L");
707 Builder.defineMacro("__cpp_sized_deallocation", "201309L");
711 Builder.defineMacro("__cpp_hex_float", "201603L");
712 Builder.defineMacro("__cpp_inline_variables", "201606L");
713 Builder.defineMacro("__cpp_noexcept_function_type", "201510L");
714 Builder.defineMacro("__cpp_capture_star_this", "201603L");
715 Builder.defineMacro("__cpp_if_constexpr", "201606L");
716 Builder.defineMacro("__cpp_deduction_guides", "201703L"); // (not latest)
717 Builder.defineMacro("__cpp_template_auto", "201606L"); // (old name)
718 Builder.defineMacro("__cpp_namespace_attributes", "201411L");
719 Builder.defineMacro("__cpp_enumerator_attributes", "201411L");
720 Builder.defineMacro("__cpp_nested_namespace_definitions", "201411L");
721 Builder.defineMacro("__cpp_variadic_using", "201611L");
722 Builder.defineMacro("__cpp_aggregate_bases", "201603L");
723 Builder.defineMacro("__cpp_structured_bindings", "202403L");
724 Builder.defineMacro("__cpp_nontype_template_args",
726 Builder.defineMacro("__cpp_fold_expressions", "201603L");
727 Builder.defineMacro("__cpp_guaranteed_copy_elision", "201606L");
728 Builder.defineMacro("__cpp_nontype_template_parameter_auto", "201606L");
731 Builder.defineMacro("__cpp_aligned_new", "201606L");
733 Builder.defineMacro("__cpp_template_template_args", "201611L");
737 Builder.defineMacro("__cpp_aggregate_paren_init", "201902L");
739 Builder.defineMacro("__cpp_concepts", "202002");
740 Builder.defineMacro("__cpp_conditional_explicit", "201806L");
741 Builder.defineMacro("__cpp_consteval", "202211L");
742 Builder.defineMacro("__cpp_constexpr_dynamic_alloc", "201907L");
743 Builder.defineMacro("__cpp_constinit", "201907L");
744 Builder.defineMacro("__cpp_impl_coroutine", "201902L");
745 Builder.defineMacro("__cpp_designated_initializers", "201707L");
746 Builder.defineMacro("__cpp_impl_three_way_comparison", "201907L");
747 //Builder.defineMacro("__cpp_modules", "201907L");
748 Builder.defineMacro("__cpp_using_enum", "201907L");
752 Builder.defineMacro("__cpp_implicit_move", "202207L");
753 Builder.defineMacro("__cpp_size_t_suffix", "202011L");
754 Builder.defineMacro("__cpp_if_consteval", "202106L");
755 Builder.defineMacro("__cpp_multidimensional_subscript", "202211L");
756 Builder.defineMacro("__cpp_auto_cast", "202110L");
757 Builder.defineMacro("__cpp_explicit_this_parameter", "202110L");
763 Builder.defineMacro("__cpp_static_call_operator", "202207L");
764 Builder.defineMacro("__cpp_named_character_escapes", "202207L");
765 Builder.defineMacro("__cpp_placeholder_variables", "202306L");
768 Builder.defineMacro("__cpp_pack_indexing", "202311L");
769 Builder.defineMacro("__cpp_deleted_function", "202403L");
770 Builder.defineMacro("__cpp_variadic_friend", "202403L");
773 Builder.defineMacro("__cpp_char8_t", "202207L");
774 Builder.defineMacro("__cpp_impl_destroying_delete", "201806L");
781 MacroBuilder &Builder) {
790 Builder.defineMacro(Name);
797 Builder.defineMacro("__opencl_c_int64");
828 void DefineFixedPointMacros(const TargetInfo &TI, MacroBuilder &Builder,
838 Builder.defineMacro(MacroPrefix + "_EPSILON__",
841 Builder.defineMacro(MacroPrefix + "_FBIT__", Twine(Scale));
842 Builder.defineMacro(
849 Builder.defineMacro(
858 MacroBuilder &Builder) {
860 Builder.defineMacro("__llvm__"); // LLVM Backend
861 Builder.defineMacro("__clang__"); // Clang Frontend
864 Builder.defineMacro("__clang_major__", TOSTR(CLANG_VERSION_MAJOR));
865 Builder.defineMacro("__clang_minor__", TOSTR(CLANG_VERSION_MINOR));
866 Builder.defineMacro("__clang_patchlevel__", TOSTR(CLANG_VERSION_PATCHLEVEL));
869 Builder.defineMacro("__clang_version__",
879 Builder.defineMacro("__GNUC__", Twine(GNUCMajor));
880 Builder.defineMacro("__GNUC_MINOR__", Twine(GNUCMinor));
881 Builder.defineMacro("__GNUC_PATCHLEVEL__", Twine(GNUCPatch));
882 Builder.defineMacro("__GXX_ABI_VERSION", "1002");
885 Builder.defineMacro("__GNUG__", Twine(GNUCMajor));
886 Builder.defineMacro("__GXX_WEAK__");
891 Builder.defineMacro("__ATOMIC_RELAXED", "0");
892 Builder.defineMacro("__ATOMIC_CONSUME", "1");
893 Builder.defineMacro("__ATOMIC_ACQUIRE", "2");
894 Builder.defineMacro("__ATOMIC_RELEASE", "3");
895 Builder.defineMacro("__ATOMIC_ACQ_REL", "4");
896 Builder.defineMacro("__ATOMIC_SEQ_CST", "5");
899 Builder.defineMacro("__MEMORY_SCOPE_SYSTEM", "0");
900 Builder.defineMacro("__MEMORY_SCOPE_DEVICE", "1");
901 Builder.defineMacro("__MEMORY_SCOPE_WRKGRP", "2");
902 Builder.defineMacro("__MEMORY_SCOPE_WVFRNT", "3");
903 Builder.defineMacro("__MEMORY_SCOPE_SINGLE", "4");
913 Builder.defineMacro("__OPENCL_MEMORY_SCOPE_WORK_ITEM", "0");
914 Builder.defineMacro("__OPENCL_MEMORY_SCOPE_WORK_GROUP", "1");
915 Builder.defineMacro("__OPENCL_MEMORY_SCOPE_DEVICE", "2");
916 Builder.defineMacro("__OPENCL_MEMORY_SCOPE_ALL_SVM_DEVICES", "3");
917 Builder.defineMacro("__OPENCL_MEMORY_SCOPE_SUB_GROUP", "4");
920 Builder.defineMacro("__FPCLASS_SNAN", "0x0001");
921 Builder.defineMacro("__FPCLASS_QNAN", "0x0002");
922 Builder.defineMacro("__FPCLASS_NEGINF", "0x0004");
923 Builder.defineMacro("__FPCLASS_NEGNORMAL", "0x0008");
924 Builder.defineMacro("__FPCLASS_NEGSUBNORMAL", "0x0010");
925 Builder.defineMacro("__FPCLASS_NEGZERO", "0x0020");
926 Builder.defineMacro("__FPCLASS_POSZERO", "0x0040");
927 Builder.defineMacro("__FPCLASS_POSSUBNORMAL", "0x0080");
928 Builder.defineMacro("__FPCLASS_POSNORMAL", "0x0100");
929 Builder.defineMacro("__FPCLASS_POSINF", "0x0200");
932 Builder.defineMacro("__PRAGMA_REDEFINE_EXTNAME", "1");
936 Builder.defineMacro("__VERSION__", "\"" +
943 Builder.defineMacro("__STRICT_ANSI__");
946 Builder.defineMacro("__GXX_EXPERIMENTAL_CXX0X__");
951 Builder.defineMacro("__GXX_TYPEINFO_EQUALITY_INLINE", "0");
956 Builder.defineMacro("__OBJC2__");
959 Builder.defineMacro("OBJC_ZEROCOST_EXCEPTIONS");
963 Builder.defineMacro("__OBJC_GC__");
966 Builder.defineMacro("__NEXT_RUNTIME__");
975 Builder.defineMacro("__OBJC_GNUSTEP_RUNTIME_ABI__", "20");
977 Builder.defineMacro(
986 Builder.defineMacro("__OBJFW_RUNTIME_ABI__",
991 Builder.defineMacro("IBOutlet", "__attribute__((iboutlet))");
992 Builder.defineMacro("IBOutletCollection(ClassName)",
994 Builder.defineMacro("IBAction", "void)__attribute__((ibaction)");
995 Builder.defineMacro("IBInspectable", "");
996 Builder.defineMacro("IB_DESIGNABLE", "");
1001 Builder.defineMacro("__OBJC_BOOL_IS_BOOL",
1005 InitializeCPlusPlusFeatureTestMacros(LangOpts, Builder);
1010 Builder.defineMacro("__CONSTANT_CFSTRINGS__");
1013 Builder.defineMacro("OBJC_NEW_PROPERTIES");
1016 Builder.defineMacro("__PASCAL_STRINGS__");
1019 Builder.defineMacro("__block", "__attribute__((__blocks__(byref)))");
1020 Builder.defineMacro("__BLOCKS__");
1024 Builder.defineMacro("__EXCEPTIONS");
1026 Builder.defineMacro("__GXX_RTTI");
1029 Builder.defineMacro("__USING_SJLJ_EXCEPTIONS__");
1031 Builder.defineMacro("__SEH__");
1034 Builder.defineMacro("__ARM_DWARF_EH__");
1036 Builder.defineMacro("__WASM_EXCEPTIONS__");
1039 Builder.defineMacro("__DEPRECATED");
1042 Builder.defineMacro("__private_extern__", "extern");
1047 Builder.defineMacro("_WCHAR_T_DEFINED");
1048 Builder.defineMacro("_NATIVE_WCHAR_T_DEFINED");
1055 Builder.defineMacro("__clang_literal_encoding__", "\"UTF-8\"");
1059 Builder.defineMacro("__clang_wide_literal_encoding__", "\"UTF-32\"");
1064 Builder.defineMacro("__clang_wide_literal_encoding__", "\"UTF-16\"");
1068 Builder.defineMacro("__OPTIMIZE__");
1070 Builder.defineMacro("__OPTIMIZE_SIZE__");
1073 Builder.defineMacro("__FAST_MATH__");
1082 Builder.defineMacro("__ORDER_LITTLE_ENDIAN__", "1234");
1083 Builder.defineMacro("__ORDER_BIG_ENDIAN__", "4321");
1084 Builder.defineMacro("__ORDER_PDP_ENDIAN__", "3412");
1086 Builder.defineMacro("__BYTE_ORDER__", "__ORDER_BIG_ENDIAN__");
1087 Builder.defineMacro("__BIG_ENDIAN__");
1089 Builder.defineMacro("__BYTE_ORDER__", "__ORDER_LITTLE_ENDIAN__");
1090 Builder.defineMacro("__LITTLE_ENDIAN__");
1095 Builder.defineMacro("_LP64");
1096 Builder.defineMacro("__LP64__");
1101 Builder.defineMacro("_ILP32");
1102 Builder.defineMacro("__ILP32__");
1107 Builder.defineMacro("__CHAR_BIT__", Twine(TI.getCharWidth()));
1117 Builder.defineMacro("__BOOL_WIDTH__", "1");
1118 Builder.defineMacro("__SHRT_WIDTH__", Twine(TI.getShortWidth()));
1119 Builder.defineMacro("__INT_WIDTH__", Twine(TI.getIntWidth()));
1120 Builder.defineMacro("__LONG_WIDTH__", Twine(TI.getLongWidth()));
1121 Builder.defineMacro("__LLONG_WIDTH__", Twine(TI.getLongLongWidth()));
1128 Builder.defineMacro("__BITINT_MAXWIDTH__", Twine(BitIntMaxWidth));
1130 DefineTypeSize("__SCHAR_MAX__", TargetInfo::SignedChar, TI, Builder);
1131 DefineTypeSize("__SHRT_MAX__", TargetInfo::SignedShort, TI, Builder);
1132 DefineTypeSize("__INT_MAX__", TargetInfo::SignedInt, TI, Builder);
1133 DefineTypeSize("__LONG_MAX__", TargetInfo::SignedLong, TI, Builder);
1134 DefineTypeSize("__LONG_LONG_MAX__", TargetInfo::SignedLongLong, TI, Builder);
1135 DefineTypeSizeAndWidth("__WCHAR", TI.getWCharType(), TI, Builder);
1136 DefineTypeSizeAndWidth("__WINT", TI.getWIntType(), TI, Builder);
1137 DefineTypeSizeAndWidth("__INTMAX", TI.getIntMaxType(), TI, Builder);
1138 DefineTypeSizeAndWidth("__SIZE", TI.getSizeType(), TI, Builder);
1140 DefineTypeSizeAndWidth("__UINTMAX", TI.getUIntMaxType(), TI, Builder);
1142 Builder);
1143 DefineTypeSizeAndWidth("__INTPTR", TI.getIntPtrType(), TI, Builder);
1144 DefineTypeSizeAndWidth("__UINTPTR", TI.getUIntPtrType(), TI, Builder);
1146 DefineTypeSizeof("__SIZEOF_DOUBLE__", TI.getDoubleWidth(), TI, Builder);
1147 DefineTypeSizeof("__SIZEOF_FLOAT__", TI.getFloatWidth(), TI, Builder);
1148 DefineTypeSizeof("__SIZEOF_INT__", TI.getIntWidth(), TI, Builder);
1149 DefineTypeSizeof("__SIZEOF_LONG__", TI.getLongWidth(), TI, Builder);
1150 DefineTypeSizeof("__SIZEOF_LONG_DOUBLE__",TI.getLongDoubleWidth(),TI,Builder);
1151 DefineTypeSizeof("__SIZEOF_LONG_LONG__", TI.getLongLongWidth(), TI, Builder);
1153 TI, Builder);
1154 DefineTypeSizeof("__SIZEOF_SHORT__", TI.getShortWidth(), TI, Builder);
1157 Builder);
1159 TI.getTypeWidth(TI.getSizeType()), TI, Builder);
1161 TI.getTypeWidth(TI.getWCharType()), TI, Builder);
1163 TI.getTypeWidth(TI.getWIntType()), TI, Builder);
1165 DefineTypeSizeof("__SIZEOF_INT128__", 128, TI, Builder);
1167 DefineType("__INTMAX_TYPE__", TI.getIntMaxType(), Builder);
1168 DefineFmt(LangOpts, "__INTMAX", TI.getIntMaxType(), TI, Builder);
1170 Builder.defineMacro("__INTMAX_C_SUFFIX__", ConstSuffix);
1171 Builder.defineMacro("__INTMAX_C(c)",
1173 DefineType("__UINTMAX_TYPE__", TI.getUIntMaxType(), Builder);
1174 DefineFmt(LangOpts, "__UINTMAX", TI.getUIntMaxType(), TI, Builder);
1176 Builder.defineMacro("__UINTMAX_C_SUFFIX__", ConstSuffix);
1177 Builder.defineMacro("__UINTMAX_C(c)",
1179 DefineType("__PTRDIFF_TYPE__", TI.getPtrDiffType(LangAS::Default), Builder);
1181 Builder);
1182 DefineType("__INTPTR_TYPE__", TI.getIntPtrType(), Builder);
1183 DefineFmt(LangOpts, "__INTPTR", TI.getIntPtrType(), TI, Builder);
1184 DefineType("__SIZE_TYPE__", TI.getSizeType(), Builder);
1185 DefineFmt(LangOpts, "__SIZE", TI.getSizeType(), TI, Builder);
1186 DefineType("__WCHAR_TYPE__", TI.getWCharType(), Builder);
1187 DefineType("__WINT_TYPE__", TI.getWIntType(), Builder);
1188 DefineTypeSizeAndWidth("__SIG_ATOMIC", TI.getSigAtomicType(), TI, Builder);
1190 DefineType("__CHAR8_TYPE__", TI.UnsignedChar, Builder);
1191 DefineType("__CHAR16_TYPE__", TI.getChar16Type(), Builder);
1192 DefineType("__CHAR32_TYPE__", TI.getChar32Type(), Builder);
1194 DefineType("__UINTPTR_TYPE__", TI.getUIntPtrType(), Builder);
1195 DefineFmt(LangOpts, "__UINTPTR", TI.getUIntPtrType(), TI, Builder);
1208 DefineFixedPointMacros(TI, Builder, "SFRACT", "HR", TI.getShortFractWidth(),
1210 DefineFixedPointMacros(TI, Builder, "USFRACT", "UHR",
1213 DefineFixedPointMacros(TI, Builder, "FRACT", "R", TI.getFractWidth(),
1215 DefineFixedPointMacros(TI, Builder, "UFRACT", "UR", TI.getFractWidth(),
1217 DefineFixedPointMacros(TI, Builder, "LFRACT", "LR", TI.getLongFractWidth(),
1219 DefineFixedPointMacros(TI, Builder, "ULFRACT", "ULR",
1222 DefineFixedPointMacros(TI, Builder, "SACCUM", "HK", TI.getShortAccumWidth(),
1224 DefineFixedPointMacros(TI, Builder, "USACCUM", "UHK",
1227 DefineFixedPointMacros(TI, Builder, "ACCUM", "K", TI.getAccumWidth(),
1229 DefineFixedPointMacros(TI, Builder, "UACCUM", "UK", TI.getAccumWidth(),
1231 DefineFixedPointMacros(TI, Builder, "LACCUM", "LK", TI.getLongAccumWidth(),
1233 DefineFixedPointMacros(TI, Builder, "ULACCUM", "ULK",
1237 Builder.defineMacro("__SACCUM_IBIT__", Twine(TI.getShortAccumIBits()));
1238 Builder.defineMacro("__USACCUM_IBIT__",
1240 Builder.defineMacro("__ACCUM_IBIT__", Twine(TI.getAccumIBits()));
1241 Builder.defineMacro("__UACCUM_IBIT__", Twine(TI.getUnsignedAccumIBits()));
1242 Builder.defineMacro("__LACCUM_IBIT__", Twine(TI.getLongAccumIBits()));
1243 Builder.defineMacro("__ULACCUM_IBIT__",
1248 DefineFloatMacros(Builder, "FLT16", &TI.getHalfFormat(), "F16");
1249 DefineFloatMacros(Builder, "FLT", &TI.getFloatFormat(), "F");
1250 DefineFloatMacros(Builder, "DBL", &TI.getDoubleFormat(), "");
1251 DefineFloatMacros(Builder, "LDBL", &TI.getLongDoubleFormat(), "L");
1254 Builder.defineMacro("__POINTER_WIDTH__",
1258 Builder.defineMacro("__BIGGEST_ALIGNMENT__",
1262 Builder.defineMacro("__CHAR_UNSIGNED__");
1265 Builder.defineMacro("__WCHAR_UNSIGNED__");
1268 Builder.defineMacro("__WINT_UNSIGNED__");
1271 DefineExactWidthIntType(LangOpts, TargetInfo::SignedChar, TI, Builder);
1274 DefineExactWidthIntType(LangOpts, TargetInfo::SignedShort, TI, Builder);
1277 DefineExactWidthIntType(LangOpts, TargetInfo::SignedInt, TI, Builder);
1280 DefineExactWidthIntType(LangOpts, TargetInfo::SignedLong, TI, Builder);
1283 DefineExactWidthIntType(LangOpts, TargetInfo::SignedLongLong, TI, Builder);
1285 DefineExactWidthIntType(LangOpts, TargetInfo::UnsignedChar, TI, Builder);
1286 DefineExactWidthIntTypeSize(TargetInfo::UnsignedChar, TI, Builder);
1287 DefineExactWidthIntTypeSize(TargetInfo::SignedChar, TI, Builder);
1290 DefineExactWidthIntType(LangOpts, TargetInfo::UnsignedShort, TI, Builder);
1291 DefineExactWidthIntTypeSize(TargetInfo::UnsignedShort, TI, Builder);
1292 DefineExactWidthIntTypeSize(TargetInfo::SignedShort, TI, Builder);
1296 DefineExactWidthIntType(LangOpts, TargetInfo::UnsignedInt, TI, Builder);
1297 DefineExactWidthIntTypeSize(TargetInfo::UnsignedInt, TI, Builder);
1298 DefineExactWidthIntTypeSize(TargetInfo::SignedInt, TI, Builder);
1302 DefineExactWidthIntType(LangOpts, TargetInfo::UnsignedLong, TI, Builder);
1303 DefineExactWidthIntTypeSize(TargetInfo::UnsignedLong, TI, Builder);
1304 DefineExactWidthIntTypeSize(TargetInfo::SignedLong, TI, Builder);
1309 Builder);
1310 DefineExactWidthIntTypeSize(TargetInfo::UnsignedLongLong, TI, Builder);
1311 DefineExactWidthIntTypeSize(TargetInfo::SignedLongLong, TI, Builder);
1314 DefineLeastWidthIntType(LangOpts, 8, true, TI, Builder);
1315 DefineLeastWidthIntType(LangOpts, 8, false, TI, Builder);
1316 DefineLeastWidthIntType(LangOpts, 16, true, TI, Builder);
1317 DefineLeastWidthIntType(LangOpts, 16, false, TI, Builder);
1318 DefineLeastWidthIntType(LangOpts, 32, true, TI, Builder);
1319 DefineLeastWidthIntType(LangOpts, 32, false, TI, Builder);
1320 DefineLeastWidthIntType(LangOpts, 64, true, TI, Builder);
1321 DefineLeastWidthIntType(LangOpts, 64, false, TI, Builder);
1323 DefineFastIntType(LangOpts, 8, true, TI, Builder);
1324 DefineFastIntType(LangOpts, 8, false, TI, Builder);
1325 DefineFastIntType(LangOpts, 16, true, TI, Builder);
1326 DefineFastIntType(LangOpts, 16, false, TI, Builder);
1327 DefineFastIntType(LangOpts, 32, true, TI, Builder);
1328 DefineFastIntType(LangOpts, 32, false, TI, Builder);
1329 DefineFastIntType(LangOpts, 64, true, TI, Builder);
1330 DefineFastIntType(LangOpts, 64, false, TI, Builder);
1332 Builder.defineMacro("__USER_LABEL_PREFIX__", TI.getUserLabelPrefix());
1335 Builder.defineMacro("__NO_MATH_ERRNO__");
1338 Builder.defineMacro("__FINITE_MATH_ONLY__", "1");
1340 Builder.defineMacro("__FINITE_MATH_ONLY__", "0");
1344 Builder.defineMacro("__GNUC_GNU_INLINE__");
1346 Builder.defineMacro("__GNUC_STDC_INLINE__");
1350 Builder.defineMacro("__GCC_ATOMIC_TEST_AND_SET_TRUEVAL", "1");
1356 Builder.defineMacro("__GCC_DESTRUCTIVE_SIZE", Twine(Destructive));
1357 Builder.defineMacro("__GCC_CONSTRUCTIVE_SIZE", Twine(Constructive));
1360 Builder.append("#pragma push_macro(\"__GCC_DESTRUCTIVE_SIZE\")");
1361 Builder.append("#pragma push_macro(\"__GCC_CONSTRUCTIVE_SIZE\")");
1366 Builder.defineMacro(Prefix + #TYPE "_LOCK_FREE", \
1381 Builder.defineMacro(
1391 Builder.defineMacro("__NO_INLINE__");
1394 Builder.defineMacro("__PIC__", Twine(PICLevel));
1395 Builder.defineMacro("__pic__", Twine(PICLevel));
1397 Builder.defineMacro("__PIE__", Twine(PICLevel));
1398 Builder.defineMacro("__pie__", Twine(PICLevel));
1403 Builder.defineMacro("__FLT_RADIX__", "2");
1404 Builder.defineMacro("__DECIMAL_DIG__", "__LDBL_DECIMAL_DIG__");
1407 Builder.defineMacro("__SSP__");
1409 Builder.defineMacro("__SSP_STRONG__", "2");
1411 Builder.defineMacro("__SSP_ALL__", "3");
1414 Builder.defineMacro("__clang_analyzer__");
1417 Builder.defineMacro("__FAST_RELAXED_MATH__");
1421 Builder.defineMacro("__weak", "__attribute__((objc_gc(weak)))");
1422 Builder.defineMacro("__strong", "__attribute__((objc_gc(strong)))");
1423 Builder.defineMacro("__autoreleasing", "");
1424 Builder.defineMacro("__unsafe_unretained", "");
1426 Builder.defineMacro("__weak", "__attribute__((objc_ownership(weak)))");
1427 Builder.defineMacro("__strong", "__attribute__((objc_ownership(strong)))");
1428 Builder.defineMacro("__autoreleasing",
1430 Builder.defineMacro("__unsafe_unretained",
1437 Builder.defineMacro("__nonnull", "_Nonnull");
1438 Builder.defineMacro("__null_unspecified", "_Null_unspecified");
1439 Builder.defineMacro("__nullable", "_Nullable");
1445 Builder.defineMacro("__APPLE_EMBEDDED_SIMULATOR__", "1");
1458 Builder.defineMacro("_OPENMP", "201107");
1461 Builder.defineMacro("_OPENMP", "201307");
1464 Builder.defineMacro("_OPENMP", "201511");
1467 Builder.defineMacro("_OPENMP", "201811");
1470 Builder.defineMacro("_OPENMP", "202011");
1473 Builder.defineMacro("_OPENMP", "202111");
1476 Builder.defineMacro("_OPENMP", "202411");
1480 Builder.defineMacro("_OPENMP", "202011");
1489 Builder.defineMacro("__CUDA_ARCH__");
1495 Builder.defineMacro("__CLANG_GPU_APPROX_TRANSCENDENTALS__");
1500 Builder.defineMacro("__SYCL_DEVICE_ONLY__", "1");
1505 InitializeOpenCLFeatureTestMacros(TI, LangOpts, Builder);
1508 Builder.defineMacro("__IMAGE_SUPPORT__");
1515 Builder.defineMacro("__GLIBCXX_TYPE_INT_N_0", "__int128");
1516 Builder.defineMacro("__GLIBCXX_BITSIZE_INT_N_0", "128");
1521 Builder.defineMacro("__ELF__");
1527 Builder.defineMacro(#Name, (Predicate) ? "1" : "0");
1533 TI.getTargetDefines(LangOpts, Builder);
1537 MacroBuilder &Builder) {
1539 Builder.defineMacro("__LLVM_INSTR_PROFILE_GENERATE");
1542 Builder.defineMacro("__LLVM_INSTR_PROFILE_USE");
1556 MacroBuilder Builder(Predefines);
1561 Builder.append("# 1 \"<built-in>\" 3");
1571 PP.getPreprocessorOpts(), Builder);
1574 PP.getPreprocessorOpts(), Builder);
1586 AddObjCXXARCLibstdcxxDefines(LangOpts, Builder);
1596 FEOpts, Builder);
1601 InitializePGOProfileMacros(CodeGenOpts, Builder);
1605 Builder.append("# 1 \"<command line>\" 1");
1610 Builder.undefineMacro(InitOpts.Macros[i].first);
1612 DefineBuiltinMacro(Builder, InitOpts.Macros[i].first,
1617 Builder.append("# 1 \"<built-in>\" 2");
1622 AddImplicitIncludeMacros(Builder, InitOpts.MacroIncludes[i]);
1626 AddImplicitIncludePCH(Builder, PP, PCHContainerRdr,
1632 AddImplicitInclude(Builder, Path);