reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced

References

tools/clang/include/clang/Basic/OpenCLExtensions.def
   36 OPENCLEXT_INTERNAL(cl_khr_3d_image_writes, 100, 200)
   38 OPENCLEXT_INTERNAL(cl_khr_select_fprounding_mode, 100, 110)
   39 OPENCLEXT_INTERNAL(cl_khr_byte_addressable_store, 100, 110)
   40 OPENCLEXT_INTERNAL(cl_khr_fp16, 100, ~0U)
   41 OPENCLEXT_INTERNAL(cl_khr_fp64, 100, 120)
   42 OPENCLEXT_INTERNAL(cl_khr_global_int32_base_atomics, 100, 110)
   43 OPENCLEXT_INTERNAL(cl_khr_global_int32_extended_atomics, 100, 110)
   44 OPENCLEXT_INTERNAL(cl_khr_local_int32_base_atomics, 100, 110)
   45 OPENCLEXT_INTERNAL(cl_khr_local_int32_extended_atomics, 100, 110)
   46 OPENCLEXT_INTERNAL(cl_khr_int64_base_atomics, 100, ~0U)
   47 OPENCLEXT_INTERNAL(cl_khr_int64_extended_atomics, 100, ~0U)
   48 OPENCLEXT_INTERNAL(cl_khr_gl_sharing, 100, ~0U)
   49 OPENCLEXT_INTERNAL(cl_khr_icd, 100, ~0U)
   52 OPENCLEXT_INTERNAL(cl_khr_gl_event, 110, ~0U)
   53 OPENCLEXT_INTERNAL(cl_khr_d3d10_sharing, 110, ~0U)
   56 OPENCLEXT_INTERNAL(cles_khr_int64, 110, ~0U)
   59 OPENCLEXT_INTERNAL(cl_khr_context_abort, 120, ~0U)
   60 OPENCLEXT_INTERNAL(cl_khr_d3d11_sharing, 120, ~0U)
   61 OPENCLEXT_INTERNAL(cl_khr_depth_images, 120, ~0U)
   62 OPENCLEXT_INTERNAL(cl_khr_dx9_media_sharing, 120, ~0U)
   63 OPENCLEXT_INTERNAL(cl_khr_image2d_from_buffer, 120, ~0U)
   64 OPENCLEXT_INTERNAL(cl_khr_initialize_memory, 120, ~0U)
   65 OPENCLEXT_INTERNAL(cl_khr_gl_depth_images, 120, ~0U)
   66 OPENCLEXT_INTERNAL(cl_khr_gl_msaa_sharing, 120, ~0U)
   67 OPENCLEXT_INTERNAL(cl_khr_spir, 120, ~0U)
   70 OPENCLEXT_INTERNAL(cl_khr_egl_event, 200, ~0U)
   71 OPENCLEXT_INTERNAL(cl_khr_egl_image, 200, ~0U)
   72 OPENCLEXT_INTERNAL(cl_khr_mipmap_image, 200, ~0U)
   73 OPENCLEXT_INTERNAL(cl_khr_srgb_image_writes, 200, ~0U)
   74 OPENCLEXT_INTERNAL(cl_khr_subgroups, 200, ~0U)
   75 OPENCLEXT_INTERNAL(cl_khr_terminate_context, 200, ~0U)
   78 OPENCLEXT_INTERNAL(cl_clang_storage_class_specifiers, 100, ~0U)
   81 OPENCLEXT_INTERNAL(cl_amd_media_ops, 100, ~0U)
   82 OPENCLEXT_INTERNAL(cl_amd_media_ops2, 100, ~0U)
   85 OPENCLEXT_INTERNAL(cl_arm_integer_dot_product_int8, 120, ~0U)
   86 OPENCLEXT_INTERNAL(cl_arm_integer_dot_product_accumulate_int8, 120, ~0U)
   87 OPENCLEXT_INTERNAL(cl_arm_integer_dot_product_accumulate_int16, 120, ~0U)
   88 OPENCLEXT_INTERNAL(cl_arm_integer_dot_product_accumulate_saturate_int8, 120, ~0U)
   91 OPENCLEXT_INTERNAL(cl_intel_subgroups, 120, ~0U)
   92 OPENCLEXT_INTERNAL(cl_intel_subgroups_short, 120, ~0U)
   93 OPENCLEXT_INTERNAL(cl_intel_device_side_avc_motion_estimation, 120, ~0U)
tools/clang/lib/Basic/Targets.cpp
   61     Builder.defineMacro(MacroName);
   64   Builder.defineMacro("__" + MacroName);
   67   Builder.defineMacro("__" + MacroName + "__");
   71   Builder.defineMacro("__" + CPUName);
   72   Builder.defineMacro("__" + CPUName + "__");
   74     Builder.defineMacro("__tune_" + CPUName + "__");
   82     Builder.defineMacro("__declspec", "__declspec");
   84     Builder.defineMacro("__declspec(a)", "__attribute__((a))");
   95       Builder.defineMacro(Twine("_") + CC, GCCSpelling);
   96       Builder.defineMacro(Twine("__") + CC, GCCSpelling);
tools/clang/lib/Basic/Targets/AArch64.cpp
  122   Builder.defineMacro("__ARM_FEATURE_QRDMX", "1");
  133   Builder.defineMacro("__ARM_FEATURE_JCVT", "1");
  156   Builder.defineMacro("__aarch64__");
  160     Builder.defineMacro("__ELF__");
  164     Builder.defineMacro("_LP64");
  165     Builder.defineMacro("__LP64__");
  169   Builder.defineMacro("__ARM_ACLE", "200");
  170   Builder.defineMacro("__ARM_ARCH", "8");
  171   Builder.defineMacro("__ARM_ARCH_PROFILE", "'A'");
  173   Builder.defineMacro("__ARM_64BIT_STATE", "1");
  174   Builder.defineMacro("__ARM_PCS_AAPCS64", "1");
  175   Builder.defineMacro("__ARM_ARCH_ISA_A64", "1");
  177   Builder.defineMacro("__ARM_FEATURE_CLZ", "1");
  178   Builder.defineMacro("__ARM_FEATURE_FMA", "1");
  179   Builder.defineMacro("__ARM_FEATURE_LDREX", "0xF");
  180   Builder.defineMacro("__ARM_FEATURE_IDIV", "1"); // As specified in ACLE
  181   Builder.defineMacro("__ARM_FEATURE_DIV");       // For backwards compatibility
  182   Builder.defineMacro("__ARM_FEATURE_NUMERIC_MAXMIN", "1");
  183   Builder.defineMacro("__ARM_FEATURE_DIRECTED_ROUNDING", "1");
  185   Builder.defineMacro("__ARM_ALIGN_MAX_STACK_PWR", "4");
  188   Builder.defineMacro("__ARM_FP", "0xE");
  192   Builder.defineMacro("__ARM_FP16_FORMAT_IEEE", "1");
  193   Builder.defineMacro("__ARM_FP16_ARGS", "1");
  196     Builder.defineMacro("__ARM_FP_FAST", "1");
  198   Builder.defineMacro("__ARM_SIZEOF_WCHAR_T",
  201   Builder.defineMacro("__ARM_SIZEOF_MINIMAL_ENUM", Opts.ShortEnums ? "1" : "4");
  204     Builder.defineMacro("__ARM_NEON", "1");
  206     Builder.defineMacro("__ARM_NEON_FP", "0xE");
  210     Builder.defineMacro("__ARM_FEATURE_CRC32", "1");
  213     Builder.defineMacro("__ARM_FEATURE_CRYPTO", "1");
  216     Builder.defineMacro("__ARM_FEATURE_UNALIGNED", "1");
  219     Builder.defineMacro("__ARM_FEATURE_FP16_VECTOR_ARITHMETIC", "1");
  221    Builder.defineMacro("__ARM_FEATURE_FP16_SCALAR_ARITHMETIC", "1");
  224     Builder.defineMacro("__ARM_FEATURE_DOTPROD", "1");
  227     Builder.defineMacro("__ARM_FEATURE_MEMORY_TAGGING", "1");
  230     Builder.defineMacro("__ARM_FEATURE_TME", "1");
  233     Builder.defineMacro("__ARM_FEATURE_FP16FML", "1");
  256   Builder.defineMacro("__GCC_HAVE_SYNC_COMPARE_AND_SWAP_1");
  257   Builder.defineMacro("__GCC_HAVE_SYNC_COMPARE_AND_SWAP_2");
  258   Builder.defineMacro("__GCC_HAVE_SYNC_COMPARE_AND_SWAP_4");
  259   Builder.defineMacro("__GCC_HAVE_SYNC_COMPARE_AND_SWAP_8");
  522   Builder.defineMacro("__AARCH64EL__");
  532   Builder.defineMacro("__AARCH64EB__");
  533   Builder.defineMacro("__AARCH_BIG_ENDIAN");
  534   Builder.defineMacro("__ARM_BIG_ENDIAN");
  599   Builder.defineMacro("_M_ARM64", "1");
  645   Builder.defineMacro("__AARCH64_SIMD__");
  646   Builder.defineMacro("__ARM64_ARCH_8__");
  647   Builder.defineMacro("__ARM_NEON__");
  648   Builder.defineMacro("__LITTLE_ENDIAN__");
  649   Builder.defineMacro("__REGISTER_PREFIX__", "");
  650   Builder.defineMacro("__arm64", "1");
  651   Builder.defineMacro("__arm64__", "1");
  673   Builder.defineMacro("__RENDERSCRIPT__");
tools/clang/lib/Basic/Targets/AMDGPU.cpp
  309   Builder.defineMacro("__AMD__");
  310   Builder.defineMacro("__AMDGPU__");
  313     Builder.defineMacro("__AMDGCN__");
  315     Builder.defineMacro("__R600__");
  320     Builder.defineMacro(Twine("__") + Twine(CanonName) + Twine("__"));
  326     Builder.defineMacro("__HAS_FMAF__");
  328     Builder.defineMacro("FP_FAST_FMAF");
  330     Builder.defineMacro("__HAS_LDEXPF__");
  332     Builder.defineMacro("__HAS_FP64__");
  334     Builder.defineMacro("FP_FAST_FMA");
tools/clang/lib/Basic/Targets/ARC.cpp
   23   Builder.defineMacro("__arc__");
tools/clang/lib/Basic/Targets/ARM.cpp
  574   Builder.defineMacro("__ARM_FEATURE_QRDMX", "1");
  586   Builder.defineMacro("__arm");
  587   Builder.defineMacro("__arm__");
  592     Builder.defineMacro("__ELF__");
  595   Builder.defineMacro("__REGISTER_PREFIX__", "");
  600     Builder.defineMacro("__ARM_ARCH_7K__", "2");
  603     Builder.defineMacro("__ARM_ARCH_" + CPUAttr + "__");
  607   Builder.defineMacro("__ARM_ARCH", Twine(ArchVersion));
  612       Builder.defineMacro("__ARM_FEATURE_CRYPTO", "1");
  615       Builder.defineMacro("__ARM_FEATURE_CRC32", "1");
  617     Builder.defineMacro("__ARM_FEATURE_NUMERIC_MAXMIN", "1");
  619     Builder.defineMacro("__ARM_FEATURE_DIRECTED_ROUNDING", "1");
  626     Builder.defineMacro("__ARM_ARCH_ISA_ARM", "1");
  633     Builder.defineMacro("__ARM_ARCH_ISA_THUMB", "2");
  635     Builder.defineMacro("__ARM_ARCH_ISA_THUMB", "1");
  639   Builder.defineMacro("__ARM_32BIT_STATE", "1");
  645     Builder.defineMacro("__ARM_ARCH_PROFILE", "'" + CPUProfile + "'");
  649     Builder.defineMacro("__ARM_FEATURE_UNALIGNED", "1");
  653     Builder.defineMacro("__ARM_FEATURE_LDREX", "0x" + Twine::utohexstr(LDREX));
  658     Builder.defineMacro("__ARM_FEATURE_CLZ", "1");
  662     Builder.defineMacro("__ARM_FP", "0x" + Twine::utohexstr(HW_FP));
  665   Builder.defineMacro("__ARM_ACLE", "200");
  668   Builder.defineMacro("__ARM_FP16_FORMAT_IEEE", "1");
  669   Builder.defineMacro("__ARM_FP16_ARGS", "1");
  673     Builder.defineMacro("__ARM_FEATURE_FMA", "1");
  681     Builder.defineMacro("__THUMB_INTERWORK__");
  687       Builder.defineMacro("__ARM_EABI__");
  688     Builder.defineMacro("__ARM_PCS", "1");
  692     Builder.defineMacro("__ARM_PCS_VFP", "1");
  695     Builder.defineMacro("__SOFTFP__");
  699     Builder.defineMacro("__ARM_ROPI", "1");
  701     Builder.defineMacro("__ARM_RWPI", "1");
  704     Builder.defineMacro("__XSCALE__");
  707     Builder.defineMacro("__THUMBEL__");
  708     Builder.defineMacro("__thumb__");
  710       Builder.defineMacro("__thumb2__");
  715     Builder.defineMacro("__ARM_FEATURE_SIMD32", "1");
  720     Builder.defineMacro("__ARM_FEATURE_IDIV", "1");
  721     Builder.defineMacro("__ARM_ARCH_EXT_IDIV__", "1");
  725   Builder.defineMacro("__APCS_32__");
  728     Builder.defineMacro("__VFP_FP__");
  730       Builder.defineMacro("__ARM_VFPV2__");
  732       Builder.defineMacro("__ARM_VFPV3__");
  734       Builder.defineMacro("__ARM_VFPV4__");
  736       Builder.defineMacro("__ARM_FPV5__");
  744     Builder.defineMacro("__ARM_NEON", "1");
  745     Builder.defineMacro("__ARM_NEON__");
  748     Builder.defineMacro("__ARM_NEON_FP",
  753     Builder.defineMacro("__ARM_FEATURE_MVE", hasMVEFloat() ? "3" : "1");
  756   Builder.defineMacro("__ARM_SIZEOF_WCHAR_T",
  759   Builder.defineMacro("__ARM_SIZEOF_MINIMAL_ENUM", Opts.ShortEnums ? "1" : "4");
  763     Builder.defineMacro("__ARM_FEATURE_CMSE", Opts.Cmse ? "3" : "1");
  766     Builder.defineMacro("__GCC_HAVE_SYNC_COMPARE_AND_SWAP_1");
  767     Builder.defineMacro("__GCC_HAVE_SYNC_COMPARE_AND_SWAP_2");
  768     Builder.defineMacro("__GCC_HAVE_SYNC_COMPARE_AND_SWAP_4");
  769     Builder.defineMacro("__GCC_HAVE_SYNC_COMPARE_AND_SWAP_8");
  774     Builder.defineMacro("__ARM_FEATURE_DSP", "1");
  780     Builder.defineMacro("__ARM_FEATURE_SAT", "1");
  786     Builder.defineMacro("__ARM_FEATURE_QBIT", "1");
  789     Builder.defineMacro("__ARM_FP_FAST", "1");
  793     Builder.defineMacro("__ARM_FEATURE_FP16_VECTOR_ARITHMETIC", "1");
  797     Builder.defineMacro("__ARM_FEATURE_FP16_SCALAR_ARITHMETIC", "1");
  801     Builder.defineMacro("__ARM_FEATURE_DOTPROD", "1");
 1094   Builder.defineMacro("__ARMEL__");
 1104   Builder.defineMacro("__ARMEB__");
 1105   Builder.defineMacro("__ARM_BIG_ENDIAN");
 1117   Builder.defineMacro("_M_ARM_NT", "1");
 1118   Builder.defineMacro("_M_ARMT", "_M_ARM");
 1119   Builder.defineMacro("_M_THUMB", "_M_ARM");
 1125   Builder.defineMacro("_M_ARM", Triple.getArchName().substr(Offset));
 1129   Builder.defineMacro("_M_ARM_FP", "31");
 1193   Builder.defineMacro("_ARM_");
 1208   Builder.defineMacro("_ARM_");
 1209   Builder.defineMacro("__CYGWIN__");
 1210   Builder.defineMacro("__CYGWIN32__");
 1213     Builder.defineMacro("_GNU_SOURCE");
 1253   Builder.defineMacro("__RENDERSCRIPT__");
tools/clang/lib/Basic/Targets/AVR.cpp
  300   Builder.defineMacro("AVR");
  301   Builder.defineMacro("__AVR");
  302   Builder.defineMacro("__AVR__");
  309       Builder.defineMacro(It->DefineName);
tools/clang/lib/Basic/Targets/BPF.cpp
   30   Builder.defineMacro("__bpf__");
   31   Builder.defineMacro("__BPF__");
tools/clang/lib/Basic/Targets/Hexagon.cpp
   24   Builder.defineMacro("__qdsp6__", "1");
   25   Builder.defineMacro("__hexagon__", "1");
   28     Builder.defineMacro("__HEXAGON_V5__");
   29     Builder.defineMacro("__HEXAGON_ARCH__", "5");
   31       Builder.defineMacro("__QDSP6_V5__");
   32       Builder.defineMacro("__QDSP6_ARCH__", "5");
   35     Builder.defineMacro("__HEXAGON_V55__");
   36     Builder.defineMacro("__HEXAGON_ARCH__", "55");
   37     Builder.defineMacro("__QDSP6_V55__");
   38     Builder.defineMacro("__QDSP6_ARCH__", "55");
   40     Builder.defineMacro("__HEXAGON_V60__");
   41     Builder.defineMacro("__HEXAGON_ARCH__", "60");
   42     Builder.defineMacro("__QDSP6_V60__");
   43     Builder.defineMacro("__QDSP6_ARCH__", "60");
   45     Builder.defineMacro("__HEXAGON_V62__");
   46     Builder.defineMacro("__HEXAGON_ARCH__", "62");
   48     Builder.defineMacro("__HEXAGON_V65__");
   49     Builder.defineMacro("__HEXAGON_ARCH__", "65");
   51     Builder.defineMacro("__HEXAGON_V66__");
   52     Builder.defineMacro("__HEXAGON_ARCH__", "66");
   56     Builder.defineMacro("__HVX__");
   57     Builder.defineMacro("__HVX_ARCH__", HVXVersion);
   58     Builder.defineMacro("__HVX_LENGTH__", "64");
   62     Builder.defineMacro("__HVX__");
   63     Builder.defineMacro("__HVX_ARCH__", HVXVersion);
   64     Builder.defineMacro("__HVX_LENGTH__", "128");
   66     Builder.defineMacro("__HVXDBL__");
tools/clang/lib/Basic/Targets/Lanai.cpp
   60   Builder.defineMacro("__lanai__");
   65     Builder.defineMacro("__LANAI_V11__");
tools/clang/lib/Basic/Targets/Le64.cpp
   37   Builder.defineMacro("__ELF__");
tools/clang/lib/Basic/Targets/MSP430.cpp
   30   Builder.defineMacro("MSP430");
   31   Builder.defineMacro("__MSP430__");
tools/clang/lib/Basic/Targets/Mips.cpp
   75     Builder.defineMacro("_MIPSEB");
   78     Builder.defineMacro("_MIPSEL");
   81   Builder.defineMacro("__mips__");
   82   Builder.defineMacro("_mips");
   84     Builder.defineMacro("mips");
   87     Builder.defineMacro("__mips", "32");
   88     Builder.defineMacro("_MIPS_ISA", "_MIPS_ISA_MIPS32");
   90     Builder.defineMacro("__mips", "64");
   91     Builder.defineMacro("__mips64");
   92     Builder.defineMacro("__mips64__");
   93     Builder.defineMacro("_MIPS_ISA", "_MIPS_ISA_MIPS64");
   99     Builder.defineMacro("__mips_isa_rev", ISARev);
  102     Builder.defineMacro("__mips_o32");
  103     Builder.defineMacro("_ABIO32", "1");
  104     Builder.defineMacro("_MIPS_SIM", "_ABIO32");
  106     Builder.defineMacro("__mips_n32");
  107     Builder.defineMacro("_ABIN32", "2");
  108     Builder.defineMacro("_MIPS_SIM", "_ABIN32");
  110     Builder.defineMacro("__mips_n64");
  111     Builder.defineMacro("_ABI64", "3");
  112     Builder.defineMacro("_MIPS_SIM", "_ABI64");
  117     Builder.defineMacro("__mips_abicalls");
  119       Builder.defineMacro("__ABICALLS__");
  122   Builder.defineMacro("__REGISTER_PREFIX__", "");
  126     Builder.defineMacro("__mips_hard_float", Twine(1));
  129     Builder.defineMacro("__mips_soft_float", Twine(1));
  134     Builder.defineMacro("__mips_single_float", Twine(1));
  138     Builder.defineMacro("__mips_fpr", Twine(0));
  141     Builder.defineMacro("__mips_fpr", Twine(32));
  144     Builder.defineMacro("__mips_fpr", Twine(64));
  149     Builder.defineMacro("_MIPS_FPSET", Twine(32));
  151     Builder.defineMacro("_MIPS_FPSET", Twine(16));
  154     Builder.defineMacro("__mips16", Twine(1));
  157     Builder.defineMacro("__mips_micromips", Twine(1));
  160     Builder.defineMacro("__mips_nan2008", Twine(1));
  163     Builder.defineMacro("__mips_abs2008", Twine(1));
  169     Builder.defineMacro("__mips_dsp_rev", Twine(1));
  170     Builder.defineMacro("__mips_dsp", Twine(1));
  173     Builder.defineMacro("__mips_dsp_rev", Twine(2));
  174     Builder.defineMacro("__mips_dspr2", Twine(1));
  175     Builder.defineMacro("__mips_dsp", Twine(1));
  180     Builder.defineMacro("__mips_msa", Twine(1));
  183     Builder.defineMacro("__mips_no_madd4", Twine(1));
  185   Builder.defineMacro("_MIPS_SZPTR", Twine(getPointerWidth(0)));
  186   Builder.defineMacro("_MIPS_SZINT", Twine(getIntWidth()));
  187   Builder.defineMacro("_MIPS_SZLONG", Twine(getLongWidth()));
  189   Builder.defineMacro("_MIPS_ARCH", "\"" + CPU + "\"");
  190   Builder.defineMacro("_MIPS_ARCH_" + StringRef(CPU).upper());
  194   Builder.defineMacro("__GCC_HAVE_SYNC_COMPARE_AND_SWAP_1");
  195   Builder.defineMacro("__GCC_HAVE_SYNC_COMPARE_AND_SWAP_2");
  196   Builder.defineMacro("__GCC_HAVE_SYNC_COMPARE_AND_SWAP_4");
  203     Builder.defineMacro("__GCC_HAVE_SYNC_COMPARE_AND_SWAP_8");
tools/clang/lib/Basic/Targets/NVPTX.cpp
  173   Builder.defineMacro("__PTX__");
  174   Builder.defineMacro("__NVPTX__");
  237     Builder.defineMacro("__CUDA_ARCH__", CUDAArchCode);
tools/clang/lib/Basic/Targets/OSTargets.cpp
   25   Builder.defineMacro("__APPLE_CC__", "6000");
   26   Builder.defineMacro("__APPLE__");
   27   Builder.defineMacro("__STDC_NO_THREADS__");
   28   Builder.defineMacro("OBJC_NEW_PROPERTIES");
   32     Builder.defineMacro("_FORTIFY_SOURCE", "0");
   37     Builder.defineMacro("__weak", "__attribute__((objc_gc(weak)))");
   38     Builder.defineMacro("__strong", "");
   39     Builder.defineMacro("__unsafe_unretained", "");
   43     Builder.defineMacro("__STATIC__");
   45     Builder.defineMacro("__DYNAMIC__");
   48     Builder.defineMacro("_REENTRANT");
   90       Builder.defineMacro("__ENVIRONMENT_TV_OS_VERSION_MIN_REQUIRED__", Str);
   92       Builder.defineMacro("__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__",
  104     Builder.defineMacro("__ENVIRONMENT_WATCH_OS_VERSION_MIN_REQUIRED__", Str);
  128     Builder.defineMacro("__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__", Str);
  133     Builder.defineMacro("__MACH__");
  144     Builder.defineMacro("__MINGW64__");
  146   Builder.defineMacro("__MSVCRT__");
  147   Builder.defineMacro("__MINGW32__");
  154       Builder.defineMacro("_CPPRTTI");
  157       Builder.defineMacro("_CPPUNWIND");
  161     Builder.defineMacro("__BOOL_DEFINED");
  164     Builder.defineMacro("_CHAR_UNSIGNED");
  169     Builder.defineMacro("_MT");
  172     Builder.defineMacro("_MSC_VER",
  174     Builder.defineMacro("_MSC_FULL_VER", Twine(Opts.MSCompatibilityVersion));
  176     Builder.defineMacro("_MSC_BUILD", Twine(1));
  179       Builder.defineMacro("_HAS_CHAR16_T_LANGUAGE_SUPPORT", Twine(1));
  183         Builder.defineMacro("_MSVC_LANG", "201704L");
  185         Builder.defineMacro("_MSVC_LANG", "201703L");
  187         Builder.defineMacro("_MSVC_LANG", "201402L");
  192     Builder.defineMacro("_MSC_EXTENSIONS");
  195       Builder.defineMacro("_RVALUE_REFERENCES_V2_SUPPORTED");
  196       Builder.defineMacro("_RVALUE_REFERENCES_SUPPORTED");
  197       Builder.defineMacro("_NATIVE_NULLPTR_SUPPORTED");
  201   Builder.defineMacro("_INTEGRAL_MAX_BITS", "64");
  206   Builder.defineMacro("_WIN32");
  208     Builder.defineMacro("_WIN64");
tools/clang/lib/Basic/Targets/OSTargets.h
   44     Builder.defineMacro("__CloudABI__");
   45     Builder.defineMacro("__ELF__");
   48     Builder.defineMacro("__STDC_ISO_10646__", "201206L");
   49     Builder.defineMacro("__STDC_UTF_16__");
   50     Builder.defineMacro("__STDC_UTF_32__");
   65     Builder.defineMacro("__Ananas__");
   66     Builder.defineMacro("__ELF__");
  185     Builder.defineMacro("__DragonFly__");
  186     Builder.defineMacro("__DragonFly_cc_version", "100001");
  187     Builder.defineMacro("__ELF__");
  188     Builder.defineMacro("__KPRINTF_ATTRIBUTE__");
  189     Builder.defineMacro("__tune_i386__");
  225     Builder.defineMacro("__FreeBSD__", Twine(Release));
  226     Builder.defineMacro("__FreeBSD_cc_version", Twine(CCVersion));
  227     Builder.defineMacro("__KPRINTF_ATTRIBUTE__");
  229     Builder.defineMacro("__ELF__");
  240     Builder.defineMacro("__STDC_MB_MIGHT_NEQ_WC__", "1");
  275     Builder.defineMacro("__FreeBSD_kernel__");
  276     Builder.defineMacro("__GLIBC__");
  277     Builder.defineMacro("__ELF__");
  279       Builder.defineMacro("_REENTRANT");
  281       Builder.defineMacro("_GNU_SOURCE");
  296     Builder.defineMacro("__HAIKU__");
  297     Builder.defineMacro("__ELF__");
  300       Builder.defineMacro("__FLOAT128__");
  330     Builder.defineMacro("__GNU__");
  331     Builder.defineMacro("__gnu_hurd__");
  332     Builder.defineMacro("__MACH__");
  333     Builder.defineMacro("__GLIBC__");
  334     Builder.defineMacro("__ELF__");
  336       Builder.defineMacro("_REENTRANT");
  338       Builder.defineMacro("_GNU_SOURCE");
  353     Builder.defineMacro("__minix", "3");
  354     Builder.defineMacro("_EM_WSIZE", "4");
  355     Builder.defineMacro("_EM_PSIZE", "4");
  356     Builder.defineMacro("_EM_SSIZE", "2");
  357     Builder.defineMacro("_EM_LSIZE", "4");
  358     Builder.defineMacro("_EM_FSIZE", "4");
  359     Builder.defineMacro("_EM_DSIZE", "8");
  360     Builder.defineMacro("__ELF__");
  378     Builder.defineMacro("__ELF__");
  380       Builder.defineMacro("__ANDROID__", "1");
  386         Builder.defineMacro("__ANDROID_API__", Twine(Maj));
  388         Builder.defineMacro("__gnu_linux__");
  391       Builder.defineMacro("_REENTRANT");
  393       Builder.defineMacro("_GNU_SOURCE");
  395       Builder.defineMacro("__FLOAT128__");
  434     Builder.defineMacro("__NetBSD__");
  435     Builder.defineMacro("__unix__");
  436     Builder.defineMacro("__ELF__");
  438       Builder.defineMacro("_REENTRANT");
  456     Builder.defineMacro("__OpenBSD__");
  458     Builder.defineMacro("__ELF__");
  460       Builder.defineMacro("_REENTRANT");
  462       Builder.defineMacro("__FLOAT128__");
  493     Builder.defineMacro("PSP");
  494     Builder.defineMacro("_PSP");
  495     Builder.defineMacro("__psp__");
  496     Builder.defineMacro("__ELF__");
  510     Builder.defineMacro("__PPC__");
  511     Builder.defineMacro("__PPU__");
  512     Builder.defineMacro("__CELLOS_LV2__");
  513     Builder.defineMacro("__ELF__");
  514     Builder.defineMacro("__LP32__");
  515     Builder.defineMacro("_ARCH_PPC64");
  516     Builder.defineMacro("__powerpc64__");
  536     Builder.defineMacro("__FreeBSD__", "9");
  537     Builder.defineMacro("__FreeBSD_cc_version", "900001");
  538     Builder.defineMacro("__KPRINTF_ATTRIBUTE__");
  540     Builder.defineMacro("__ELF__");
  541     Builder.defineMacro("__ORBIS__");
  578     Builder.defineMacro("__rtems__");
  579     Builder.defineMacro("__ELF__");
  581       Builder.defineMacro("_GNU_SOURCE");
  614     Builder.defineMacro("__ELF__");
  615     Builder.defineMacro("__svr4__");
  616     Builder.defineMacro("__SVR4");
  622       Builder.defineMacro("_XOPEN_SOURCE", "600");
  624       Builder.defineMacro("_XOPEN_SOURCE", "500");
  626       Builder.defineMacro("__C99FEATURES__");
  627       Builder.defineMacro("_FILE_OFFSET_BITS", "64");
  630     Builder.defineMacro("_LARGEFILE_SOURCE");
  631     Builder.defineMacro("_LARGEFILE64_SOURCE");
  632     Builder.defineMacro("__EXTENSIONS__");
  634       Builder.defineMacro("_REENTRANT");
  636       Builder.defineMacro("__FLOAT128__");
  665     Builder.defineMacro("_IBMR2");
  666     Builder.defineMacro("_POWER");
  668     Builder.defineMacro("_AIX");
  676     if (OsVersion >= std::make_pair(3, 2)) Builder.defineMacro("_AIX32");
  677     if (OsVersion >= std::make_pair(4, 1)) Builder.defineMacro("_AIX41");
  678     if (OsVersion >= std::make_pair(4, 3)) Builder.defineMacro("_AIX43");
  679     if (OsVersion >= std::make_pair(5, 0)) Builder.defineMacro("_AIX50");
  680     if (OsVersion >= std::make_pair(5, 1)) Builder.defineMacro("_AIX51");
  681     if (OsVersion >= std::make_pair(5, 2)) Builder.defineMacro("_AIX52");
  682     if (OsVersion >= std::make_pair(5, 3)) Builder.defineMacro("_AIX53");
  683     if (OsVersion >= std::make_pair(6, 1)) Builder.defineMacro("_AIX61");
  684     if (OsVersion >= std::make_pair(7, 1)) Builder.defineMacro("_AIX71");
  685     if (OsVersion >= std::make_pair(7, 2)) Builder.defineMacro("_AIX72");
  688     Builder.defineMacro("_LONG_LONG");
  691       Builder.defineMacro("_THREAD_SAFE");
  695       Builder.defineMacro("__64BIT__");
  701       Builder.defineMacro("_WCHAR_T");
  747       Builder.defineMacro("_REENTRANT");
  749       Builder.defineMacro("_GNU_SOURCE");
  752     Builder.defineMacro("__ELF__");
  753     Builder.defineMacro("__native_client__");
  798     Builder.defineMacro("__Fuchsia__");
  799     Builder.defineMacro("__ELF__");
  801       Builder.defineMacro("_REENTRANT");
  804       Builder.defineMacro("_GNU_SOURCE");
  823       Builder.defineMacro("_REENTRANT");
  826       Builder.defineMacro("_GNU_SOURCE");
  828     Builder.defineMacro("__FLOAT128__");
  848     Builder.defineMacro("__wasi__");
  863     Builder.defineMacro("__EMSCRIPTEN__");
tools/clang/lib/Basic/Targets/PNaCl.cpp
   27   Builder.defineMacro("__le32__");
   28   Builder.defineMacro("__pnacl__");
tools/clang/lib/Basic/Targets/PPC.cpp
   76   Builder.defineMacro("__ppc__");
   77   Builder.defineMacro("__PPC__");
   78   Builder.defineMacro("_ARCH_PPC");
   79   Builder.defineMacro("__powerpc__");
   80   Builder.defineMacro("__POWERPC__");
   82     Builder.defineMacro("_ARCH_PPC64");
   83     Builder.defineMacro("__powerpc64__");
   84     Builder.defineMacro("__ppc64__");
   85     Builder.defineMacro("__PPC64__");
   90     Builder.defineMacro("_LITTLE_ENDIAN");
   94       Builder.defineMacro("_BIG_ENDIAN");
   99     Builder.defineMacro("_CALL_ELF", "1");
  101     Builder.defineMacro("_CALL_ELF", "2");
  107     Builder.defineMacro("_CALL_LINUX", "1");
  111     Builder.defineMacro("__NATURAL_ALIGNMENT__");
  113   Builder.defineMacro("__REGISTER_PREFIX__", "");
  117     Builder.defineMacro("__LONG_DOUBLE_128__");
  118     Builder.defineMacro("__LONGDOUBLE128");
  124     Builder.defineMacro("__STRUCT_PARM_ALIGN__", "16");
  127     Builder.defineMacro(Twine("_ARCH_", StringRef(CPU).upper()));
  129     Builder.defineMacro("_ARCH_PPCGR");
  131     Builder.defineMacro("_ARCH_PPCSQ");
  133     Builder.defineMacro("_ARCH_440");
  135     Builder.defineMacro("_ARCH_603");
  137     Builder.defineMacro("_ARCH_604");
  139     Builder.defineMacro("_ARCH_PWR4");
  141     Builder.defineMacro("_ARCH_PWR5");
  143     Builder.defineMacro("_ARCH_PWR5X");
  145     Builder.defineMacro("_ARCH_PWR6");
  147     Builder.defineMacro("_ARCH_PWR6X");
  149     Builder.defineMacro("_ARCH_PWR7");
  151     Builder.defineMacro("_ARCH_PWR8");
  153     Builder.defineMacro("_ARCH_PWR9");
  155     Builder.defineMacro("_ARCH_A2");
  157     Builder.defineMacro("_ARCH_A2Q");
  158     Builder.defineMacro("_ARCH_QP");
  162     Builder.defineMacro("__bg__");
  163     Builder.defineMacro("__THW_BLUEGENE__");
  164     Builder.defineMacro("__bgq__");
  165     Builder.defineMacro("__TOS_BGQ__");
  169     Builder.defineMacro("__VEC__", "10206");
  170     Builder.defineMacro("__ALTIVEC__");
  173     Builder.defineMacro("__SPE__");
  174     Builder.defineMacro("__NO_FPRS__");
  177     Builder.defineMacro("__VSX__");
  179     Builder.defineMacro("__POWER8_VECTOR__");
  181     Builder.defineMacro("__CRYPTO__");
  183     Builder.defineMacro("__HTM__");
  185     Builder.defineMacro("__FLOAT128__");
  187     Builder.defineMacro("__POWER9_VECTOR__");
  189   Builder.defineMacro("__GCC_HAVE_SYNC_COMPARE_AND_SWAP_1");
  190   Builder.defineMacro("__GCC_HAVE_SYNC_COMPARE_AND_SWAP_2");
  191   Builder.defineMacro("__GCC_HAVE_SYNC_COMPARE_AND_SWAP_4");
  193     Builder.defineMacro("__GCC_HAVE_SYNC_COMPARE_AND_SWAP_8");
  196   Builder.defineMacro("__HAVE_BSWAP__", "1");
tools/clang/lib/Basic/Targets/RISCV.cpp
   87   Builder.defineMacro("__ELF__");
   88   Builder.defineMacro("__riscv");
   90   Builder.defineMacro("__riscv_xlen", Is64Bit ? "64" : "32");
   96     Builder.defineMacro("__riscv_cmodel_medlow");
   98     Builder.defineMacro("__riscv_cmodel_medany");
  102     Builder.defineMacro("__riscv_float_abi_single");
  104     Builder.defineMacro("__riscv_float_abi_double");
  106     Builder.defineMacro("__riscv_float_abi_soft");
  109     Builder.defineMacro("__riscv_abi_rve");
  112     Builder.defineMacro("__riscv_mul");
  113     Builder.defineMacro("__riscv_div");
  114     Builder.defineMacro("__riscv_muldiv");
  118     Builder.defineMacro("__riscv_atomic");
  121     Builder.defineMacro("__riscv_flen", HasD ? "64" : "32");
  122     Builder.defineMacro("__riscv_fdiv");
  123     Builder.defineMacro("__riscv_fsqrt");
  127     Builder.defineMacro("__riscv_compressed");
tools/clang/lib/Basic/Targets/Sparc.cpp
  141   Builder.defineMacro("__REGISTER_PREFIX__", "");
  144     Builder.defineMacro("SOFT_FLOAT", "1");
  152     Builder.defineMacro("__sparcv8");
  154       Builder.defineMacro("__sparcv8__");
  157     Builder.defineMacro("__sparcv9");
  159       Builder.defineMacro("__sparcv9__");
  160       Builder.defineMacro("__sparc_v9__");
  166     Builder.defineMacro("__sparc_v8__");
  167     Builder.defineMacro("__leon__");
  217       Builder.defineMacro(MyriadArchValue, "1");
  218       Builder.defineMacro(MyriadArchValue + "__", "1");
  221       Builder.defineMacro("__ma2x5x", "1");
  222       Builder.defineMacro("__ma2x5x__", "1");
  224       Builder.defineMacro("__ma2x8x", "1");
  225       Builder.defineMacro("__ma2x8x__", "1");
  227     Builder.defineMacro("__myriad2__", Myriad2Value);
  228     Builder.defineMacro("__myriad2", Myriad2Value);
  235   Builder.defineMacro("__sparcv9");
  236   Builder.defineMacro("__arch64__");
  239     Builder.defineMacro("__sparc64__");
  240     Builder.defineMacro("__sparc_v9__");
  241     Builder.defineMacro("__sparcv9__");
tools/clang/lib/Basic/Targets/SystemZ.cpp
  130   Builder.defineMacro("__s390__");
  131   Builder.defineMacro("__s390x__");
  132   Builder.defineMacro("__zarch__");
  133   Builder.defineMacro("__LONG_DOUBLE_128__");
  135   Builder.defineMacro("__ARCH__", Twine(ISARevision));
  137   Builder.defineMacro("__GCC_HAVE_SYNC_COMPARE_AND_SWAP_1");
  138   Builder.defineMacro("__GCC_HAVE_SYNC_COMPARE_AND_SWAP_2");
  139   Builder.defineMacro("__GCC_HAVE_SYNC_COMPARE_AND_SWAP_4");
  140   Builder.defineMacro("__GCC_HAVE_SYNC_COMPARE_AND_SWAP_8");
  143     Builder.defineMacro("__HTM__");
  145     Builder.defineMacro("__VX__");
  147     Builder.defineMacro("__VEC__", "10303");
tools/clang/lib/Basic/Targets/TCE.cpp
   23   Builder.defineMacro("__TCE__");
   24   Builder.defineMacro("__TCE_V1__");
   30   Builder.defineMacro("__TCE__");
   31   Builder.defineMacro("__TCE_V1__");
   32   Builder.defineMacro("__TCELE__");
   33   Builder.defineMacro("__TCELE_V1__");
tools/clang/lib/Basic/Targets/WebAssembly.cpp
   64     Builder.defineMacro("__wasm_simd128__");
   66     Builder.defineMacro("__wasm_unimplemented_simd128__");
   68     Builder.defineMacro("__wasm_nontrapping_fptoint__");
   70     Builder.defineMacro("__wasm_sign_ext__");
   72     Builder.defineMacro("__wasm_exception_handling__");
   74     Builder.defineMacro("__wasm_bulk_memory__");
   76     Builder.defineMacro("__wasm_atomics__");
   78     Builder.defineMacro("__wasm_mutable_globals__");
   80     Builder.defineMacro("__wasm_multivalue__");
   82     Builder.defineMacro("__wasm_tail_call__");
tools/clang/lib/Basic/Targets/X86.cpp
  904   Builder.defineMacro("__GCC_ASM_FLAG_OUTPUTS__");
  909   Builder.defineMacro("__code_model_" + CodeModel + "_");
  913     Builder.defineMacro("__amd64__");
  914     Builder.defineMacro("__amd64");
  915     Builder.defineMacro("__x86_64");
  916     Builder.defineMacro("__x86_64__");
  918       Builder.defineMacro("__x86_64h");
  919       Builder.defineMacro("__x86_64h__");
  925   Builder.defineMacro("__SEG_GS");
  926   Builder.defineMacro("__SEG_FS");
  927   Builder.defineMacro("__seg_gs", "__attribute__((address_space(256)))");
  928   Builder.defineMacro("__seg_fs", "__attribute__((address_space(257)))");
  938     Builder.defineMacro("__tune_i386__");
  947     Builder.defineMacro("__pentium_mmx__");
  948     Builder.defineMacro("__tune_pentium_mmx__");
  957     Builder.defineMacro("__tune_pentium3__");
  961     Builder.defineMacro("__tune_pentium2__");
 1022     Builder.defineMacro("__tune_lakemont__");
 1025     Builder.defineMacro("__k6_2__");
 1026     Builder.defineMacro("__tune_k6_2__");
 1033       Builder.defineMacro("__k6_3__");
 1034       Builder.defineMacro("__tune_k6_3__");
 1044       Builder.defineMacro("__athlon_sse__");
 1045       Builder.defineMacro("__tune_athlon_sse__");
 1086   Builder.defineMacro("__REGISTER_PREFIX__", "");
 1091   Builder.defineMacro("__NO_MATH_INLINES");
 1094     Builder.defineMacro("__AES__");
 1097     Builder.defineMacro("__VAES__");
 1100     Builder.defineMacro("__PCLMUL__");
 1103     Builder.defineMacro("__VPCLMULQDQ__");
 1106     Builder.defineMacro("__LZCNT__");
 1109     Builder.defineMacro("__RDRND__");
 1112     Builder.defineMacro("__FSGSBASE__");
 1115     Builder.defineMacro("__BMI__");
 1118     Builder.defineMacro("__BMI2__");
 1121     Builder.defineMacro("__POPCNT__");
 1124     Builder.defineMacro("__RTM__");
 1127     Builder.defineMacro("__PRFCHW__");
 1130     Builder.defineMacro("__RDSEED__");
 1133     Builder.defineMacro("__ADX__");
 1136     Builder.defineMacro("__TBM__");
 1139     Builder.defineMacro("__LWP__");
 1142     Builder.defineMacro("__MWAITX__");
 1145     Builder.defineMacro("__MOVBE__");
 1149     Builder.defineMacro("__XOP__");
 1152     Builder.defineMacro("__FMA4__");
 1155     Builder.defineMacro("__SSE4A__");
 1162     Builder.defineMacro("__FMA__");
 1165     Builder.defineMacro("__F16C__");
 1168     Builder.defineMacro("__GFNI__");
 1171     Builder.defineMacro("__AVX512CD__");
 1173     Builder.defineMacro("__AVX512VPOPCNTDQ__");
 1175     Builder.defineMacro("__AVX512VNNI__");
 1177     Builder.defineMacro("__AVX512BF16__");
 1179     Builder.defineMacro("__AVX512ER__");
 1181     Builder.defineMacro("__AVX512PF__");
 1183     Builder.defineMacro("__AVX512DQ__");
 1185     Builder.defineMacro("__AVX512BITALG__");
 1187     Builder.defineMacro("__AVX512BW__");
 1189     Builder.defineMacro("__AVX512VL__");
 1191     Builder.defineMacro("__AVX512VBMI__");
 1193     Builder.defineMacro("__AVX512VBMI2__");
 1195     Builder.defineMacro("__AVX512IFMA__");
 1197     Builder.defineMacro("__AVX512VP2INTERSECT__");
 1199     Builder.defineMacro("__SHA__");
 1202     Builder.defineMacro("__FXSR__");
 1204     Builder.defineMacro("__XSAVE__");
 1206     Builder.defineMacro("__XSAVEOPT__");
 1208     Builder.defineMacro("__XSAVEC__");
 1210     Builder.defineMacro("__XSAVES__");
 1212     Builder.defineMacro("__PKU__");
 1214     Builder.defineMacro("__CLFLUSHOPT__");
 1216     Builder.defineMacro("__CLWB__");
 1218     Builder.defineMacro("__WBNOINVD__");
 1220     Builder.defineMacro("__SHSTK__");
 1222     Builder.defineMacro("__SGX__");
 1224     Builder.defineMacro("__PREFETCHWT1__");
 1226     Builder.defineMacro("__CLZERO__");
 1228     Builder.defineMacro("__RDPID__");
 1230     Builder.defineMacro("__CLDEMOTE__");
 1232     Builder.defineMacro("__WAITPKG__");
 1234     Builder.defineMacro("__MOVDIRI__");
 1236     Builder.defineMacro("__MOVDIR64B__");
 1238     Builder.defineMacro("__PCONFIG__");
 1240     Builder.defineMacro("__PTWRITE__");
 1242     Builder.defineMacro("__INVPCID__");
 1244     Builder.defineMacro("__ENQCMD__");
 1249     Builder.defineMacro("__AVX512F__");
 1252     Builder.defineMacro("__AVX2__");
 1255     Builder.defineMacro("__AVX__");
 1258     Builder.defineMacro("__SSE4_2__");
 1261     Builder.defineMacro("__SSE4_1__");
 1264     Builder.defineMacro("__SSSE3__");
 1267     Builder.defineMacro("__SSE3__");
 1270     Builder.defineMacro("__SSE2__");
 1271     Builder.defineMacro("__SSE2_MATH__"); // -mfp-math=sse always implied.
 1274     Builder.defineMacro("__SSE__");
 1275     Builder.defineMacro("__SSE_MATH__"); // -mfp-math=sse always implied.
 1291       Builder.defineMacro("_M_IX86_FP", Twine(2));
 1294       Builder.defineMacro("_M_IX86_FP", Twine(1));
 1297       Builder.defineMacro("_M_IX86_FP", Twine(0));
 1305     Builder.defineMacro("__3dNOW_A__");
 1308     Builder.defineMacro("__3dNOW__");
 1311     Builder.defineMacro("__MMX__");
 1318     Builder.defineMacro("__GCC_HAVE_SYNC_COMPARE_AND_SWAP_1");
 1319     Builder.defineMacro("__GCC_HAVE_SYNC_COMPARE_AND_SWAP_2");
 1320     Builder.defineMacro("__GCC_HAVE_SYNC_COMPARE_AND_SWAP_4");
 1323     Builder.defineMacro("__GCC_HAVE_SYNC_COMPARE_AND_SWAP_8");
 1325     Builder.defineMacro("__GCC_HAVE_SYNC_COMPARE_AND_SWAP_16");
 1328     Builder.defineMacro("__SIZEOF_FLOAT128__", "16");
tools/clang/lib/Basic/Targets/X86.h
  493     Builder.defineMacro("_M_IX86", "600");
  509     Builder.defineMacro("_X86_");
  527     Builder.defineMacro("_X86_");
  528     Builder.defineMacro("__CYGWIN__");
  529     Builder.defineMacro("__CYGWIN32__");
  533       Builder.defineMacro("_GNU_SOURCE");
  547     Builder.defineMacro("__INTEL__");
  571     Builder.defineMacro("__iamcu");
  572     Builder.defineMacro("__iamcu__");
  591     Builder.defineMacro("__INTEL__");
  592     Builder.defineMacro("__rtems__");
  757     Builder.defineMacro("_M_X64", "100");
  758     Builder.defineMacro("_M_AMD64", "100");
  793     Builder.defineMacro("__x86_64__");
  794     Builder.defineMacro("__CYGWIN__");
  795     Builder.defineMacro("__CYGWIN64__");
  799       Builder.defineMacro("_GNU_SOURCE");
tools/clang/lib/Basic/Targets/XCore.cpp
   31   Builder.defineMacro("__XS1B__");
tools/clang/lib/Frontend/InitPreprocessor.cpp
   55       Builder.defineMacro(MacroName, Twine(MacroBody) + "\\\n");
   57       Builder.defineMacro(MacroName, MacroBody);
   60     Builder.defineMacro(Macro);
  144   Builder.defineMacro(DefPrefix + "DENORM_MIN__", Twine(DenormMin)+Ext);
  145   Builder.defineMacro(DefPrefix + "HAS_DENORM__");
  146   Builder.defineMacro(DefPrefix + "DIG__", Twine(Digits));
  147   Builder.defineMacro(DefPrefix + "DECIMAL_DIG__", Twine(DecimalDigits));
  148   Builder.defineMacro(DefPrefix + "EPSILON__", Twine(Epsilon)+Ext);
  149   Builder.defineMacro(DefPrefix + "HAS_INFINITY__");
  150   Builder.defineMacro(DefPrefix + "HAS_QUIET_NAN__");
  151   Builder.defineMacro(DefPrefix + "MANT_DIG__", Twine(MantissaDigits));
  153   Builder.defineMacro(DefPrefix + "MAX_10_EXP__", Twine(Max10Exp));
  154   Builder.defineMacro(DefPrefix + "MAX_EXP__", Twine(MaxExp));
  155   Builder.defineMacro(DefPrefix + "MAX__", Twine(Max)+Ext);
  157   Builder.defineMacro(DefPrefix + "MIN_10_EXP__","("+Twine(Min10Exp)+")");
  158   Builder.defineMacro(DefPrefix + "MIN_EXP__", "("+Twine(MinExp)+")");
  159   Builder.defineMacro(DefPrefix + "MIN__", Twine(Min)+Ext);
  171   Builder.defineMacro(MacroName, MaxVal.toString(10, isSigned) + ValSuffix);
  187     Builder.defineMacro(Prefix + "_FMT" + Twine(*Fmt) + "__",
  194   Builder.defineMacro(MacroName, TargetInfo::getTypeName(Ty));
  199   Builder.defineMacro(MacroName, Twine(TI.getTypeWidth(Ty)));
  204   Builder.defineMacro(MacroName,
  225   Builder.defineMacro(Prefix + Twine(TypeWidth) + "_C_SUFFIX__", ConstSuffix);
  290   Builder.defineMacro("_GLIBCXX_PREDEFINED_OBJC_ARC_IS_SCALAR");
  348     Builder.defineMacro("__STDC__");
  350     Builder.defineMacro("__STDC_HOSTED__", "0");
  352     Builder.defineMacro("__STDC_HOSTED__");
  356       Builder.defineMacro("__STDC_VERSION__", "201710L");
  358       Builder.defineMacro("__STDC_VERSION__", "201112L");
  360       Builder.defineMacro("__STDC_VERSION__", "199901L");
  362       Builder.defineMacro("__STDC_VERSION__", "199409L");
  366       Builder.defineMacro("__cplusplus", "201707L");
  371       Builder.defineMacro("__cplusplus", "201703L");
  376       Builder.defineMacro("__cplusplus", "201402L");
  381       Builder.defineMacro("__cplusplus", "201103L");
  386       Builder.defineMacro("__cplusplus", "199711L");
  393     Builder.defineMacro("__STDCPP_DEFAULT_NEW_ALIGNMENT__",
  403   Builder.defineMacro("__STDC_UTF_16__", "1");
  404   Builder.defineMacro("__STDC_UTF_32__", "1");
  407     Builder.defineMacro("__OBJC__");
  413         Builder.defineMacro("__OPENCL_CPP_VERSION__", "100");
  416       Builder.defineMacro("__CL_CPP_VERSION_1_0__", "100");
  427         Builder.defineMacro("__OPENCL_C_VERSION__", "100");
  430         Builder.defineMacro("__OPENCL_C_VERSION__", "110");
  433         Builder.defineMacro("__OPENCL_C_VERSION__", "120");
  436         Builder.defineMacro("__OPENCL_C_VERSION__", "200");
  442     Builder.defineMacro("CL_VERSION_1_0", "100");
  443     Builder.defineMacro("CL_VERSION_1_1", "110");
  444     Builder.defineMacro("CL_VERSION_1_2", "120");
  445     Builder.defineMacro("CL_VERSION_2_0", "200");
  448       Builder.defineMacro("__ENDIAN_LITTLE__");
  451       Builder.defineMacro("__FAST_RELAXED_MATH__");
  455     Builder.defineMacro("__ASSEMBLER__");
  457     Builder.defineMacro("__CUDA__");
  459     Builder.defineMacro("__HIP__");
  460     Builder.defineMacro("__HIPCC__");
  462       Builder.defineMacro("__HIP_DEVICE_COMPILE__");
  472     Builder.defineMacro("__cpp_rtti", "199711L");
  474     Builder.defineMacro("__cpp_exceptions", "199711L");
  478     Builder.defineMacro("__cpp_unicode_characters", "200704L");
  479     Builder.defineMacro("__cpp_raw_strings", "200710L");
  480     Builder.defineMacro("__cpp_unicode_literals", "200710L");
  481     Builder.defineMacro("__cpp_user_defined_literals", "200809L");
  482     Builder.defineMacro("__cpp_lambdas", "200907L");
  483     Builder.defineMacro("__cpp_constexpr",
  487     Builder.defineMacro("__cpp_range_based_for",
  489     Builder.defineMacro("__cpp_static_assert",
  491     Builder.defineMacro("__cpp_decltype", "200707L");
  492     Builder.defineMacro("__cpp_attributes", "200809L");
  493     Builder.defineMacro("__cpp_rvalue_references", "200610L");
  494     Builder.defineMacro("__cpp_variadic_templates", "200704L");
  495     Builder.defineMacro("__cpp_initializer_lists", "200806L");
  496     Builder.defineMacro("__cpp_delegating_constructors", "200604L");
  497     Builder.defineMacro("__cpp_nsdmi", "200809L");
  498     Builder.defineMacro("__cpp_inheriting_constructors", "201511L");
  499     Builder.defineMacro("__cpp_ref_qualifiers", "200710L");
  500     Builder.defineMacro("__cpp_alias_templates", "200704L");
  503     Builder.defineMacro("__cpp_threadsafe_static_init", "200806L");
  507     Builder.defineMacro("__cpp_binary_literals", "201304L");
  508     Builder.defineMacro("__cpp_digit_separators", "201309L");
  509     Builder.defineMacro("__cpp_init_captures", "201304L");
  510     Builder.defineMacro("__cpp_generic_lambdas", "201304L");
  511     Builder.defineMacro("__cpp_decltype_auto", "201304L");
  512     Builder.defineMacro("__cpp_return_type_deduction", "201304L");
  513     Builder.defineMacro("__cpp_aggregate_nsdmi", "201304L");
  514     Builder.defineMacro("__cpp_variable_templates", "201304L");
  517     Builder.defineMacro("__cpp_sized_deallocation", "201309L");
  521     Builder.defineMacro("__cpp_hex_float", "201603L");
  522     Builder.defineMacro("__cpp_inline_variables", "201606L");
  523     Builder.defineMacro("__cpp_noexcept_function_type", "201510L");
  524     Builder.defineMacro("__cpp_capture_star_this", "201603L");
  525     Builder.defineMacro("__cpp_if_constexpr", "201606L");
  526     Builder.defineMacro("__cpp_deduction_guides", "201703L");
  527     Builder.defineMacro("__cpp_template_auto", "201606L"); // (old name)
  528     Builder.defineMacro("__cpp_namespace_attributes", "201411L");
  529     Builder.defineMacro("__cpp_enumerator_attributes", "201411L");
  530     Builder.defineMacro("__cpp_nested_namespace_definitions", "201411L");
  531     Builder.defineMacro("__cpp_variadic_using", "201611L");
  532     Builder.defineMacro("__cpp_aggregate_bases", "201603L");
  533     Builder.defineMacro("__cpp_structured_bindings", "201606L");
  534     Builder.defineMacro("__cpp_nontype_template_args", "201411L");
  535     Builder.defineMacro("__cpp_fold_expressions", "201603L");
  536     Builder.defineMacro("__cpp_guaranteed_copy_elision", "201606L");
  537     Builder.defineMacro("__cpp_nontype_template_parameter_auto", "201606L");
  540     Builder.defineMacro("__cpp_aligned_new", "201606L");
  542     Builder.defineMacro("__cpp_template_template_args", "201611L");
  546     Builder.defineMacro("__cpp_conditional_explicit", "201806L");
  547     Builder.defineMacro("__cpp_constexpr_dynamic_alloc", "201907L");
  548     Builder.defineMacro("__cpp_constinit", "201907L");
  551     Builder.defineMacro("__cpp_char8_t", "201811L");
  552   Builder.defineMacro("__cpp_impl_destroying_delete", "201806L");
  556     Builder.defineMacro("__cpp_experimental_concepts", "1L");
  558     Builder.defineMacro("__cpp_coroutines", "201703L");
  567   Builder.defineMacro("__llvm__");  // LLVM Backend
  568   Builder.defineMacro("__clang__"); // Clang Frontend
  571   Builder.defineMacro("__clang_major__", TOSTR(CLANG_VERSION_MAJOR));
  572   Builder.defineMacro("__clang_minor__", TOSTR(CLANG_VERSION_MINOR));
  573   Builder.defineMacro("__clang_patchlevel__", TOSTR(CLANG_VERSION_PATCHLEVEL));
  576   Builder.defineMacro("__clang_version__",
  586     Builder.defineMacro("__GNUC__", Twine(GNUCMajor));
  587     Builder.defineMacro("__GNUC_MINOR__", Twine(GNUCMinor));
  588     Builder.defineMacro("__GNUC_PATCHLEVEL__", Twine(GNUCPatch));
  589     Builder.defineMacro("__GXX_ABI_VERSION", "1002");
  592       Builder.defineMacro("__GNUG__", Twine(GNUCMajor));
  593       Builder.defineMacro("__GXX_WEAK__");
  598   Builder.defineMacro("__ATOMIC_RELAXED", "0");
  599   Builder.defineMacro("__ATOMIC_CONSUME", "1");
  600   Builder.defineMacro("__ATOMIC_ACQUIRE", "2");
  601   Builder.defineMacro("__ATOMIC_RELEASE", "3");
  602   Builder.defineMacro("__ATOMIC_ACQ_REL", "4");
  603   Builder.defineMacro("__ATOMIC_SEQ_CST", "5");
  613   Builder.defineMacro("__OPENCL_MEMORY_SCOPE_WORK_ITEM", "0");
  614   Builder.defineMacro("__OPENCL_MEMORY_SCOPE_WORK_GROUP", "1");
  615   Builder.defineMacro("__OPENCL_MEMORY_SCOPE_DEVICE", "2");
  616   Builder.defineMacro("__OPENCL_MEMORY_SCOPE_ALL_SVM_DEVICES", "3");
  617   Builder.defineMacro("__OPENCL_MEMORY_SCOPE_SUB_GROUP", "4");
  620   Builder.defineMacro("__PRAGMA_REDEFINE_EXTNAME", "1");
  624   Builder.defineMacro("__VERSION__", "\"" +
  631     Builder.defineMacro("__STRICT_ANSI__");
  634     Builder.defineMacro("__GXX_EXPERIMENTAL_CXX0X__");
  638       Builder.defineMacro("__OBJC2__");
  641         Builder.defineMacro("OBJC_ZEROCOST_EXCEPTIONS");
  645       Builder.defineMacro("__OBJC_GC__");
  648       Builder.defineMacro("__NEXT_RUNTIME__");
  657         Builder.defineMacro("__OBJC_GNUSTEP_RUNTIME_ABI__", "20");
  659         Builder.defineMacro("__OBJC_GNUSTEP_RUNTIME_ABI__",
  674       Builder.defineMacro("__OBJFW_RUNTIME_ABI__",
  679     Builder.defineMacro("IBOutlet", "__attribute__((iboutlet))");
  680     Builder.defineMacro("IBOutletCollection(ClassName)",
  682     Builder.defineMacro("IBAction", "void)__attribute__((ibaction)");
  683     Builder.defineMacro("IBInspectable", "");
  684     Builder.defineMacro("IB_DESIGNABLE", "");
  689   Builder.defineMacro("__OBJC_BOOL_IS_BOOL",
  698       Builder.defineMacro("__CONSTANT_CFSTRINGS__");
  701     Builder.defineMacro("OBJC_NEW_PROPERTIES");
  704     Builder.defineMacro("__PASCAL_STRINGS__");
  707     Builder.defineMacro("__block", "__attribute__((__blocks__(byref)))");
  708     Builder.defineMacro("__BLOCKS__");
  712     Builder.defineMacro("__EXCEPTIONS");
  714     Builder.defineMacro("__GXX_RTTI");
  717     Builder.defineMacro("__USING_SJLJ_EXCEPTIONS__");
  719     Builder.defineMacro("__SEH__");
  722     Builder.defineMacro("__ARM_DWARF_EH__");
  725     Builder.defineMacro("__DEPRECATED");
  728     Builder.defineMacro("__private_extern__", "extern");
  733       Builder.defineMacro("_WCHAR_T_DEFINED");
  734       Builder.defineMacro("_NATIVE_WCHAR_T_DEFINED");
  739     Builder.defineMacro("__OPTIMIZE__");
  741     Builder.defineMacro("__OPTIMIZE_SIZE__");
  744     Builder.defineMacro("__FAST_MATH__");
  753   Builder.defineMacro("__ORDER_LITTLE_ENDIAN__", "1234");
  754   Builder.defineMacro("__ORDER_BIG_ENDIAN__",    "4321");
  755   Builder.defineMacro("__ORDER_PDP_ENDIAN__",    "3412");
  757     Builder.defineMacro("__BYTE_ORDER__", "__ORDER_BIG_ENDIAN__");
  758     Builder.defineMacro("__BIG_ENDIAN__");
  760     Builder.defineMacro("__BYTE_ORDER__", "__ORDER_LITTLE_ENDIAN__");
  761     Builder.defineMacro("__LITTLE_ENDIAN__");
  766     Builder.defineMacro("_LP64");
  767     Builder.defineMacro("__LP64__");
  772     Builder.defineMacro("_ILP32");
  773     Builder.defineMacro("__ILP32__");
  778   Builder.defineMacro("__CHAR_BIT__", Twine(TI.getCharWidth()));
  816   Builder.defineMacro("__INTMAX_C_SUFFIX__",
  820   Builder.defineMacro("__UINTMAX_C_SUFFIX__",
  853   Builder.defineMacro("__POINTER_WIDTH__",
  857   Builder.defineMacro("__BIGGEST_ALIGNMENT__",
  861     Builder.defineMacro("__CHAR_UNSIGNED__");
  864     Builder.defineMacro("__WCHAR_UNSIGNED__");
  867     Builder.defineMacro("__WINT_UNSIGNED__");
  931   Builder.defineMacro("__USER_LABEL_PREFIX__", UserLabelPrefix);
  934     Builder.defineMacro("__FINITE_MATH_ONLY__", "1");
  936     Builder.defineMacro("__FINITE_MATH_ONLY__", "0");
  940       Builder.defineMacro("__GNUC_GNU_INLINE__");
  942       Builder.defineMacro("__GNUC_STDC_INLINE__");
  946     Builder.defineMacro("__GCC_ATOMIC_TEST_AND_SET_TRUEVAL", "1");
  957     DEFINE_LOCK_FREE_MACRO(BOOL, Bool);
  958     DEFINE_LOCK_FREE_MACRO(CHAR, Char);
  960       DEFINE_LOCK_FREE_MACRO(CHAR8_T, Char); // Treat char8_t like char.
  961     DEFINE_LOCK_FREE_MACRO(CHAR16_T, Char16);
  962     DEFINE_LOCK_FREE_MACRO(CHAR32_T, Char32);
  963     DEFINE_LOCK_FREE_MACRO(WCHAR_T, WChar);
  964     DEFINE_LOCK_FREE_MACRO(SHORT, Short);
  965     DEFINE_LOCK_FREE_MACRO(INT, Int);
  966     DEFINE_LOCK_FREE_MACRO(LONG, Long);
  967     DEFINE_LOCK_FREE_MACRO(LLONG, LongLong);
  968     Builder.defineMacro(Prefix + "POINTER_LOCK_FREE",
  979     Builder.defineMacro("__NO_INLINE__");
  982     Builder.defineMacro("__PIC__", Twine(PICLevel));
  983     Builder.defineMacro("__pic__", Twine(PICLevel));
  985       Builder.defineMacro("__PIE__", Twine(PICLevel));
  986       Builder.defineMacro("__pie__", Twine(PICLevel));
  991   Builder.defineMacro("__FLT_EVAL_METHOD__", Twine(TI.getFloatEvalMethod()));
  992   Builder.defineMacro("__FLT_RADIX__", "2");
  993   Builder.defineMacro("__DECIMAL_DIG__", "__LDBL_DECIMAL_DIG__");
  996     Builder.defineMacro("__SSP__");
  998     Builder.defineMacro("__SSP_STRONG__", "2");
 1000     Builder.defineMacro("__SSP_ALL__", "3");
 1003     Builder.defineMacro("__clang_analyzer__");
 1006     Builder.defineMacro("__FAST_RELAXED_MATH__");
 1010     Builder.defineMacro("__weak", "__attribute__((objc_gc(weak)))");
 1011     Builder.defineMacro("__strong", "__attribute__((objc_gc(strong)))");
 1012     Builder.defineMacro("__autoreleasing", "");
 1013     Builder.defineMacro("__unsafe_unretained", "");
 1015     Builder.defineMacro("__weak", "__attribute__((objc_ownership(weak)))");
 1016     Builder.defineMacro("__strong", "__attribute__((objc_ownership(strong)))");
 1017     Builder.defineMacro("__autoreleasing",
 1019     Builder.defineMacro("__unsafe_unretained",
 1026     Builder.defineMacro("__nonnull", "_Nonnull");
 1027     Builder.defineMacro("__null_unspecified", "_Null_unspecified");
 1028     Builder.defineMacro("__nullable", "_Nullable");
 1034     Builder.defineMacro("__APPLE_EMBEDDED_SIMULATOR__", "1");
 1047       Builder.defineMacro("_OPENMP", "201107");
 1050       Builder.defineMacro("_OPENMP", "201307");
 1053       Builder.defineMacro("_OPENMP", "201811");
 1057       Builder.defineMacro("_OPENMP", "201511");
 1066     Builder.defineMacro("__CUDA_ARCH__");
 1072     Builder.defineMacro("__CLANG_CUDA_APPROX_TRANSCENDENTALS__");
 1078     Builder.defineMacro("__SYCL_DEVICE_ONLY__", "1");
 1089       Builder.defineMacro("__IMAGE_SUPPORT__");
 1096     Builder.defineMacro("__GLIBCXX_TYPE_INT_N_0", "__int128");
 1097     Builder.defineMacro("__GLIBCXX_BITSIZE_INT_N_0", "128");