Lines Matching full:builder
42 static void DefineBuiltinMacro(MacroBuilder &Builder, StringRef Macro, in DefineBuiltinMacro() argument
58 Builder.defineMacro(MacroName, Twine(MacroBody) + "\\\n"); in DefineBuiltinMacro()
60 Builder.defineMacro(MacroName, MacroBody); in DefineBuiltinMacro()
63 Builder.defineMacro(Macro); in DefineBuiltinMacro()
71 static void AddImplicitInclude(MacroBuilder &Builder, StringRef File) { in AddImplicitInclude() argument
72 Builder.append(Twine("#include \"") + File + "\""); in AddImplicitInclude()
75 static void AddImplicitIncludeMacros(MacroBuilder &Builder, StringRef File) { in AddImplicitIncludeMacros() argument
76 Builder.append(Twine("#__include_macros \"") + File + "\""); in AddImplicitIncludeMacros()
78 Builder.append("##"); // ##? in AddImplicitIncludeMacros()
83 static void AddImplicitIncludePTH(MacroBuilder &Builder, Preprocessor &PP, in AddImplicitIncludePTH() argument
95 AddImplicitInclude(Builder, OriginalFile); in AddImplicitIncludePTH()
100 static void AddImplicitIncludePCH(MacroBuilder &Builder, Preprocessor &PP, in AddImplicitIncludePCH() argument
109 AddImplicitInclude(Builder, OriginalFile); in AddImplicitIncludePCH()
130 static void DefineFloatMacros(MacroBuilder &Builder, StringRef Prefix, in DefineFloatMacros() argument
162 Builder.defineMacro(DefPrefix + "DENORM_MIN__", Twine(DenormMin)+Ext); in DefineFloatMacros()
163 Builder.defineMacro(DefPrefix + "HAS_DENORM__"); in DefineFloatMacros()
164 Builder.defineMacro(DefPrefix + "DIG__", Twine(Digits)); in DefineFloatMacros()
165 Builder.defineMacro(DefPrefix + "DECIMAL_DIG__", Twine(DecimalDigits)); in DefineFloatMacros()
166 Builder.defineMacro(DefPrefix + "EPSILON__", Twine(Epsilon)+Ext); in DefineFloatMacros()
167 Builder.defineMacro(DefPrefix + "HAS_INFINITY__"); in DefineFloatMacros()
168 Builder.defineMacro(DefPrefix + "HAS_QUIET_NAN__"); in DefineFloatMacros()
169 Builder.defineMacro(DefPrefix + "MANT_DIG__", Twine(MantissaDigits)); in DefineFloatMacros()
171 Builder.defineMacro(DefPrefix + "MAX_10_EXP__", Twine(Max10Exp)); in DefineFloatMacros()
172 Builder.defineMacro(DefPrefix + "MAX_EXP__", Twine(MaxExp)); in DefineFloatMacros()
173 Builder.defineMacro(DefPrefix + "MAX__", Twine(Max)+Ext); in DefineFloatMacros()
175 Builder.defineMacro(DefPrefix + "MIN_10_EXP__","("+Twine(Min10Exp)+")"); in DefineFloatMacros()
176 Builder.defineMacro(DefPrefix + "MIN_EXP__", "("+Twine(MinExp)+")"); in DefineFloatMacros()
177 Builder.defineMacro(DefPrefix + "MIN__", Twine(Min)+Ext); in DefineFloatMacros()
186 MacroBuilder &Builder) { in DefineTypeSize() argument
189 Builder.defineMacro(MacroName, MaxVal.toString(10, isSigned) + ValSuffix); in DefineTypeSize()
195 const TargetInfo &TI, MacroBuilder &Builder) { in DefineTypeSize() argument
197 TI.isTypeSigned(Ty), Builder); in DefineTypeSize()
201 const TargetInfo &TI, MacroBuilder &Builder) { in DefineFmt() argument
205 Builder.defineMacro(Prefix + "_FMT" + Twine(*Fmt) + "__", in DefineFmt()
211 MacroBuilder &Builder) { in DefineType() argument
212 Builder.defineMacro(MacroName, TargetInfo::getTypeName(Ty)); in DefineType()
216 const TargetInfo &TI, MacroBuilder &Builder) { in DefineTypeWidth() argument
217 Builder.defineMacro(MacroName, Twine(TI.getTypeWidth(Ty))); in DefineTypeWidth()
221 const TargetInfo &TI, MacroBuilder &Builder) { in DefineTypeSizeof() argument
222 Builder.defineMacro(MacroName, in DefineTypeSizeof()
228 MacroBuilder &Builder) { in DefineExactWidthIntType() argument
239 DefineType(Prefix + Twine(TypeWidth) + "_TYPE__", Ty, Builder); in DefineExactWidthIntType()
240 DefineFmt(Prefix + Twine(TypeWidth), Ty, TI, Builder); in DefineExactWidthIntType()
243 Builder.defineMacro(Prefix + Twine(TypeWidth) + "_C_SUFFIX__", ConstSuffix); in DefineExactWidthIntType()
248 MacroBuilder &Builder) { in DefineExactWidthIntTypeSize() argument
258 DefineTypeSize(Prefix + Twine(TypeWidth) + "_MAX__", Ty, TI, Builder); in DefineExactWidthIntTypeSize()
263 MacroBuilder &Builder) { in DefineLeastWidthIntType() argument
269 DefineType(Prefix + Twine(TypeWidth) + "_TYPE__", Ty, Builder); in DefineLeastWidthIntType()
270 DefineTypeSize(Prefix + Twine(TypeWidth) + "_MAX__", Ty, TI, Builder); in DefineLeastWidthIntType()
271 DefineFmt(Prefix + Twine(TypeWidth), Ty, TI, Builder); in DefineLeastWidthIntType()
275 const TargetInfo &TI, MacroBuilder &Builder) { in DefineFastIntType() argument
283 DefineType(Prefix + Twine(TypeWidth) + "_TYPE__", Ty, Builder); in DefineFastIntType()
284 DefineTypeSize(Prefix + Twine(TypeWidth) + "_MAX__", Ty, TI, Builder); in DefineFastIntType()
286 DefineFmt(Prefix + Twine(TypeWidth), Ty, TI, Builder); in DefineFastIntType()
307 MacroBuilder &Builder) { in AddObjCXXARCLibstdcxxDefines() argument
308 Builder.defineMacro("_GLIBCXX_PREDEFINED_OBJC_ARC_IS_SCALAR"); in AddObjCXXARCLibstdcxxDefines()
358 Builder.append(Result); in AddObjCXXARCLibstdcxxDefines()
364 MacroBuilder &Builder) { in InitializeStandardPredefinedMacros() argument
366 Builder.defineMacro("__STDC__"); in InitializeStandardPredefinedMacros()
368 Builder.defineMacro("__STDC_HOSTED__", "0"); in InitializeStandardPredefinedMacros()
370 Builder.defineMacro("__STDC_HOSTED__"); in InitializeStandardPredefinedMacros()
374 Builder.defineMacro("__STDC_VERSION__", "201112L"); in InitializeStandardPredefinedMacros()
376 Builder.defineMacro("__STDC_VERSION__", "199901L"); in InitializeStandardPredefinedMacros()
378 Builder.defineMacro("__STDC_VERSION__", "199409L"); in InitializeStandardPredefinedMacros()
382 Builder.defineMacro("__cplusplus", "201406L"); in InitializeStandardPredefinedMacros()
387 Builder.defineMacro("__cplusplus", "201402L"); in InitializeStandardPredefinedMacros()
392 Builder.defineMacro("__cplusplus", "201103L"); in InitializeStandardPredefinedMacros()
397 Builder.defineMacro("__cplusplus", "199711L"); in InitializeStandardPredefinedMacros()
405 Builder.defineMacro("__STDC_UTF_16__", "1"); in InitializeStandardPredefinedMacros()
406 Builder.defineMacro("__STDC_UTF_32__", "1"); in InitializeStandardPredefinedMacros()
409 Builder.defineMacro("__OBJC__"); in InitializeStandardPredefinedMacros()
422 Builder.defineMacro("__OPENCL_C_VERSION__", "100"); in InitializeStandardPredefinedMacros()
425 Builder.defineMacro("__OPENCL_C_VERSION__", "110"); in InitializeStandardPredefinedMacros()
428 Builder.defineMacro("__OPENCL_C_VERSION__", "120"); in InitializeStandardPredefinedMacros()
431 Builder.defineMacro("__OPENCL_C_VERSION__", "200"); in InitializeStandardPredefinedMacros()
436 Builder.defineMacro("CL_VERSION_1_0", "100"); in InitializeStandardPredefinedMacros()
437 Builder.defineMacro("CL_VERSION_1_1", "110"); in InitializeStandardPredefinedMacros()
438 Builder.defineMacro("CL_VERSION_1_2", "120"); in InitializeStandardPredefinedMacros()
439 Builder.defineMacro("CL_VERSION_2_0", "200"); in InitializeStandardPredefinedMacros()
442 Builder.defineMacro("__FAST_RELAXED_MATH__"); in InitializeStandardPredefinedMacros()
446 Builder.defineMacro("__ASSEMBLER__"); in InitializeStandardPredefinedMacros()
448 Builder.defineMacro("__CUDA__"); in InitializeStandardPredefinedMacros()
454 MacroBuilder &Builder) { in InitializeCPlusPlusFeatureTestMacros() argument
457 Builder.defineMacro("__cpp_rtti", "199711"); in InitializeCPlusPlusFeatureTestMacros()
459 Builder.defineMacro("__cpp_exceptions", "199711"); in InitializeCPlusPlusFeatureTestMacros()
463 Builder.defineMacro("__cpp_unicode_characters", "200704"); in InitializeCPlusPlusFeatureTestMacros()
464 Builder.defineMacro("__cpp_raw_strings", "200710"); in InitializeCPlusPlusFeatureTestMacros()
465 Builder.defineMacro("__cpp_unicode_literals", "200710"); in InitializeCPlusPlusFeatureTestMacros()
466 Builder.defineMacro("__cpp_user_defined_literals", "200809"); in InitializeCPlusPlusFeatureTestMacros()
467 Builder.defineMacro("__cpp_lambdas", "200907"); in InitializeCPlusPlusFeatureTestMacros()
468 Builder.defineMacro("__cpp_constexpr", in InitializeCPlusPlusFeatureTestMacros()
470 Builder.defineMacro("__cpp_range_based_for", "200907"); in InitializeCPlusPlusFeatureTestMacros()
471 Builder.defineMacro("__cpp_static_assert", "200410"); in InitializeCPlusPlusFeatureTestMacros()
472 Builder.defineMacro("__cpp_decltype", "200707"); in InitializeCPlusPlusFeatureTestMacros()
473 Builder.defineMacro("__cpp_attributes", "200809"); in InitializeCPlusPlusFeatureTestMacros()
474 Builder.defineMacro("__cpp_rvalue_references", "200610"); in InitializeCPlusPlusFeatureTestMacros()
475 Builder.defineMacro("__cpp_variadic_templates", "200704"); in InitializeCPlusPlusFeatureTestMacros()
476 Builder.defineMacro("__cpp_initializer_lists", "200806"); in InitializeCPlusPlusFeatureTestMacros()
477 Builder.defineMacro("__cpp_delegating_constructors", "200604"); in InitializeCPlusPlusFeatureTestMacros()
478 Builder.defineMacro("__cpp_nsdmi", "200809"); in InitializeCPlusPlusFeatureTestMacros()
479 Builder.defineMacro("__cpp_inheriting_constructors", "200802"); in InitializeCPlusPlusFeatureTestMacros()
480 Builder.defineMacro("__cpp_ref_qualifiers", "200710"); in InitializeCPlusPlusFeatureTestMacros()
481 Builder.defineMacro("__cpp_alias_templates", "200704"); in InitializeCPlusPlusFeatureTestMacros()
486 Builder.defineMacro("__cpp_binary_literals", "201304"); in InitializeCPlusPlusFeatureTestMacros()
487 Builder.defineMacro("__cpp_digit_separators", "201309"); in InitializeCPlusPlusFeatureTestMacros()
488 Builder.defineMacro("__cpp_init_captures", "201304"); in InitializeCPlusPlusFeatureTestMacros()
489 Builder.defineMacro("__cpp_generic_lambdas", "201304"); in InitializeCPlusPlusFeatureTestMacros()
490 Builder.defineMacro("__cpp_decltype_auto", "201304"); in InitializeCPlusPlusFeatureTestMacros()
491 Builder.defineMacro("__cpp_return_type_deduction", "201304"); in InitializeCPlusPlusFeatureTestMacros()
492 Builder.defineMacro("__cpp_aggregate_nsdmi", "201304"); in InitializeCPlusPlusFeatureTestMacros()
493 Builder.defineMacro("__cpp_variable_templates", "201304"); in InitializeCPlusPlusFeatureTestMacros()
496 Builder.defineMacro("__cpp_sized_deallocation", "201309"); in InitializeCPlusPlusFeatureTestMacros()
498 Builder.defineMacro("__cpp_experimental_concepts", "1"); in InitializeCPlusPlusFeatureTestMacros()
500 Builder.defineMacro("__cpp_coroutines", "1"); in InitializeCPlusPlusFeatureTestMacros()
506 MacroBuilder &Builder) { in InitializePredefinedMacros() argument
508 Builder.defineMacro("__llvm__"); // LLVM Backend in InitializePredefinedMacros()
509 Builder.defineMacro("__clang__"); // Clang Frontend in InitializePredefinedMacros()
512 Builder.defineMacro("__clang_major__", TOSTR(CLANG_VERSION_MAJOR)); in InitializePredefinedMacros()
513 Builder.defineMacro("__clang_minor__", TOSTR(CLANG_VERSION_MINOR)); in InitializePredefinedMacros()
515 Builder.defineMacro("__clang_patchlevel__", TOSTR(CLANG_VERSION_PATCHLEVEL)); in InitializePredefinedMacros()
517 Builder.defineMacro("__clang_patchlevel__", "0"); in InitializePredefinedMacros()
519 Builder.defineMacro("__clang_version__", in InitializePredefinedMacros()
527 Builder.defineMacro("__GNUC_MINOR__", "2"); in InitializePredefinedMacros()
528 Builder.defineMacro("__GNUC_PATCHLEVEL__", "1"); in InitializePredefinedMacros()
529 Builder.defineMacro("__GNUC__", "4"); in InitializePredefinedMacros()
530 Builder.defineMacro("__GXX_ABI_VERSION", "1002"); in InitializePredefinedMacros()
534 Builder.defineMacro("__ATOMIC_RELAXED", "0"); in InitializePredefinedMacros()
535 Builder.defineMacro("__ATOMIC_CONSUME", "1"); in InitializePredefinedMacros()
536 Builder.defineMacro("__ATOMIC_ACQUIRE", "2"); in InitializePredefinedMacros()
537 Builder.defineMacro("__ATOMIC_RELEASE", "3"); in InitializePredefinedMacros()
538 Builder.defineMacro("__ATOMIC_ACQ_REL", "4"); in InitializePredefinedMacros()
539 Builder.defineMacro("__ATOMIC_SEQ_CST", "5"); in InitializePredefinedMacros()
542 Builder.defineMacro("__PRAGMA_REDEFINE_EXTNAME", "1"); in InitializePredefinedMacros()
547 Builder.defineMacro("__VERSION__", "\"4.2.1 Compatible " + in InitializePredefinedMacros()
554 Builder.defineMacro("__STRICT_ANSI__"); in InitializePredefinedMacros()
557 Builder.defineMacro("__GXX_EXPERIMENTAL_CXX0X__"); in InitializePredefinedMacros()
561 Builder.defineMacro("__OBJC2__"); in InitializePredefinedMacros()
564 Builder.defineMacro("OBJC_ZEROCOST_EXCEPTIONS"); in InitializePredefinedMacros()
568 Builder.defineMacro("__OBJC_GC__"); in InitializePredefinedMacros()
571 Builder.defineMacro("__NEXT_RUNTIME__"); in InitializePredefinedMacros()
584 Builder.defineMacro("__OBJFW_RUNTIME_ABI__", in InitializePredefinedMacros()
589 Builder.defineMacro("IBOutlet", "__attribute__((iboutlet))"); in InitializePredefinedMacros()
590 Builder.defineMacro("IBOutletCollection(ClassName)", in InitializePredefinedMacros()
592 Builder.defineMacro("IBAction", "void)__attribute__((ibaction)"); in InitializePredefinedMacros()
593 Builder.defineMacro("IBInspectable", ""); in InitializePredefinedMacros()
594 Builder.defineMacro("IB_DESIGNABLE", ""); in InitializePredefinedMacros()
598 InitializeCPlusPlusFeatureTestMacros(LangOpts, Builder); in InitializePredefinedMacros()
603 Builder.defineMacro("__CONSTANT_CFSTRINGS__"); in InitializePredefinedMacros()
606 Builder.defineMacro("OBJC_NEW_PROPERTIES"); in InitializePredefinedMacros()
609 Builder.defineMacro("__PASCAL_STRINGS__"); in InitializePredefinedMacros()
612 Builder.defineMacro("__block", "__attribute__((__blocks__(byref)))"); in InitializePredefinedMacros()
613 Builder.defineMacro("__BLOCKS__"); in InitializePredefinedMacros()
617 Builder.defineMacro("__EXCEPTIONS"); in InitializePredefinedMacros()
619 Builder.defineMacro("__GXX_RTTI"); in InitializePredefinedMacros()
621 Builder.defineMacro("__USING_SJLJ_EXCEPTIONS__"); in InitializePredefinedMacros()
624 Builder.defineMacro("__DEPRECATED"); in InitializePredefinedMacros()
627 Builder.defineMacro("__GNUG__", "4"); in InitializePredefinedMacros()
628 Builder.defineMacro("__GXX_WEAK__"); in InitializePredefinedMacros()
629 Builder.defineMacro("__private_extern__", "extern"); in InitializePredefinedMacros()
635 Builder.defineMacro("_WCHAR_T_DEFINED"); in InitializePredefinedMacros()
636 Builder.defineMacro("_NATIVE_WCHAR_T_DEFINED"); in InitializePredefinedMacros()
641 Builder.defineMacro("__OPTIMIZE__"); in InitializePredefinedMacros()
643 Builder.defineMacro("__OPTIMIZE_SIZE__"); in InitializePredefinedMacros()
646 Builder.defineMacro("__FAST_MATH__"); in InitializePredefinedMacros()
655 Builder.defineMacro("__ORDER_LITTLE_ENDIAN__", "1234"); in InitializePredefinedMacros()
656 Builder.defineMacro("__ORDER_BIG_ENDIAN__", "4321"); in InitializePredefinedMacros()
657 Builder.defineMacro("__ORDER_PDP_ENDIAN__", "3412"); in InitializePredefinedMacros()
659 Builder.defineMacro("__BYTE_ORDER__", "__ORDER_BIG_ENDIAN__"); in InitializePredefinedMacros()
660 Builder.defineMacro("__BIG_ENDIAN__"); in InitializePredefinedMacros()
662 Builder.defineMacro("__BYTE_ORDER__", "__ORDER_LITTLE_ENDIAN__"); in InitializePredefinedMacros()
663 Builder.defineMacro("__LITTLE_ENDIAN__"); in InitializePredefinedMacros()
668 Builder.defineMacro("_LP64"); in InitializePredefinedMacros()
669 Builder.defineMacro("__LP64__"); in InitializePredefinedMacros()
674 Builder.defineMacro("_ILP32"); in InitializePredefinedMacros()
675 Builder.defineMacro("__ILP32__"); in InitializePredefinedMacros()
680 Builder.defineMacro("__CHAR_BIT__", "8"); in InitializePredefinedMacros()
682 DefineTypeSize("__SCHAR_MAX__", TargetInfo::SignedChar, TI, Builder); in InitializePredefinedMacros()
683 DefineTypeSize("__SHRT_MAX__", TargetInfo::SignedShort, TI, Builder); in InitializePredefinedMacros()
684 DefineTypeSize("__INT_MAX__", TargetInfo::SignedInt, TI, Builder); in InitializePredefinedMacros()
685 DefineTypeSize("__LONG_MAX__", TargetInfo::SignedLong, TI, Builder); in InitializePredefinedMacros()
686 DefineTypeSize("__LONG_LONG_MAX__", TargetInfo::SignedLongLong, TI, Builder); in InitializePredefinedMacros()
687 DefineTypeSize("__WCHAR_MAX__", TI.getWCharType(), TI, Builder); in InitializePredefinedMacros()
688 DefineTypeSize("__INTMAX_MAX__", TI.getIntMaxType(), TI, Builder); in InitializePredefinedMacros()
689 DefineTypeSize("__SIZE_MAX__", TI.getSizeType(), TI, Builder); in InitializePredefinedMacros()
691 DefineTypeSize("__UINTMAX_MAX__", TI.getUIntMaxType(), TI, Builder); in InitializePredefinedMacros()
692 DefineTypeSize("__PTRDIFF_MAX__", TI.getPtrDiffType(0), TI, Builder); in InitializePredefinedMacros()
693 DefineTypeSize("__INTPTR_MAX__", TI.getIntPtrType(), TI, Builder); in InitializePredefinedMacros()
694 DefineTypeSize("__UINTPTR_MAX__", TI.getUIntPtrType(), TI, Builder); in InitializePredefinedMacros()
696 DefineTypeSizeof("__SIZEOF_DOUBLE__", TI.getDoubleWidth(), TI, Builder); in InitializePredefinedMacros()
697 DefineTypeSizeof("__SIZEOF_FLOAT__", TI.getFloatWidth(), TI, Builder); in InitializePredefinedMacros()
698 DefineTypeSizeof("__SIZEOF_INT__", TI.getIntWidth(), TI, Builder); in InitializePredefinedMacros()
699 DefineTypeSizeof("__SIZEOF_LONG__", TI.getLongWidth(), TI, Builder); in InitializePredefinedMacros()
700 DefineTypeSizeof("__SIZEOF_LONG_DOUBLE__",TI.getLongDoubleWidth(),TI,Builder); in InitializePredefinedMacros()
701 DefineTypeSizeof("__SIZEOF_LONG_LONG__", TI.getLongLongWidth(), TI, Builder); in InitializePredefinedMacros()
702 DefineTypeSizeof("__SIZEOF_POINTER__", TI.getPointerWidth(0), TI, Builder); in InitializePredefinedMacros()
703 DefineTypeSizeof("__SIZEOF_SHORT__", TI.getShortWidth(), TI, Builder); in InitializePredefinedMacros()
705 TI.getTypeWidth(TI.getPtrDiffType(0)), TI, Builder); in InitializePredefinedMacros()
707 TI.getTypeWidth(TI.getSizeType()), TI, Builder); in InitializePredefinedMacros()
709 TI.getTypeWidth(TI.getWCharType()), TI, Builder); in InitializePredefinedMacros()
711 TI.getTypeWidth(TI.getWIntType()), TI, Builder); in InitializePredefinedMacros()
713 DefineTypeSizeof("__SIZEOF_INT128__", 128, TI, Builder); in InitializePredefinedMacros()
715 DefineType("__INTMAX_TYPE__", TI.getIntMaxType(), Builder); in InitializePredefinedMacros()
716 DefineFmt("__INTMAX", TI.getIntMaxType(), TI, Builder); in InitializePredefinedMacros()
717 Builder.defineMacro("__INTMAX_C_SUFFIX__", in InitializePredefinedMacros()
719 DefineType("__UINTMAX_TYPE__", TI.getUIntMaxType(), Builder); in InitializePredefinedMacros()
720 DefineFmt("__UINTMAX", TI.getUIntMaxType(), TI, Builder); in InitializePredefinedMacros()
721 Builder.defineMacro("__UINTMAX_C_SUFFIX__", in InitializePredefinedMacros()
723 DefineTypeWidth("__INTMAX_WIDTH__", TI.getIntMaxType(), TI, Builder); in InitializePredefinedMacros()
724 DefineType("__PTRDIFF_TYPE__", TI.getPtrDiffType(0), Builder); in InitializePredefinedMacros()
725 DefineFmt("__PTRDIFF", TI.getPtrDiffType(0), TI, Builder); in InitializePredefinedMacros()
726 DefineTypeWidth("__PTRDIFF_WIDTH__", TI.getPtrDiffType(0), TI, Builder); in InitializePredefinedMacros()
727 DefineType("__INTPTR_TYPE__", TI.getIntPtrType(), Builder); in InitializePredefinedMacros()
728 DefineFmt("__INTPTR", TI.getIntPtrType(), TI, Builder); in InitializePredefinedMacros()
729 DefineTypeWidth("__INTPTR_WIDTH__", TI.getIntPtrType(), TI, Builder); in InitializePredefinedMacros()
730 DefineType("__SIZE_TYPE__", TI.getSizeType(), Builder); in InitializePredefinedMacros()
731 DefineFmt("__SIZE", TI.getSizeType(), TI, Builder); in InitializePredefinedMacros()
732 DefineTypeWidth("__SIZE_WIDTH__", TI.getSizeType(), TI, Builder); in InitializePredefinedMacros()
733 DefineType("__WCHAR_TYPE__", TI.getWCharType(), Builder); in InitializePredefinedMacros()
734 DefineTypeWidth("__WCHAR_WIDTH__", TI.getWCharType(), TI, Builder); in InitializePredefinedMacros()
735 DefineType("__WINT_TYPE__", TI.getWIntType(), Builder); in InitializePredefinedMacros()
736 DefineTypeWidth("__WINT_WIDTH__", TI.getWIntType(), TI, Builder); in InitializePredefinedMacros()
737 DefineTypeWidth("__SIG_ATOMIC_WIDTH__", TI.getSigAtomicType(), TI, Builder); in InitializePredefinedMacros()
738 DefineTypeSize("__SIG_ATOMIC_MAX__", TI.getSigAtomicType(), TI, Builder); in InitializePredefinedMacros()
739 DefineType("__CHAR16_TYPE__", TI.getChar16Type(), Builder); in InitializePredefinedMacros()
740 DefineType("__CHAR32_TYPE__", TI.getChar32Type(), Builder); in InitializePredefinedMacros()
742 DefineTypeWidth("__UINTMAX_WIDTH__", TI.getUIntMaxType(), TI, Builder); in InitializePredefinedMacros()
743 DefineType("__UINTPTR_TYPE__", TI.getUIntPtrType(), Builder); in InitializePredefinedMacros()
744 DefineFmt("__UINTPTR", TI.getUIntPtrType(), TI, Builder); in InitializePredefinedMacros()
745 DefineTypeWidth("__UINTPTR_WIDTH__", TI.getUIntPtrType(), TI, Builder); in InitializePredefinedMacros()
747 DefineFloatMacros(Builder, "FLT", &TI.getFloatFormat(), "F"); in InitializePredefinedMacros()
748 DefineFloatMacros(Builder, "DBL", &TI.getDoubleFormat(), ""); in InitializePredefinedMacros()
749 DefineFloatMacros(Builder, "LDBL", &TI.getLongDoubleFormat(), "L"); in InitializePredefinedMacros()
752 Builder.defineMacro("__POINTER_WIDTH__", in InitializePredefinedMacros()
756 Builder.defineMacro("__BIGGEST_ALIGNMENT__", in InitializePredefinedMacros()
760 Builder.defineMacro("__CHAR_UNSIGNED__"); in InitializePredefinedMacros()
763 Builder.defineMacro("__WCHAR_UNSIGNED__"); in InitializePredefinedMacros()
766 Builder.defineMacro("__WINT_UNSIGNED__"); in InitializePredefinedMacros()
769 DefineExactWidthIntType(TargetInfo::SignedChar, TI, Builder); in InitializePredefinedMacros()
772 DefineExactWidthIntType(TargetInfo::SignedShort, TI, Builder); in InitializePredefinedMacros()
775 DefineExactWidthIntType(TargetInfo::SignedInt, TI, Builder); in InitializePredefinedMacros()
778 DefineExactWidthIntType(TargetInfo::SignedLong, TI, Builder); in InitializePredefinedMacros()
781 DefineExactWidthIntType(TargetInfo::SignedLongLong, TI, Builder); in InitializePredefinedMacros()
783 DefineExactWidthIntType(TargetInfo::UnsignedChar, TI, Builder); in InitializePredefinedMacros()
784 DefineExactWidthIntTypeSize(TargetInfo::UnsignedChar, TI, Builder); in InitializePredefinedMacros()
785 DefineExactWidthIntTypeSize(TargetInfo::SignedChar, TI, Builder); in InitializePredefinedMacros()
788 DefineExactWidthIntType(TargetInfo::UnsignedShort, TI, Builder); in InitializePredefinedMacros()
789 DefineExactWidthIntTypeSize(TargetInfo::UnsignedShort, TI, Builder); in InitializePredefinedMacros()
790 DefineExactWidthIntTypeSize(TargetInfo::SignedShort, TI, Builder); in InitializePredefinedMacros()
794 DefineExactWidthIntType(TargetInfo::UnsignedInt, TI, Builder); in InitializePredefinedMacros()
795 DefineExactWidthIntTypeSize(TargetInfo::UnsignedInt, TI, Builder); in InitializePredefinedMacros()
796 DefineExactWidthIntTypeSize(TargetInfo::SignedInt, TI, Builder); in InitializePredefinedMacros()
800 DefineExactWidthIntType(TargetInfo::UnsignedLong, TI, Builder); in InitializePredefinedMacros()
801 DefineExactWidthIntTypeSize(TargetInfo::UnsignedLong, TI, Builder); in InitializePredefinedMacros()
802 DefineExactWidthIntTypeSize(TargetInfo::SignedLong, TI, Builder); in InitializePredefinedMacros()
806 DefineExactWidthIntType(TargetInfo::UnsignedLongLong, TI, Builder); in InitializePredefinedMacros()
807 DefineExactWidthIntTypeSize(TargetInfo::UnsignedLongLong, TI, Builder); in InitializePredefinedMacros()
808 DefineExactWidthIntTypeSize(TargetInfo::SignedLongLong, TI, Builder); in InitializePredefinedMacros()
811 DefineLeastWidthIntType(8, true, TI, Builder); in InitializePredefinedMacros()
812 DefineLeastWidthIntType(8, false, TI, Builder); in InitializePredefinedMacros()
813 DefineLeastWidthIntType(16, true, TI, Builder); in InitializePredefinedMacros()
814 DefineLeastWidthIntType(16, false, TI, Builder); in InitializePredefinedMacros()
815 DefineLeastWidthIntType(32, true, TI, Builder); in InitializePredefinedMacros()
816 DefineLeastWidthIntType(32, false, TI, Builder); in InitializePredefinedMacros()
817 DefineLeastWidthIntType(64, true, TI, Builder); in InitializePredefinedMacros()
818 DefineLeastWidthIntType(64, false, TI, Builder); in InitializePredefinedMacros()
820 DefineFastIntType(8, true, TI, Builder); in InitializePredefinedMacros()
821 DefineFastIntType(8, false, TI, Builder); in InitializePredefinedMacros()
822 DefineFastIntType(16, true, TI, Builder); in InitializePredefinedMacros()
823 DefineFastIntType(16, false, TI, Builder); in InitializePredefinedMacros()
824 DefineFastIntType(32, true, TI, Builder); in InitializePredefinedMacros()
825 DefineFastIntType(32, false, TI, Builder); in InitializePredefinedMacros()
826 DefineFastIntType(64, true, TI, Builder); in InitializePredefinedMacros()
827 DefineFastIntType(64, false, TI, Builder); in InitializePredefinedMacros()
830 Builder.defineMacro("__USER_LABEL_PREFIX__", UserLabelPrefix); in InitializePredefinedMacros()
833 Builder.defineMacro("__FINITE_MATH_ONLY__", "1"); in InitializePredefinedMacros()
835 Builder.defineMacro("__FINITE_MATH_ONLY__", "0"); in InitializePredefinedMacros()
839 Builder.defineMacro("__GNUC_GNU_INLINE__"); in InitializePredefinedMacros()
841 Builder.defineMacro("__GNUC_STDC_INLINE__"); in InitializePredefinedMacros()
845 Builder.defineMacro("__GCC_ATOMIC_TEST_AND_SET_TRUEVAL", "1"); in InitializePredefinedMacros()
850 Builder.defineMacro("__GCC_ATOMIC_" #TYPE "_LOCK_FREE", \ in InitializePredefinedMacros()
863 Builder.defineMacro("__GCC_ATOMIC_POINTER_LOCK_FREE", in InitializePredefinedMacros()
871 Builder.defineMacro("__NO_INLINE__"); in InitializePredefinedMacros()
874 Builder.defineMacro("__PIC__", Twine(PICLevel)); in InitializePredefinedMacros()
875 Builder.defineMacro("__pic__", Twine(PICLevel)); in InitializePredefinedMacros()
877 Builder.defineMacro("__PIE__", Twine(PICLevel)); in InitializePredefinedMacros()
878 Builder.defineMacro("__pie__", Twine(PICLevel)); in InitializePredefinedMacros()
883 Builder.defineMacro("__FLT_EVAL_METHOD__", Twine(TI.getFloatEvalMethod())); in InitializePredefinedMacros()
884 Builder.defineMacro("__FLT_RADIX__", "2"); in InitializePredefinedMacros()
885 Builder.defineMacro("__DECIMAL_DIG__", "__LDBL_DECIMAL_DIG__"); in InitializePredefinedMacros()
888 Builder.defineMacro("__SSP__"); in InitializePredefinedMacros()
890 Builder.defineMacro("__SSP_STRONG__", "2"); in InitializePredefinedMacros()
892 Builder.defineMacro("__SSP_ALL__", "3"); in InitializePredefinedMacros()
896 Builder.defineMacro("__clang_analyzer__"); in InitializePredefinedMacros()
899 Builder.defineMacro("__FAST_RELAXED_MATH__"); in InitializePredefinedMacros()
903 Builder.defineMacro("__weak", "__attribute__((objc_gc(weak)))"); in InitializePredefinedMacros()
904 Builder.defineMacro("__strong", "__attribute__((objc_gc(strong)))"); in InitializePredefinedMacros()
905 Builder.defineMacro("__autoreleasing", ""); in InitializePredefinedMacros()
906 Builder.defineMacro("__unsafe_unretained", ""); in InitializePredefinedMacros()
908 Builder.defineMacro("__weak", "__attribute__((objc_ownership(weak)))"); in InitializePredefinedMacros()
909 Builder.defineMacro("__strong", "__attribute__((objc_ownership(strong)))"); in InitializePredefinedMacros()
910 Builder.defineMacro("__autoreleasing", in InitializePredefinedMacros()
912 Builder.defineMacro("__unsafe_unretained", in InitializePredefinedMacros()
919 Builder.defineMacro("__nonnull", "_Nonnull"); in InitializePredefinedMacros()
920 Builder.defineMacro("__null_unspecified", "_Null_unspecified"); in InitializePredefinedMacros()
921 Builder.defineMacro("__nullable", "_Nullable"); in InitializePredefinedMacros()
934 Builder.defineMacro("_OPENMP", "201307"); in InitializePredefinedMacros()
937 Builder.defineMacro("_OPENMP", "201511"); in InitializePredefinedMacros()
941 Builder.defineMacro("_OPENMP", "201107"); in InitializePredefinedMacros()
949 Builder.defineMacro("__CUDA_ARCH__"); in InitializePredefinedMacros()
955 Builder.defineMacro("__CLANG_CUDA_APPROX_TRANSCENDENTALS__"); in InitializePredefinedMacros()
963 Builder.defineMacro(#Ext); in InitializePredefinedMacros()
968 TI.getTargetDefines(LangOpts, Builder); in InitializePredefinedMacros()
982 MacroBuilder Builder(Predefines); in InitializePreprocessor() local
988 Builder.append("# 1 \"<built-in>\" 3"); in InitializePreprocessor()
994 Builder); in InitializePreprocessor()
996 InitializePredefinedMacros(PP.getTargetInfo(), LangOpts, FEOpts, Builder); in InitializePreprocessor()
1008 AddObjCXXARCLibstdcxxDefines(LangOpts, Builder); in InitializePreprocessor()
1018 FEOpts, Builder); in InitializePreprocessor()
1023 Builder.append("# 1 \"<command line>\" 1"); in InitializePreprocessor()
1028 Builder.undefineMacro(InitOpts.Macros[i].first); in InitializePreprocessor()
1030 DefineBuiltinMacro(Builder, InitOpts.Macros[i].first, in InitializePreprocessor()
1036 Builder.append("# 1 \"<built-in>\" 2"); in InitializePreprocessor()
1041 AddImplicitIncludeMacros(Builder, InitOpts.MacroIncludes[i]); in InitializePreprocessor()
1045 AddImplicitIncludePCH(Builder, PP, PCHContainerRdr, in InitializePreprocessor()
1048 AddImplicitIncludePTH(Builder, PP, InitOpts.ImplicitPTHInclude); in InitializePreprocessor()
1053 AddImplicitInclude(Builder, Path); in InitializePreprocessor()