Lines Matching refs:Builder

34 static void DefineBuiltinMacro(MacroBuilder &Builder, StringRef Macro,
45 Builder.defineMacro(MacroName, MacroBody.substr(0, End));
48 Builder.defineMacro(Macro);
54 static void AddImplicitInclude(MacroBuilder &Builder, StringRef File,
56 Builder.append(Twine("#include \"") +
60 static void AddImplicitIncludeMacros(MacroBuilder &Builder,
63 Builder.append(Twine("#__include_macros \"") +
66 Builder.append("##"); // ##?
71 static void AddImplicitIncludePTH(MacroBuilder &Builder, Preprocessor &PP,
83 AddImplicitInclude(Builder, OriginalFile, PP.getFileManager());
104 static void DefineFloatMacros(MacroBuilder &Builder, StringRef Prefix,
135 Builder.defineMacro(DefPrefix + "DENORM_MIN__", DenormMin);
136 Builder.defineMacro(DefPrefix + "HAS_DENORM__");
137 Builder.defineMacro(DefPrefix + "DIG__", Twine(Digits));
138 Builder.defineMacro(DefPrefix + "EPSILON__", Twine(Epsilon));
139 Builder.defineMacro(DefPrefix + "HAS_INFINITY__");
140 Builder.defineMacro(DefPrefix + "HAS_QUIET_NAN__");
141 Builder.defineMacro(DefPrefix + "MANT_DIG__", Twine(MantissaDigits));
143 Builder.defineMacro(DefPrefix + "MAX_10_EXP__", Twine(Max10Exp));
144 Builder.defineMacro(DefPrefix + "MAX_EXP__", Twine(MaxExp));
145 Builder.defineMacro(DefPrefix + "MAX__", Twine(Max));
147 Builder.defineMacro(DefPrefix + "MIN_10_EXP__","("+Twine(Min10Exp)+")");
148 Builder.defineMacro(DefPrefix + "MIN_EXP__", "("+Twine(MinExp)+")");
149 Builder.defineMacro(DefPrefix + "MIN__", Twine(Min));
158 MacroBuilder &Builder) {
161 Builder.defineMacro(MacroName, MaxVal.toString(10, isSigned) + ValSuffix);
167 const TargetInfo &TI, MacroBuilder &Builder) {
169 TI.isTypeSigned(Ty), Builder);
173 MacroBuilder &Builder) {
174 Builder.defineMacro(MacroName, TargetInfo::getTypeName(Ty));
178 const TargetInfo &TI, MacroBuilder &Builder) {
179 Builder.defineMacro(MacroName, Twine(TI.getTypeWidth(Ty)));
183 const TargetInfo &TI, MacroBuilder &Builder) {
184 Builder.defineMacro(MacroName,
189 const TargetInfo &TI, MacroBuilder &Builder) {
197 DefineType("__INT" + Twine(TypeWidth) + "_TYPE__", Ty, Builder);
201 Builder.defineMacro("__INT" + Twine(TypeWidth) + "_C_SUFFIX__",
222 MacroBuilder &Builder) {
223 Builder.defineMacro("_GLIBCXX_PREDEFINED_OBJC_ARC_IS_SCALAR");
269 Builder.append(Result);
275 MacroBuilder &Builder) {
277 Builder.defineMacro("__STDC__");
279 Builder.defineMacro("__STDC_HOSTED__", "0");
281 Builder.defineMacro("__STDC_HOSTED__");
285 Builder.defineMacro("__STDC_VERSION__", "201112L");
287 Builder.defineMacro("__STDC_VERSION__", "199901L");
289 Builder.defineMacro("__STDC_VERSION__", "199409L");
295 Builder.defineMacro("__cplusplus", "201103L");
300 Builder.defineMacro("__cplusplus", "199711L");
304 Builder.defineMacro("__OBJC__");
308 Builder.defineMacro("__ASSEMBLER__");
314 MacroBuilder &Builder) {
316 Builder.defineMacro("__llvm__"); // LLVM Backend
317 Builder.defineMacro("__clang__"); // Clang Frontend
320 Builder.defineMacro("__clang_major__", TOSTR(CLANG_VERSION_MAJOR));
321 Builder.defineMacro("__clang_minor__", TOSTR(CLANG_VERSION_MINOR));
323 Builder.defineMacro("__clang_patchlevel__", TOSTR(CLANG_VERSION_PATCHLEVEL));
325 Builder.defineMacro("__clang_patchlevel__", "0");
327 Builder.defineMacro("__clang_version__",
335 Builder.defineMacro("__GNUC_MINOR__", "2");
336 Builder.defineMacro("__GNUC_PATCHLEVEL__", "1");
337 Builder.defineMacro("__GNUC__", "4");
338 Builder.defineMacro("__GXX_ABI_VERSION", "1002");
342 Builder.defineMacro("__ATOMIC_RELAXED", "0");
343 Builder.defineMacro("__ATOMIC_CONSUME", "1");
344 Builder.defineMacro("__ATOMIC_ACQUIRE", "2");
345 Builder.defineMacro("__ATOMIC_RELEASE", "3");
346 Builder.defineMacro("__ATOMIC_ACQ_REL", "4");
347 Builder.defineMacro("__ATOMIC_SEQ_CST", "5");
350 Builder.defineMacro("__PRAGMA_REDEFINE_EXTNAME", "1");
355 Builder.defineMacro("__VERSION__", "\"4.2.1 Compatible " +
362 Builder.defineMacro("__STRICT_ANSI__");
365 Builder.defineMacro("__GXX_EXPERIMENTAL_CXX0X__");
369 Builder.defineMacro("__OBJC2__");
372 Builder.defineMacro("OBJC_ZEROCOST_EXCEPTIONS");
376 Builder.defineMacro("__OBJC_GC__");
379 Builder.defineMacro("__NEXT_RUNTIME__");
381 Builder.defineMacro("IBOutlet", "__attribute__((iboutlet))");
382 Builder.defineMacro("IBOutletCollection(ClassName)",
384 Builder.defineMacro("IBAction", "void)__attribute__((ibaction)");
390 Builder.defineMacro("__CONSTANT_CFSTRINGS__");
393 Builder.defineMacro("OBJC_NEW_PROPERTIES");
396 Builder.defineMacro("__PASCAL_STRINGS__");
399 Builder.defineMacro("__block", "__attribute__((__blocks__(byref)))");
400 Builder.defineMacro("__BLOCKS__");
404 Builder.defineMacro("__EXCEPTIONS");
406 Builder.defineMacro("__GXX_RTTI");
408 Builder.defineMacro("__USING_SJLJ_EXCEPTIONS__");
411 Builder.defineMacro("__DEPRECATED");
414 Builder.defineMacro("__GNUG__", "4");
415 Builder.defineMacro("__GXX_WEAK__");
416 Builder.defineMacro("__private_extern__", "extern");
422 Builder.defineMacro("__PRETTY_FUNCTION__", "__FUNCTION__");
426 Builder.defineMacro("_WCHAR_T_DEFINED");
427 Builder.defineMacro("_NATIVE_WCHAR_T_DEFINED");
431 Builder.append("#define __identifier(x) x");
432 Builder.append("class type_info;");
437 Builder.defineMacro("__OPTIMIZE__");
439 Builder.defineMacro("__OPTIMIZE_SIZE__");
442 Builder.defineMacro("__FAST_MATH__");
451 Builder.defineMacro("__ORDER_LITTLE_ENDIAN__", "1234");
452 Builder.defineMacro("__ORDER_BIG_ENDIAN__", "4321");
453 Builder.defineMacro("__ORDER_PDP_ENDIAN__", "3412");
455 Builder.defineMacro("__BYTE_ORDER__", "__ORDER_BIG_ENDIAN__");
457 Builder.defineMacro("__BYTE_ORDER__", "__ORDER_LITTLE_ENDIAN__");
462 Builder.defineMacro("_LP64");
463 Builder.defineMacro("__LP64__");
468 Builder.defineMacro("__CHAR_BIT__", "8");
470 DefineTypeSize("__SCHAR_MAX__", TI.getCharWidth(), "", true, Builder);
471 DefineTypeSize("__SHRT_MAX__", TargetInfo::SignedShort, TI, Builder);
472 DefineTypeSize("__INT_MAX__", TargetInfo::SignedInt, TI, Builder);
473 DefineTypeSize("__LONG_MAX__", TargetInfo::SignedLong, TI, Builder);
474 DefineTypeSize("__LONG_LONG_MAX__", TargetInfo::SignedLongLong, TI, Builder);
475 DefineTypeSize("__WCHAR_MAX__", TI.getWCharType(), TI, Builder);
476 DefineTypeSize("__INTMAX_MAX__", TI.getIntMaxType(), TI, Builder);
478 DefineTypeSizeof("__SIZEOF_DOUBLE__", TI.getDoubleWidth(), TI, Builder);
479 DefineTypeSizeof("__SIZEOF_FLOAT__", TI.getFloatWidth(), TI, Builder);
480 DefineTypeSizeof("__SIZEOF_INT__", TI.getIntWidth(), TI, Builder);
481 DefineTypeSizeof("__SIZEOF_LONG__", TI.getLongWidth(), TI, Builder);
482 DefineTypeSizeof("__SIZEOF_LONG_DOUBLE__",TI.getLongDoubleWidth(),TI,Builder);
483 DefineTypeSizeof("__SIZEOF_LONG_LONG__", TI.getLongLongWidth(), TI, Builder);
484 DefineTypeSizeof("__SIZEOF_POINTER__", TI.getPointerWidth(0), TI, Builder);
485 DefineTypeSizeof("__SIZEOF_SHORT__", TI.getShortWidth(), TI, Builder);
487 TI.getTypeWidth(TI.getPtrDiffType(0)), TI, Builder);
489 TI.getTypeWidth(TI.getSizeType()), TI, Builder);
491 TI.getTypeWidth(TI.getWCharType()), TI, Builder);
493 TI.getTypeWidth(TI.getWIntType()), TI, Builder);
495 DefineType("__INTMAX_TYPE__", TI.getIntMaxType(), Builder);
496 DefineType("__UINTMAX_TYPE__", TI.getUIntMaxType(), Builder);
497 DefineTypeWidth("__INTMAX_WIDTH__", TI.getIntMaxType(), TI, Builder);
498 DefineType("__PTRDIFF_TYPE__", TI.getPtrDiffType(0), Builder);
499 DefineTypeWidth("__PTRDIFF_WIDTH__", TI.getPtrDiffType(0), TI, Builder);
500 DefineType("__INTPTR_TYPE__", TI.getIntPtrType(), Builder);
501 DefineTypeWidth("__INTPTR_WIDTH__", TI.getIntPtrType(), TI, Builder);
502 DefineType("__SIZE_TYPE__", TI.getSizeType(), Builder);
503 DefineTypeWidth("__SIZE_WIDTH__", TI.getSizeType(), TI, Builder);
504 DefineType("__WCHAR_TYPE__", TI.getWCharType(), Builder);
505 DefineTypeWidth("__WCHAR_WIDTH__", TI.getWCharType(), TI, Builder);
506 DefineType("__WINT_TYPE__", TI.getWIntType(), Builder);
507 DefineTypeWidth("__WINT_WIDTH__", TI.getWIntType(), TI, Builder);
508 DefineTypeWidth("__SIG_ATOMIC_WIDTH__", TI.getSigAtomicType(), TI, Builder);
509 DefineType("__CHAR16_TYPE__", TI.getChar16Type(), Builder);
510 DefineType("__CHAR32_TYPE__", TI.getChar32Type(), Builder);
512 DefineFloatMacros(Builder, "FLT", &TI.getFloatFormat());
513 DefineFloatMacros(Builder, "DBL", &TI.getDoubleFormat());
514 DefineFloatMacros(Builder, "LDBL", &TI.getLongDoubleFormat());
517 Builder.defineMacro("__POINTER_WIDTH__",
521 Builder.defineMacro("__CHAR_UNSIGNED__");
524 Builder.defineMacro("__WCHAR_UNSIGNED__");
527 Builder.defineMacro("__WINT_UNSIGNED__");
530 Builder.defineMacro("__INT" + Twine(TI.getCharWidth()) + "_TYPE__",
534 DefineExactWidthIntType(TargetInfo::SignedShort, TI, Builder);
537 DefineExactWidthIntType(TargetInfo::SignedInt, TI, Builder);
540 DefineExactWidthIntType(TargetInfo::SignedLong, TI, Builder);
543 DefineExactWidthIntType(TargetInfo::SignedLongLong, TI, Builder);
546 Builder.defineMacro("__USER_LABEL_PREFIX__", Prefix);
549 Builder.defineMacro("__FINITE_MATH_ONLY__", "1");
551 Builder.defineMacro("__FINITE_MATH_ONLY__", "0");
554 Builder.defineMacro("__GNUC_GNU_INLINE__");
556 Builder.defineMacro("__GNUC_STDC_INLINE__");
560 Builder.defineMacro("__GCC_ATOMIC_TEST_AND_SET_TRUEVAL", "1");
565 Builder.defineMacro("__GCC_ATOMIC_" #TYPE "_LOCK_FREE", \
578 Builder.defineMacro("__GCC_ATOMIC_POINTER_LOCK_FREE",
585 Builder.defineMacro("__NO_INLINE__");
588 Builder.defineMacro("__PIC__", Twine(PICLevel));
589 Builder.defineMacro("__pic__", Twine(PICLevel));
592 Builder.defineMacro("__PIE__", Twine(PIELevel));
593 Builder.defineMacro("__pie__", Twine(PIELevel));
597 Builder.defineMacro("__FLT_EVAL_METHOD__", Twine(TI.getFloatEvalMethod()));
598 Builder.defineMacro("__FLT_RADIX__", "2");
600 Builder.defineMacro("__DECIMAL_DIG__", Twine(Dig));
603 Builder.defineMacro("__SSP__");
605 Builder.defineMacro("__SSP_ALL__", "2");
608 Builder.defineMacro("__weak", "__attribute__((objc_gc(weak)))");
612 Builder.defineMacro("__clang_analyzer__");
615 Builder.defineMacro("__FAST_RELAXED_MATH__");
618 Builder.defineMacro("__weak", "__attribute__((objc_ownership(weak)))");
619 Builder.defineMacro("__strong", "__attribute__((objc_ownership(strong)))");
620 Builder.defineMacro("__autoreleasing",
622 Builder.defineMacro("__unsafe_unretained",
627 TI.getTargetDefines(LangOpts, Builder);
703 MacroBuilder Builder(Predefines);
712 Builder.append("# 1 \"<built-in>\" 3");
716 InitializePredefinedMacros(PP.getTargetInfo(), LangOpts, FEOpts, Builder);
727 AddObjCXXARCLibstdcxxDefines(LangOpts, Builder);
737 FEOpts, Builder);
742 Builder.append("# 1 \"<command line>\" 1");
747 Builder.undefineMacro(InitOpts.Macros[i].first);
749 DefineBuiltinMacro(Builder, InitOpts.Macros[i].first,
756 AddImplicitIncludeMacros(Builder, InitOpts.MacroIncludes[i],
763 AddImplicitIncludePTH(Builder, PP, Path);
765 AddImplicitInclude(Builder, Path, PP.getFileManager());
770 Builder.append("# 1 \"<built-in>\" 2");