Lines Matching refs:Builder

41 static void DefineStd(MacroBuilder &Builder, StringRef MacroName,
48 Builder.defineMacro(MacroName);
51 Builder.defineMacro("__" + MacroName);
54 Builder.defineMacro("__" + MacroName + "__");
57 static void defineCPUMacros(MacroBuilder &Builder, StringRef CPUName,
59 Builder.defineMacro("__" + CPUName);
60 Builder.defineMacro("__" + CPUName + "__");
62 Builder.defineMacro("__tune_" + CPUName + "__");
74 MacroBuilder &Builder) const=0;
78 MacroBuilder &Builder) const override {
79 TgtInfo::getTargetDefines(Opts, Builder);
80 getOSDefines(Opts, TgtInfo::getTriple(), Builder);
87 static void getDarwinDefines(MacroBuilder &Builder, const LangOptions &Opts,
91 Builder.defineMacro("__APPLE_CC__", "6000");
92 Builder.defineMacro("__APPLE__");
93 Builder.defineMacro("OBJC_NEW_PROPERTIES");
97 Builder.defineMacro("_FORTIFY_SOURCE", "0");
101 Builder.defineMacro("__weak", "__attribute__((objc_gc(weak)))");
105 Builder.defineMacro("__strong", "__attribute__((objc_gc(strong)))");
107 Builder.defineMacro("__strong", "");
112 Builder.defineMacro("__unsafe_unretained", "");
116 Builder.defineMacro("__STATIC__");
118 Builder.defineMacro("__DYNAMIC__");
121 Builder.defineMacro("_REENTRANT");
151 Builder.defineMacro("__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__",
176 Builder.defineMacro("__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__", Str);
181 Builder.defineMacro("__MACH__");
192 MacroBuilder &Builder) const override {
193 Builder.defineMacro("__CloudABI__");
194 Builder.defineMacro("__ELF__");
197 Builder.defineMacro("__STDC_ISO_10646__", "201206L");
198 Builder.defineMacro("__STDC_UTF_16__");
199 Builder.defineMacro("__STDC_UTF_32__");
213 MacroBuilder &Builder) const override {
214 getDarwinDefines(Builder, Opts, Triple, this->PlatformName,
252 MacroBuilder &Builder) const override {
254 Builder.defineMacro("__DragonFly__");
255 Builder.defineMacro("__DragonFly_cc_version", "100001");
256 Builder.defineMacro("__ELF__");
257 Builder.defineMacro("__KPRINTF_ATTRIBUTE__");
258 Builder.defineMacro("__tune_i386__");
259 DefineStd(Builder, "unix", Opts);
281 MacroBuilder &Builder) const override {
288 Builder.defineMacro("__FreeBSD__", Twine(Release));
289 Builder.defineMacro("__FreeBSD_cc_version", Twine(Release * 100000U + 1U));
290 Builder.defineMacro("__KPRINTF_ATTRIBUTE__");
291 DefineStd(Builder, "unix", Opts);
292 Builder.defineMacro("__ELF__");
303 Builder.defineMacro("__STDC_MB_MIGHT_NEQ_WC__", "1");
334 MacroBuilder &Builder) const override {
337 DefineStd(Builder, "unix", Opts);
338 Builder.defineMacro("__FreeBSD_kernel__");
339 Builder.defineMacro("__GLIBC__");
340 Builder.defineMacro("__ELF__");
342 Builder.defineMacro("_REENTRANT");
344 Builder.defineMacro("_GNU_SOURCE");
358 MacroBuilder &Builder) const override {
361 Builder.defineMacro("__minix", "3");
362 Builder.defineMacro("_EM_WSIZE", "4");
363 Builder.defineMacro("_EM_PSIZE", "4");
364 Builder.defineMacro("_EM_SSIZE", "2");
365 Builder.defineMacro("_EM_LSIZE", "4");
366 Builder.defineMacro("_EM_FSIZE", "4");
367 Builder.defineMacro("_EM_DSIZE", "8");
368 Builder.defineMacro("__ELF__");
369 DefineStd(Builder, "unix", Opts);
382 MacroBuilder &Builder) const override {
384 DefineStd(Builder, "unix", Opts);
385 DefineStd(Builder, "linux", Opts);
386 Builder.defineMacro("__gnu_linux__");
387 Builder.defineMacro("__ELF__");
389 Builder.defineMacro("__ANDROID__", "1");
396 Builder.defineMacro("_REENTRANT");
398 Builder.defineMacro("_GNU_SOURCE");
426 MacroBuilder &Builder) const override {
428 Builder.defineMacro("__NetBSD__");
429 Builder.defineMacro("__unix__");
430 Builder.defineMacro("__ELF__");
432 Builder.defineMacro("_POSIX_THREADS");
441 Builder.defineMacro("__ARM_DWARF_EH__");
457 MacroBuilder &Builder) const override {
460 Builder.defineMacro("__OpenBSD__");
461 DefineStd(Builder, "unix", Opts);
462 Builder.defineMacro("__ELF__");
464 Builder.defineMacro("_REENTRANT");
494 MacroBuilder &Builder) const override {
497 Builder.defineMacro("__Bitrig__");
498 DefineStd(Builder, "unix", Opts);
499 Builder.defineMacro("__ELF__");
501 Builder.defineMacro("_REENTRANT");
510 Builder.defineMacro("__ARM_DWARF_EH__");
526 MacroBuilder &Builder) const override {
528 Builder.defineMacro("PSP");
529 Builder.defineMacro("_PSP");
530 Builder.defineMacro("__psp__");
531 Builder.defineMacro("__ELF__");
544 MacroBuilder &Builder) const override {
546 Builder.defineMacro("__PPC__");
547 Builder.defineMacro("__PPU__");
548 Builder.defineMacro("__CELLOS_LV2__");
549 Builder.defineMacro("__ELF__");
550 Builder.defineMacro("__LP32__");
551 Builder.defineMacro("_ARCH_PPC64");
552 Builder.defineMacro("__powerpc64__");
570 MacroBuilder &Builder) const override {
571 Builder.defineMacro("__FreeBSD__", "9");
572 Builder.defineMacro("__FreeBSD_cc_version", "900001");
573 Builder.defineMacro("__KPRINTF_ATTRIBUTE__");
574 DefineStd(Builder, "unix", Opts);
575 Builder.defineMacro("__ELF__");
576 Builder.defineMacro("__PS4__");
598 MacroBuilder &Builder) const override {
599 DefineStd(Builder, "sun", Opts);
600 DefineStd(Builder, "unix", Opts);
601 Builder.defineMacro("__ELF__");
602 Builder.defineMacro("__svr4__");
603 Builder.defineMacro("__SVR4");
609 Builder.defineMacro("_XOPEN_SOURCE", "600");
611 Builder.defineMacro("_XOPEN_SOURCE", "500");
613 Builder.defineMacro("__C99FEATURES__");
614 Builder.defineMacro("_LARGEFILE_SOURCE");
615 Builder.defineMacro("_LARGEFILE64_SOURCE");
616 Builder.defineMacro("__EXTENSIONS__");
617 Builder.defineMacro("_REENTRANT");
632 MacroBuilder &Builder) const override {
633 Builder.defineMacro("_WIN32");
636 MacroBuilder &Builder) const {
639 Builder.defineMacro("_CPPRTTI");
642 Builder.defineMacro("_CPPUNWIND");
646 Builder.defineMacro("_CHAR_UNSIGNED");
651 Builder.defineMacro("_MT");
654 Builder.defineMacro("_MSC_VER",
656 Builder.defineMacro("_MSC_FULL_VER", Twine(Opts.MSCompatibilityVersion));
658 Builder.defineMacro("_MSC_BUILD", Twine(1));
661 Builder.defineMacro("_HAS_CHAR16_T_LANGUAGE_SUPPORT", Twine(1));
665 Builder.defineMacro("_MSC_EXTENSIONS");
668 Builder.defineMacro("_RVALUE_REFERENCES_V2_SUPPORTED");
669 Builder.defineMacro("_RVALUE_REFERENCES_SUPPORTED");
670 Builder.defineMacro("_NATIVE_NULLPTR_SUPPORTED");
674 Builder.defineMacro("_INTEGRAL_MAX_BITS", "64");
686 MacroBuilder &Builder) const override {
688 Builder.defineMacro("_REENTRANT");
690 Builder.defineMacro("_GNU_SOURCE");
692 DefineStd(Builder, "unix", Opts);
693 Builder.defineMacro("__ELF__");
694 Builder.defineMacro("__native_client__");
857 MacroBuilder &Builder) const override;
1064 MacroBuilder &Builder) const {
1066 Builder.defineMacro("__ppc__");
1067 Builder.defineMacro("__PPC__");
1068 Builder.defineMacro("_ARCH_PPC");
1069 Builder.defineMacro("__powerpc__");
1070 Builder.defineMacro("__POWERPC__");
1072 Builder.defineMacro("_ARCH_PPC64");
1073 Builder.defineMacro("__powerpc64__");
1074 Builder.defineMacro("__ppc64__");
1075 Builder.defineMacro("__PPC64__");
1080 Builder.defineMacro("_LITTLE_ENDIAN");
1084 Builder.defineMacro("_BIG_ENDIAN");
1089 Builder.defineMacro("_CALL_ELF", "1");
1091 Builder.defineMacro("_CALL_ELF", "2");
1094 Builder.defineMacro("__NATURAL_ALIGNMENT__");
1095 Builder.defineMacro("__REGISTER_PREFIX__", "");
1099 Builder.defineMacro("__LONG_DOUBLE_128__");
1102 Builder.defineMacro("__VEC__", "10206");
1103 Builder.defineMacro("__ALTIVEC__");
1163 Builder.defineMacro(Twine("_ARCH_", StringRef(CPU).upper()));
1165 Builder.defineMacro("_ARCH_PPCGR");
1167 Builder.defineMacro("_ARCH_PPCSQ");
1169 Builder.defineMacro("_ARCH_440");
1171 Builder.defineMacro("_ARCH_603");
1173 Builder.defineMacro("_ARCH_604");
1175 Builder.defineMacro("_ARCH_PWR4");
1177 Builder.defineMacro("_ARCH_PWR5");
1179 Builder.defineMacro("_ARCH_PWR5X");
1181 Builder.defineMacro("_ARCH_PWR6");
1183 Builder.defineMacro("_ARCH_PWR6X");
1185 Builder.defineMacro("_ARCH_PWR7");
1187 Builder.defineMacro("_ARCH_PWR8");
1189 Builder.defineMacro("_ARCH_A2");
1191 Builder.defineMacro("_ARCH_A2Q");
1192 Builder.defineMacro("_ARCH_QP");
1196 Builder.defineMacro("__bg__");
1197 Builder.defineMacro("__THW_BLUEGENE__");
1198 Builder.defineMacro("__bgq__");
1199 Builder.defineMacro("__TOS_BGQ__");
1203 Builder.defineMacro("__VSX__");
1205 Builder.defineMacro("__POWER8_VECTOR__");
1207 Builder.defineMacro("__CRYPTO__");
1209 Builder.defineMacro("__HTM__");
1533 MacroBuilder &Builder) const override {
1534 Builder.defineMacro("__PTX__");
1535 Builder.defineMacro("__NVPTX__");
1558 Builder.defineMacro("__CUDA_ARCH__", CUDAArchCode);
1752 MacroBuilder &Builder) const override {
1753 Builder.defineMacro("__R600__");
1755 Builder.defineMacro("cl_khr_fp64");
2186 MacroBuilder &Builder) const override;
2935 MacroBuilder &Builder) const {
2938 Builder.defineMacro("__amd64__");
2939 Builder.defineMacro("__amd64");
2940 Builder.defineMacro("__x86_64");
2941 Builder.defineMacro("__x86_64__");
2943 Builder.defineMacro("__x86_64h");
2944 Builder.defineMacro("__x86_64h__");
2947 DefineStd(Builder, "i386", Opts);
2958 Builder.defineMacro("__tune_i386__");
2964 defineCPUMacros(Builder, "i486");
2967 Builder.defineMacro("__pentium_mmx__");
2968 Builder.defineMacro("__tune_pentium_mmx__");
2972 defineCPUMacros(Builder, "i586");
2973 defineCPUMacros(Builder, "pentium");
2978 Builder.defineMacro("__tune_pentium3__");
2982 Builder.defineMacro("__tune_pentium2__");
2985 Builder.defineMacro("__tune_i686__");
2986 Builder.defineMacro("__tune_pentiumpro__");
2989 Builder.defineMacro("__i686");
2990 Builder.defineMacro("__i686__");
2992 Builder.defineMacro("__pentiumpro");
2993 Builder.defineMacro("__pentiumpro__");
2997 defineCPUMacros(Builder, "pentium4");
3002 defineCPUMacros(Builder, "nocona");
3006 defineCPUMacros(Builder, "core2");
3009 defineCPUMacros(Builder, "atom");
3012 defineCPUMacros(Builder, "slm");
3023 defineCPUMacros(Builder, "corei7");
3030 defineCPUMacros(Builder, "skx");
3033 defineCPUMacros(Builder, "knl");
3036 Builder.defineMacro("__k6_2__");
3037 Builder.defineMacro("__tune_k6_2__");
3044 Builder.defineMacro("__k6_3__");
3045 Builder.defineMacro("__tune_k6_3__");
3049 defineCPUMacros(Builder, "k6");
3056 defineCPUMacros(Builder, "athlon");
3058 Builder.defineMacro("__athlon_sse__");
3059 Builder.defineMacro("__tune_athlon_sse__");
3070 defineCPUMacros(Builder, "k8");
3073 defineCPUMacros(Builder, "amdfam10");
3076 defineCPUMacros(Builder, "btver1");
3079 defineCPUMacros(Builder, "btver2");
3082 defineCPUMacros(Builder, "bdver1");
3085 defineCPUMacros(Builder, "bdver2");
3088 defineCPUMacros(Builder, "bdver3");
3091 defineCPUMacros(Builder, "bdver4");
3094 defineCPUMacros(Builder, "geode");
3099 Builder.defineMacro("__REGISTER_PREFIX__", "");
3104 Builder.defineMacro("__NO_MATH_INLINES");
3107 Builder.defineMacro("__AES__");
3110 Builder.defineMacro("__PCLMUL__");
3113 Builder.defineMacro("__LZCNT__");
3116 Builder.defineMacro("__RDRND__");
3119 Builder.defineMacro("__FSGSBASE__");
3122 Builder.defineMacro("__BMI__");
3125 Builder.defineMacro("__BMI2__");
3128 Builder.defineMacro("__POPCNT__");
3131 Builder.defineMacro("__RTM__");
3134 Builder.defineMacro("__PRFCHW__");
3137 Builder.defineMacro("__RDSEED__");
3140 Builder.defineMacro("__ADX__");
3143 Builder.defineMacro("__TBM__");
3147 Builder.defineMacro("__XOP__");
3149 Builder.defineMacro("__FMA4__");
3151 Builder.defineMacro("__SSE4A__");
3157 Builder.defineMacro("__FMA__");
3160 Builder.defineMacro("__F16C__");
3163 Builder.defineMacro("__AVX512CD__");
3165 Builder.defineMacro("__AVX512ER__");
3167 Builder.defineMacro("__AVX512PF__");
3169 Builder.defineMacro("__AVX512DQ__");
3171 Builder.defineMacro("__AVX512BW__");
3173 Builder.defineMacro("__AVX512VL__");
3176 Builder.defineMacro("__SHA__");
3179 Builder.defineMacro("__GCC_HAVE_SYNC_COMPARE_AND_SWAP_16");
3184 Builder.defineMacro("__AVX512F__");
3186 Builder.defineMacro("__AVX2__");
3188 Builder.defineMacro("__AVX__");
3190 Builder.defineMacro("__SSE4_2__");
3192 Builder.defineMacro("__SSE4_1__");
3194 Builder.defineMacro("__SSSE3__");
3196 Builder.defineMacro("__SSE3__");
3198 Builder.defineMacro("__SSE2__");
3199 Builder.defineMacro("__SSE2_MATH__"); // -mfp-math=sse always implied.
3201 Builder.defineMacro("__SSE__");
3202 Builder.defineMacro("__SSE_MATH__"); // -mfp-math=sse always implied.
3217 Builder.defineMacro("_M_IX86_FP", Twine(2));
3220 Builder.defineMacro("_M_IX86_FP", Twine(1));
3223 Builder.defineMacro("_M_IX86_FP", Twine(0));
3230 Builder.defineMacro("__3dNOW_A__");
3232 Builder.defineMacro("__3dNOW__");
3234 Builder.defineMacro("__MMX__");
3240 Builder.defineMacro("__GCC_HAVE_SYNC_COMPARE_AND_SWAP_1");
3241 Builder.defineMacro("__GCC_HAVE_SYNC_COMPARE_AND_SWAP_2");
3242 Builder.defineMacro("__GCC_HAVE_SYNC_COMPARE_AND_SWAP_4");
3245 Builder.defineMacro("__GCC_HAVE_SYNC_COMPARE_AND_SWAP_8");
3538 MacroBuilder &Builder) const override {
3539 WindowsTargetInfo<X86_32TargetInfo>::getTargetDefines(Opts, Builder);
3552 MacroBuilder &Builder) const override {
3553 WindowsX86_32TargetInfo::getTargetDefines(Opts, Builder);
3554 WindowsX86_32TargetInfo::getVisualStudioDefines(Opts, Builder);
3558 Builder.defineMacro("_M_IX86", "600");
3563 static void addMinGWDefines(const LangOptions &Opts, MacroBuilder &Builder) {
3564 Builder.defineMacro("__MSVCRT__");
3565 Builder.defineMacro("__MINGW32__");
3571 Builder.defineMacro("__declspec", "__declspec");
3573 Builder.defineMacro("__declspec(a)", "__attribute__((a))");
3584 Builder.defineMacro(Twine("_") + CC, GCCSpelling);
3585 Builder.defineMacro(Twine("__") + CC, GCCSpelling);
3597 MacroBuilder &Builder) const override {
3598 WindowsX86_32TargetInfo::getTargetDefines(Opts, Builder);
3599 DefineStd(Builder, "WIN32", Opts);
3600 DefineStd(Builder, "WINNT", Opts);
3601 Builder.defineMacro("_X86_");
3602 addMinGWDefines(Opts, Builder);
3617 MacroBuilder &Builder) const override {
3618 X86_32TargetInfo::getTargetDefines(Opts, Builder);
3619 Builder.defineMacro("_X86_");
3620 Builder.defineMacro("__CYGWIN__");
3621 Builder.defineMacro("__CYGWIN32__");
3622 DefineStd(Builder, "unix", Opts);
3624 Builder.defineMacro("_GNU_SOURCE");
3640 MacroBuilder &Builder) const override {
3641 X86_32TargetInfo::getTargetDefines(Opts, Builder);
3642 Builder.defineMacro("__INTEL__");
3643 Builder.defineMacro("__HAIKU__");
3652 MacroBuilder &Builder) const override {
3655 Builder.defineMacro("__rtems__");
3656 Builder.defineMacro("__ELF__");
3692 MacroBuilder &Builder) const override {
3693 X86_32TargetInfo::getTargetDefines(Opts, Builder);
3694 Builder.defineMacro("__INTEL__");
3695 Builder.defineMacro("__rtems__");
3777 MacroBuilder &Builder) const override {
3778 WindowsTargetInfo<X86_64TargetInfo>::getTargetDefines(Opts, Builder);
3779 Builder.defineMacro("_WIN64");
3812 MacroBuilder &Builder) const override {
3813 WindowsX86_64TargetInfo::getTargetDefines(Opts, Builder);
3814 WindowsX86_64TargetInfo::getVisualStudioDefines(Opts, Builder);
3815 Builder.defineMacro("_M_X64");
3816 Builder.defineMacro("_M_AMD64");
3826 MacroBuilder &Builder) const override {
3827 WindowsX86_64TargetInfo::getTargetDefines(Opts, Builder);
3828 DefineStd(Builder, "WIN64", Opts);
3829 Builder.defineMacro("__MINGW64__");
3830 addMinGWDefines(Opts, Builder);
3834 Builder.defineMacro("__SEH__");
4337 MacroBuilder &Builder) const override {
4339 Builder.defineMacro("__arm");
4340 Builder.defineMacro("__arm__");
4343 Builder.defineMacro("__REGISTER_PREFIX__", "");
4349 Builder.defineMacro("__ARM_ARCH_" + CPUArch + "__");
4356 Builder.defineMacro("__ARM_ARCH", CPUArch.substr(0, 1));
4358 Builder.defineMacro("__ARM_FEATURE_NUMERIC_MAXMIN");
4359 Builder.defineMacro("__ARM_FEATURE_DIRECTED_ROUNDING");
4366 Builder.defineMacro("__ARM_ARCH_ISA_ARM", "1");
4372 Builder.defineMacro("__ARM_ARCH_ISA_THUMB", "2");
4374 Builder.defineMacro("__ARM_ARCH_ISA_THUMB", "1");
4378 Builder.defineMacro("__ARM_32BIT_STATE", "1");
4384 Builder.defineMacro("__ARM_ARCH_PROFILE", "'" + CPUProfile + "'");
4388 Builder.defineMacro("__ARM_FP", "0x" + llvm::utohexstr(HW_FP));
4391 Builder.defineMacro("__ARM_ACLE", "200");
4399 Builder.defineMacro("__THUMB_INTERWORK__");
4405 Builder.defineMacro("__ARM_EABI__");
4406 Builder.defineMacro("__ARM_PCS", "1");
4409 Builder.defineMacro("__ARM_PCS_VFP", "1");
4413 Builder.defineMacro("__SOFTFP__");
4416 Builder.defineMacro("__XSCALE__");
4419 Builder.defineMacro("__THUMBEL__");
4420 Builder.defineMacro("__thumb__");
4422 Builder.defineMacro("__thumb2__");
4425 Builder.defineMacro("__ARM_ARCH_EXT_IDIV__", "1");
4428 Builder.defineMacro("__APCS_32__");
4431 Builder.defineMacro("__VFP_FP__");
4433 Builder.defineMacro("__ARM_VFPV2__");
4435 Builder.defineMacro("__ARM_VFPV3__");
4437 Builder.defineMacro("__ARM_VFPV4__");
4445 Builder.defineMacro("__ARM_NEON");
4446 Builder.defineMacro("__ARM_NEON__");
4449 Builder.defineMacro("__ARM_SIZEOF_WCHAR_T",
4452 Builder.defineMacro("__ARM_SIZEOF_MINIMAL_ENUM",
4456 Builder.defineMacro("__ARM_FEATURE_CRC32");
4459 Builder.defineMacro("__ARM_FEATURE_CRYPTO");
4462 Builder.defineMacro("__GCC_HAVE_SYNC_COMPARE_AND_SWAP_1");
4463 Builder.defineMacro("__GCC_HAVE_SYNC_COMPARE_AND_SWAP_2");
4464 Builder.defineMacro("__GCC_HAVE_SYNC_COMPARE_AND_SWAP_4");
4465 Builder.defineMacro("__GCC_HAVE_SYNC_COMPARE_AND_SWAP_8");
4473 Builder.defineMacro("__ARM_FEATURE_DSP");
4669 MacroBuilder &Builder) const override {
4670 Builder.defineMacro("__ARMEL__");
4671 ARMTargetInfo::getTargetDefines(Opts, Builder);
4680 MacroBuilder &Builder) const override {
4681 Builder.defineMacro("__ARMEB__");
4682 Builder.defineMacro("__ARM_BIG_ENDIAN");
4683 ARMTargetInfo::getTargetDefines(Opts, Builder);
4698 MacroBuilder &Builder) const {
4699 WindowsTargetInfo<ARMleTargetInfo>::getVisualStudioDefines(Opts, Builder);
4702 Builder.defineMacro("_M_ARM_NT", "1");
4703 Builder.defineMacro("_M_ARMT", "_M_ARM");
4704 Builder.defineMacro("_M_THUMB", "_M_ARM");
4710 Builder.defineMacro("_M_ARM", Triple.getArchName().substr(Offset));
4714 Builder.defineMacro("_M_ARM_FP", "31");
4730 MacroBuilder &Builder) const override {
4731 WindowsARMTargetInfo::getTargetDefines(Opts, Builder);
4734 WindowsARMTargetInfo::getVisualStudioDefines(Opts, Builder);
4747 MacroBuilder &Builder) const override {
4748 WindowsARMTargetInfo::getTargetDefines(Opts, Builder);
4749 WindowsARMTargetInfo::getVisualStudioDefines(Opts, Builder);
4757 MacroBuilder &Builder) const override {
4758 getDarwinDefines(Builder, Opts, Triple, PlatformName, PlatformMinVersion);
4853 MacroBuilder &Builder) const override {
4855 Builder.defineMacro("__aarch64__");
4858 Builder.defineMacro("_LP64");
4859 Builder.defineMacro("__LP64__");
4862 Builder.defineMacro("__ARM_ACLE", "200");
4863 Builder.defineMacro("__ARM_ARCH", "8");
4864 Builder.defineMacro("__ARM_ARCH_PROFILE", "'A'");
4866 Builder.defineMacro("__ARM_64BIT_STATE");
4867 Builder.defineMacro("__ARM_PCS_AAPCS64");
4868 Builder.defineMacro("__ARM_ARCH_ISA_A64");
4870 Builder.defineMacro("__ARM_FEATURE_UNALIGNED");
4871 Builder.defineMacro("__ARM_FEATURE_CLZ");
4872 Builder.defineMacro("__ARM_FEATURE_FMA");
4873 Builder.defineMacro("__ARM_FEATURE_DIV");
4874 Builder.defineMacro("__ARM_FEATURE_IDIV"); // As specified in ACLE
4875 Builder.defineMacro("__ARM_FEATURE_DIV"); // For backwards compatibility
4876 Builder.defineMacro("__ARM_FEATURE_NUMERIC_MAXMIN");
4877 Builder.defineMacro("__ARM_FEATURE_DIRECTED_ROUNDING");
4879 Builder.defineMacro("__ARM_ALIGN_MAX_STACK_PWR", "4");
4882 Builder.defineMacro("__ARM_FP", "0xe");
4886 Builder.defineMacro("__ARM_FP16_FORMAT_IEEE");
4889 Builder.defineMacro("__ARM_FP_FAST");
4892 Builder.defineMacro("__ARM_FP_FENV_ROUNDING");
4894 Builder.defineMacro("__ARM_SIZEOF_WCHAR_T", Opts.ShortWChar ? "2" : "4");
4896 Builder.defineMacro("__ARM_SIZEOF_MINIMAL_ENUM",
4900 Builder.defineMacro("__ARM_NEON");
4902 Builder.defineMacro("__ARM_NEON_FP", "0xe");
4906 Builder.defineMacro("__ARM_FEATURE_CRC32");
4909 Builder.defineMacro("__ARM_FEATURE_CRYPTO");
5107 MacroBuilder &Builder) const override {
5108 Builder.defineMacro("__AARCH64EL__");
5109 AArch64TargetInfo::getTargetDefines(Opts, Builder);
5123 MacroBuilder &Builder) const override {
5124 Builder.defineMacro("__AARCH64EB__");
5125 Builder.defineMacro("__AARCH_BIG_ENDIAN");
5126 Builder.defineMacro("__ARM_BIG_ENDIAN");
5127 AArch64TargetInfo::getTargetDefines(Opts, Builder);
5134 MacroBuilder &Builder) const override {
5135 Builder.defineMacro("__AARCH64_SIMD__");
5136 Builder.defineMacro("__ARM64_ARCH_8__");
5137 Builder.defineMacro("__ARM_NEON__");
5138 Builder.defineMacro("__LITTLE_ENDIAN__");
5139 Builder.defineMacro("__REGISTER_PREFIX__", "");
5140 Builder.defineMacro("__arm64", "1");
5141 Builder.defineMacro("__arm64__", "1");
5143 getDarwinDefines(Builder, Opts, Triple, PlatformName, PlatformMinVersion);
5192 MacroBuilder &Builder) const override;
5226 MacroBuilder &Builder) const {
5227 Builder.defineMacro("qdsp6");
5228 Builder.defineMacro("__qdsp6", "1");
5229 Builder.defineMacro("__qdsp6__", "1");
5231 Builder.defineMacro("hexagon");
5232 Builder.defineMacro("__hexagon", "1");
5233 Builder.defineMacro("__hexagon__", "1");
5236 Builder.defineMacro("__HEXAGON_V1__");
5237 Builder.defineMacro("__HEXAGON_ARCH__", "1");
5239 Builder.defineMacro("__QDSP6_V1__");
5240 Builder.defineMacro("__QDSP6_ARCH__", "1");
5244 Builder.defineMacro("__HEXAGON_V2__");
5245 Builder.defineMacro("__HEXAGON_ARCH__", "2");
5247 Builder.defineMacro("__QDSP6_V2__");
5248 Builder.defineMacro("__QDSP6_ARCH__", "2");
5252 Builder.defineMacro("__HEXAGON_V3__");
5253 Builder.defineMacro("__HEXAGON_ARCH__", "3");
5255 Builder.defineMacro("__QDSP6_V3__");
5256 Builder.defineMacro("__QDSP6_ARCH__", "3");
5260 Builder.defineMacro("__HEXAGON_V4__");
5261 Builder.defineMacro("__HEXAGON_ARCH__", "4");
5263 Builder.defineMacro("__QDSP6_V4__");
5264 Builder.defineMacro("__QDSP6_ARCH__", "4");
5268 Builder.defineMacro("__HEXAGON_V5__");
5269 Builder.defineMacro("__HEXAGON_ARCH__", "5");
5271 Builder.defineMacro("__QDSP6_V5__");
5272 Builder.defineMacro("__QDSP6_ARCH__", "5");
5330 MacroBuilder &Builder) const override {
5331 DefineStd(Builder, "sparc", Opts);
5332 Builder.defineMacro("__REGISTER_PREFIX__", "");
5335 Builder.defineMacro("SOFT_FLOAT", "1");
5439 MacroBuilder &Builder) const override {
5440 SparcTargetInfo::getTargetDefines(Opts, Builder);
5441 Builder.defineMacro("__sparcv8");
5470 MacroBuilder &Builder) const override {
5471 SparcTargetInfo::getTargetDefines(Opts, Builder);
5472 Builder.defineMacro("__sparcv9");
5473 Builder.defineMacro("__arch64__");
5476 Builder.defineMacro("__sparc64__");
5477 Builder.defineMacro("__sparc_v9__");
5478 Builder.defineMacro("__sparcv9__");
5531 MacroBuilder &Builder) const override {
5532 Builder.defineMacro("__s390__");
5533 Builder.defineMacro("__s390x__");
5534 Builder.defineMacro("__zarch__");
5535 Builder.defineMacro("__LONG_DOUBLE_128__");
5537 Builder.defineMacro("__HTM__");
5662 MacroBuilder &Builder) const override {
5663 Builder.defineMacro("MSP430");
5664 Builder.defineMacro("__MSP430__");
5768 MacroBuilder &Builder) const override {
5769 DefineStd(Builder, "tce", Opts);
5770 Builder.defineMacro("__TCE__");
5771 Builder.defineMacro("__TCE_V1__");
5870 MacroBuilder &Builder) const override {
5871 Builder.defineMacro("__mips__");
5872 Builder.defineMacro("_mips");
5874 Builder.defineMacro("mips");
5876 Builder.defineMacro("__REGISTER_PREFIX__", "");
5880 Builder.defineMacro("__mips_hard_float", Twine(1));
5883 Builder.defineMacro("__mips_soft_float", Twine(1));
5888 Builder.defineMacro("__mips_single_float", Twine(1));
5890 Builder.defineMacro("__mips_fpr", HasFP64 ? Twine(64) : Twine(32));
5891 Builder.defineMacro("_MIPS_FPSET",
5895 Builder.defineMacro("__mips16", Twine(1));
5898 Builder.defineMacro("__mips_micromips", Twine(1));
5901 Builder.defineMacro("__mips_nan2008", Twine(1));
5907 Builder.defineMacro("__mips_dsp_rev", Twine(1));
5908 Builder.defineMacro("__mips_dsp", Twine(1));
5911 Builder.defineMacro("__mips_dsp_rev", Twine(2));
5912 Builder.defineMacro("__mips_dspr2", Twine(1));
5913 Builder.defineMacro("__mips_dsp", Twine(1));
5918 Builder.defineMacro("__mips_msa", Twine(1));
5920 Builder.defineMacro("_MIPS_SZPTR", Twine(getPointerWidth(0)));
5921 Builder.defineMacro("_MIPS_SZINT", Twine(getIntWidth()));
5922 Builder.defineMacro("_MIPS_SZLONG", Twine(getLongWidth()));
5924 Builder.defineMacro("_MIPS_ARCH", "\"" + CPU + "\"");
5925 Builder.defineMacro("_MIPS_ARCH_" + StringRef(CPU).upper());
6129 MacroBuilder &Builder) const override {
6130 MipsTargetInfoBase::getTargetDefines(Opts, Builder);
6132 Builder.defineMacro("__mips", "32");
6133 Builder.defineMacro("_MIPS_ISA", "_MIPS_ISA_MIPS32");
6137 Builder.defineMacro("__mips_isa_rev", "1");
6139 Builder.defineMacro("__mips_isa_rev", "2");
6141 Builder.defineMacro("__mips_isa_rev", "3");
6143 Builder.defineMacro("__mips_isa_rev", "5");
6145 Builder.defineMacro("__mips_isa_rev", "6");
6148 Builder.defineMacro("__mips_o32");
6149 Builder.defineMacro("_ABIO32", "1");
6150 Builder.defineMacro("_MIPS_SIM", "_ABIO32");
6153 Builder.defineMacro("__mips_eabi");
6207 MacroBuilder &Builder) const override {
6208 DefineStd(Builder, "MIPSEB", Opts);
6209 Builder.defineMacro("_MIPSEB");
6210 Mips32TargetInfoBase::getTargetDefines(Opts, Builder);
6225 MacroBuilder &Builder) const override {
6226 DefineStd(Builder, "MIPSEL", Opts);
6227 Builder.defineMacro("_MIPSEL");
6228 Mips32TargetInfoBase::getTargetDefines(Opts, Builder);
6280 MacroBuilder &Builder) const override {
6281 MipsTargetInfoBase::getTargetDefines(Opts, Builder);
6283 Builder.defineMacro("__mips", "64");
6284 Builder.defineMacro("__mips64");
6285 Builder.defineMacro("__mips64__");
6286 Builder.defineMacro("_MIPS_ISA", "_MIPS_ISA_MIPS64");
6290 Builder.defineMacro("__mips_isa_rev", "1");
6292 Builder.defineMacro("__mips_isa_rev", "2");
6294 Builder.defineMacro("__mips_isa_rev", "3");
6296 Builder.defineMacro("__mips_isa_rev", "5");
6298 Builder.defineMacro("__mips_isa_rev", "6");
6301 Builder.defineMacro("__mips_n32");
6302 Builder.defineMacro("_ABIN32", "2");
6303 Builder.defineMacro("_MIPS_SIM", "_ABIN32");
6306 Builder.defineMacro("__mips_n64");
6307 Builder.defineMacro("_ABI64", "3");
6308 Builder.defineMacro("_MIPS_SIM", "_ABI64");
6368 MacroBuilder &Builder) const override {
6369 DefineStd(Builder, "MIPSEB", Opts);
6370 Builder.defineMacro("_MIPSEB");
6371 Mips64TargetInfoBase::getTargetDefines(Opts, Builder);
6389 MacroBuilder &Builder) const override {
6390 DefineStd(Builder, "MIPSEL", Opts);
6391 Builder.defineMacro("_MIPSEL");
6392 Mips64TargetInfoBase::getTargetDefines(Opts, Builder);
6418 void getArchDefines(const LangOptions &Opts, MacroBuilder &Builder) const {
6419 Builder.defineMacro("__le32__");
6420 Builder.defineMacro("__pnacl__");
6423 MacroBuilder &Builder) const override {
6424 getArchDefines(Opts, Builder);
6475 MacroBuilder &Builder) const override {
6476 DefineStd(Builder, "unix", Opts);
6477 defineCPUMacros(Builder, "le64", /*Tuning=*/false);
6478 Builder.defineMacro("__ELF__");
6541 MacroBuilder &Builder) const override {
6542 DefineStd(Builder, "SPIR", Opts);
6588 MacroBuilder &Builder) const override {
6589 DefineStd(Builder, "SPIR32", Opts);
6603 MacroBuilder &Builder) const override {
6604 DefineStd(Builder, "SPIR64", Opts);
6627 MacroBuilder &Builder) const override {
6628 Builder.defineMacro("__XS1B__");