Home | History | Annotate | Download | only in Frontend

Lines Matching refs:Builder

35 static void DefineBuiltinMacro(MacroBuilder &Builder, StringRef Macro,
46 Builder.defineMacro(MacroName, MacroBody.substr(0, End));
49 Builder.defineMacro(Macro);
55 static void AddImplicitInclude(MacroBuilder &Builder, StringRef File,
57 Builder.append(Twine("#include \"") +
61 static void AddImplicitIncludeMacros(MacroBuilder &Builder,
64 Builder.append(Twine("#__include_macros \"") +
67 Builder.append("##"); // ##?
72 static void AddImplicitIncludePTH(MacroBuilder &Builder, Preprocessor &PP,
84 AddImplicitInclude(Builder, OriginalFile, PP.getFileManager());
89 static void AddImplicitIncludePCH(MacroBuilder &Builder, Preprocessor &PP,
97 AddImplicitInclude(Builder, OriginalFile, PP.getFileManager());
118 static void DefineFloatMacros(MacroBuilder &Builder, StringRef Prefix,
149 Builder.defineMacro(DefPrefix + "DENORM_MIN__", Twine(DenormMin)+Ext);
150 Builder.defineMacro(DefPrefix + "HAS_DENORM__");
151 Builder.defineMacro(DefPrefix + "DIG__", Twine(Digits));
152 Builder.defineMacro(DefPrefix + "EPSILON__", Twine(Epsilon)+Ext);
153 Builder.defineMacro(DefPrefix + "HAS_INFINITY__");
154 Builder.defineMacro(DefPrefix + "HAS_QUIET_NAN__");
155 Builder.defineMacro(DefPrefix + "MANT_DIG__", Twine(MantissaDigits));
157 Builder.defineMacro(DefPrefix + "MAX_10_EXP__", Twine(Max10Exp));
158 Builder.defineMacro(DefPrefix + "MAX_EXP__", Twine(MaxExp));
159 Builder.defineMacro(DefPrefix + "MAX__", Twine(Max)+Ext);
161 Builder.defineMacro(DefPrefix + "MIN_10_EXP__","("+Twine(Min10Exp)+")");
162 Builder.defineMacro(DefPrefix + "MIN_EXP__", "("+Twine(MinExp)+")");
163 Builder.defineMacro(DefPrefix + "MIN__", Twine(Min)+Ext);
172 MacroBuilder &Builder) {
175 Builder.defineMacro(MacroName, MaxVal.toString(10, isSigned) + ValSuffix);
181 const TargetInfo &TI, MacroBuilder &Builder) {
183 TI.isTypeSigned(Ty), Builder);
187 MacroBuilder &Builder) {
188 Builder.defineMacro(MacroName, TargetInfo::getTypeName(Ty));
192 const TargetInfo &TI, MacroBuilder &Builder) {
193 Builder.defineMacro(MacroName, Twine(TI.getTypeWidth(Ty)));
197 const TargetInfo &TI, MacroBuilder &Builder) {
198 Builder.defineMacro(MacroName,
203 const TargetInfo &TI, MacroBuilder &Builder) {
211 DefineType("__INT" + Twine(TypeWidth) + "_TYPE__", Ty, Builder);
215 Builder.defineMacro("__INT" + Twine(TypeWidth) + "_C_SUFFIX__",
236 MacroBuilder &Builder) {
237 Builder.defineMacro("_GLIBCXX_PREDEFINED_OBJC_ARC_IS_SCALAR");
283 Builder.append(Result);
289 MacroBuilder &Builder) {
291 Builder.defineMacro("__STDC__");
293 Builder.defineMacro("__STDC_HOSTED__", "0");
295 Builder.defineMacro("__STDC_HOSTED__");
299 Builder.defineMacro("__STDC_VERSION__", "201112L");
301 Builder.defineMacro("__STDC_VERSION__", "199901L");
303 Builder.defineMacro("__STDC_VERSION__", "199409L");
311 Builder.defineMacro("__cplusplus", "201103L");
316 Builder.defineMacro("__cplusplus", "199711L");
320 Builder.defineMacro("__OBJC__");
324 Builder.defineMacro("__ASSEMBLER__");
330 MacroBuilder &Builder) {
332 Builder.defineMacro("__llvm__"); // LLVM Backend
333 Builder.defineMacro("__clang__"); // Clang Frontend
336 Builder.defineMacro("__clang_major__", TOSTR(CLANG_VERSION_MAJOR));
337 Builder.defineMacro("__clang_minor__", TOSTR(CLANG_VERSION_MINOR));
339 Builder.defineMacro("__clang_patchlevel__", TOSTR(CLANG_VERSION_PATCHLEVEL));
341 Builder.defineMacro("__clang_patchlevel__", "0");
343 Builder.defineMacro("__clang_version__",
351 Builder.defineMacro("__GNUC_MINOR__", "2");
352 Builder.defineMacro("__GNUC_PATCHLEVEL__", "1");
353 Builder.defineMacro("__GNUC__", "4");
354 Builder.defineMacro("__GXX_ABI_VERSION", "1002");
358 Builder.defineMacro("__ATOMIC_RELAXED", "0");
359 Builder.defineMacro("__ATOMIC_CONSUME", "1");
360 Builder.defineMacro("__ATOMIC_ACQUIRE", "2");
361 Builder.defineMacro("__ATOMIC_RELEASE", "3");
362 Builder.defineMacro("__ATOMIC_ACQ_REL", "4");
363 Builder.defineMacro("__ATOMIC_SEQ_CST", "5");
366 Builder.defineMacro("__PRAGMA_REDEFINE_EXTNAME", "1");
371 Builder.defineMacro("__VERSION__", "\"4.2.1 Compatible " +
378 Builder.defineMacro("__STRICT_ANSI__");
381 Builder.defineMacro("__GXX_EXPERIMENTAL_CXX0X__");
385 Builder.defineMacro("__OBJC2__");
388 Builder.defineMacro("OBJC_ZEROCOST_EXCEPTIONS");
392 Builder.defineMacro("__OBJC_GC__");
395 Builder.defineMacro("__NEXT_RUNTIME__");
397 Builder.defineMacro("IBOutlet", "__attribute__((iboutlet))");
398 Builder
400 Builder.defineMacro("IBAction", "void)__attribute__((ibaction)");
406 Builder.defineMacro("__CONSTANT_CFSTRINGS__");
409 Builder.defineMacro("OBJC_NEW_PROPERTIES");
412 Builder.defineMacro("__PASCAL_STRINGS__");
415 Builder.defineMacro("__block", "__attribute__((__blocks__(byref)))");
416 Builder.defineMacro("__BLOCKS__");
420 Builder.defineMacro("__EXCEPTIONS");
422 Builder.defineMacro("__GXX_RTTI");
424 Builder.defineMacro("__USING_SJLJ_EXCEPTIONS__");
427 Builder.defineMacro("__DEPRECATED");
430 Builder.defineMacro("__GNUG__", "4");
431 Builder.defineMacro("__GXX_WEAK__");
432 Builder.defineMacro("__private_extern__", "extern");
438 Builder.defineMacro("__PRETTY_FUNCTION__", "__FUNCTION__");
442 Builder.defineMacro("_WCHAR_T_DEFINED");
443 Builder.defineMacro("_NATIVE_WCHAR_T_DEFINED");
447 Builder.append("#define __identifier(x) x");
448 Builder.append("class type_info;");
453 Builder.defineMacro("__OPTIMIZE__");
455 Builder.defineMacro("__OPTIMIZE_SIZE__");
458 Builder.defineMacro("__FAST_MATH__");
467 Builder.defineMacro("__ORDER_LITTLE_ENDIAN__", "1234");
468 Builder.defineMacro("__ORDER_BIG_ENDIAN__", "4321");
469 Builder.defineMacro("__ORDER_PDP_ENDIAN__", "3412");
471 Builder.defineMacro("__BYTE_ORDER__", "__ORDER_BIG_ENDIAN__");
473 Builder.defineMacro("__BYTE_ORDER__", "__ORDER_LITTLE_ENDIAN__");
478 Builder.defineMacro("_LP64");
479 Builder.defineMacro("__LP64__");
484 Builder.defineMacro("__CHAR_BIT__", "8");
486 DefineTypeSize("__SCHAR_MAX__", TI.getCharWidth(), "", true, Builder);
487 DefineTypeSize("__SHRT_MAX__", TargetInfo::SignedShort, TI, Builder);
488 DefineTypeSize("__INT_MAX__", TargetInfo::SignedInt, TI, Builder);
489 DefineTypeSize("__LONG_MAX__", TargetInfo::SignedLong, TI, Builder);
490 DefineTypeSize("__LONG_LONG_MAX__", TargetInfo::SignedLongLong, TI, Builder);
491 DefineTypeSize("__WCHAR_MAX__", TI.getWCharType(), TI, Builder);
492 DefineTypeSize("__INTMAX_MAX__", TI.getIntMaxType(), TI, Builder);
494 DefineTypeSizeof("__SIZEOF_DOUBLE__", TI.getDoubleWidth(), TI, Builder);
495 DefineTypeSizeof("__SIZEOF_FLOAT__", TI.getFloatWidth(), TI, Builder);
496 DefineTypeSizeof("__SIZEOF_INT__", TI.getIntWidth(), TI, Builder);
497 DefineTypeSizeof("__SIZEOF_LONG__", TI.getLongWidth(), TI, Builder);
498 DefineTypeSizeof("__SIZEOF_LONG_DOUBLE__",TI.getLongDoubleWidth(),TI,Builder);
499 DefineTypeSizeof("__SIZEOF_LONG_LONG__", TI.getLongLongWidth(), TI, Builder);
500 DefineTypeSizeof("__SIZEOF_POINTER__", TI.getPointerWidth(0), TI, Builder);
501 DefineTypeSizeof("__SIZEOF_SHORT__", TI.getShortWidth(), TI, Builder);
503 TI.getTypeWidth(TI.getPtrDiffType(0)), TI, Builder);
505 TI.getTypeWidth(TI.getSizeType()), TI, Builder);
507 TI.getTypeWidth(TI.getWCharType()), TI, Builder);
509 TI.getTypeWidth(TI.getWIntType()), TI, Builder);
511 DefineTypeSizeof("__SIZEOF_INT128__", 128, TI, Builder);
513 DefineType("__INTMAX_TYPE__", TI.getIntMaxType(), Builder);
514 DefineType("__UINTMAX_TYPE__", TI.getUIntMaxType(), Builder);
515 DefineTypeWidth("__INTMAX_WIDTH__", TI.getIntMaxType(), TI, Builder);
516 DefineType("__PTRDIFF_TYPE__", TI.getPtrDiffType(0), Builder);
517 DefineTypeWidth("__PTRDIFF_WIDTH__", TI.getPtrDiffType(0), TI, Builder);
518 DefineType("__INTPTR_TYPE__", TI.getIntPtrType(), Builder);
519 DefineTypeWidth("__INTPTR_WIDTH__", TI.getIntPtrType(), TI, Builder);
520 DefineType("__SIZE_TYPE__", TI.getSizeType(), Builder);
521 DefineTypeWidth("__SIZE_WIDTH__", TI.getSizeType(), TI, Builder);
522 DefineType("__WCHAR_TYPE__", TI.getWCharType(), Builder);
523 DefineTypeWidth("__WCHAR_WIDTH__", TI.getWCharType(), TI, Builder);
524 DefineType("__WINT_TYPE__", TI.getWIntType(), Builder);
525 DefineTypeWidth("__WINT_WIDTH__", TI.getWIntType(), TI, Builder);
526 DefineTypeWidth("__SIG_ATOMIC_WIDTH__", TI.getSigAtomicType(), TI, Builder);
527 DefineType("__CHAR16_TYPE__", TI.getChar16Type(), Builder);
528 DefineType("__CHAR32_TYPE__", TI.getChar32Type(), Builder);
530 DefineFloatMacros(Builder, "FLT", &TI.getFloatFormat(), "F");
531 DefineFloatMacros(Builder, "DBL", &TI.getDoubleFormat(), "");
532 DefineFloatMacros(Builder, "LDBL", &TI.getLongDoubleFormat(), "L");
535 Builder.defineMacro("__POINTER_WIDTH__",
539 Builder.defineMacro("__CHAR_UNSIGNED__");
542 Builder.defineMacro("__WCHAR_UNSIGNED__");
545 Builder.defineMacro("__WINT_UNSIGNED__");
548 Builder.defineMacro("__INT" + Twine(TI.getCharWidth()) + "_TYPE__",
552 DefineExactWidthIntType(TargetInfo::SignedShort, TI, Builder);
555 DefineExactWidthIntType(TargetInfo::SignedInt, TI, Builder);
558 DefineExactWidthIntType(TargetInfo::SignedLong, TI, Builder);
561 DefineExactWidthIntType(TargetInfo::SignedLongLong, TI, Builder);
564 Builder.defineMacro("__USER_LABEL_PREFIX__", Prefix);
567 Builder.defineMacro("__FINITE_MATH_ONLY__", "1");
569 Builder.defineMacro("__FINITE_MATH_ONLY__", "0");
572 Builder.defineMacro("__GNUC_GNU_INLINE__");
574 Builder.defineMacro("__GNUC_STDC_INLINE__");
578 Builder.defineMacro("__GCC_ATOMIC_TEST_AND_SET_TRUEVAL", "1");
583 Builder.defineMacro("__GCC_ATOMIC_" #TYPE "_LOCK_FREE", \
596 Builder.defineMacro("__GCC_ATOMIC_POINTER_LOCK_FREE",
603 Builder.defineMacro("__NO_INLINE__");
606 Builder.defineMacro("__PIC__", Twine(PICLevel));
607 Builder.defineMacro("__pic__", Twine(PICLevel));
610 Builder.defineMacro("__PIE__", Twine(PIELevel));
611 Builder.defineMacro("__pie__", Twine(PIELevel));
615 Builder.defineMacro("__FLT_EVAL_METHOD__", Twine(TI.getFloatEvalMethod()));
616 Builder.defineMacro("__FLT_RADIX__", "2");
618 Builder.defineMacro("__DECIMAL_DIG__", Twine(Dig));
621 Builder.defineMacro("__SSP__");
623 Builder.defineMacro("__SSP_ALL__", "2");
626 Builder.defineMacro("__weak", "__attribute__((objc_gc(weak)))");
630 Builder.defineMacro("__clang_analyzer__");
633 Builder.defineMacro("__FAST_RELAXED_MATH__");
636 Builder.defineMacro("__weak", "__attribute__((objc_ownership(weak)))");
637 Builder.defineMacro("__strong", "__attribute__((objc_ownership(strong)))");
638 Builder.defineMacro("__autoreleasing",
640 Builder.defineMacro("__unsafe_unretained",
651 Builder.defineMacro("_OPENMP", "201107");
655 TI.getTargetDefines(LangOpts, Builder);
731 MacroBuilder Builder(Predefines);
740 Builder.append("# 1 \"<built-in>\" 3");
744 InitializePredefinedMacros(PP.getTargetInfo(), LangOpts, FEOpts, Builder);
755 AddObjCXXARCLibstdcxxDefines(LangOpts, Builder);
765 FEOpts, Builder);
770 Builder.append("# 1 \"<command line>\" 1");
775 Builder.undefineMacro(InitOpts.Macros[i].first);
777 DefineBuiltinMacro(Builder, InitOpts.Macros[i].first,
784 AddImplicitIncludeMacros(Builder, InitOpts.MacroIncludes[i],
789 AddImplicitIncludePCH(Builder, PP, InitOpts.ImplicitPCHInclude);
791 AddImplicitIncludePTH(Builder, PP, InitOpts.ImplicitPTHInclude);
796 AddImplicitInclude(Builder, Path, PP.getFileManager());
801 Builder.append("# 1 \"<built-in>\" 2");