Lines Matching defs:LangOpts
189 static void DefineFmt(const LangOptions &LangOpts, const Twine &Prefix,
202 if (LangOpts.C23 && !IsSigned)
232 static void DefineExactWidthIntType(const LangOptions &LangOpts,
252 DefineFmt(LangOpts, Prefix + Twine(TypeWidth), Ty, TI, Builder);
275 static void DefineLeastWidthIntType(const LangOptions &LangOpts,
291 DefineFmt(LangOpts, Prefix + Twine(TypeWidth), Ty, TI, Builder);
294 static void DefineFastIntType(const LangOptions &LangOpts, unsigned TypeWidth,
311 DefineFmt(LangOpts, Prefix + Twine(TypeWidth), Ty, TI, Builder);
331 static void AddObjCXXARCLibstdcxxDefines(const LangOptions &LangOpts,
353 if (LangOpts.ObjCAutoRefCount) {
362 if (LangOpts.ObjCWeak) {
371 if (LangOpts.ObjCAutoRefCount) {
387 const LangOptions &LangOpts,
390 if (LangOpts.HLSL) {
394 Twine((unsigned)LangOpts.getHLSLVersion()));
396 if (LangOpts.NativeHalfType)
440 if ((!LangOpts.MSVCCompat || LangOpts.MSVCEnableStdcMacro) &&
441 !LangOpts.TraditionalCPP)
446 if (LangOpts.Freestanding)
455 if (!LangOpts.CPlusPlus) {
456 if (LangOpts.C2y)
458 else if (LangOpts.C23)
460 else if (LangOpts.C17)
462 else if (LangOpts.C11)
464 else if (LangOpts.C99)
466 else if (!LangOpts.GNUMode && LangOpts.Digraphs)
470 if (LangOpts.CPlusPlus26)
473 else if (LangOpts.CPlusPlus23)
476 else if (LangOpts.CPlusPlus20)
479 else if (LangOpts.CPlusPlus17)
483 else if (LangOpts.CPlusPlus14)
487 else if (LangOpts.CPlusPlus11)
506 if (LangOpts.getThreadModel() == LangOptions::ThreadModelKind::POSIX)
526 if (LangOpts.ObjC)
530 if (LangOpts.OpenCL) {
531 if (LangOpts.CPlusPlus) {
532 switch (LangOpts.OpenCLCPlusPlusVersion) {
552 switch (LangOpts.OpenCLVersion) {
581 if (LangOpts.FastRelaxedMath)
585 if (LangOpts.SYCLIsDevice || LangOpts.SYCLIsHost) {
587 if (LangOpts.getSYCLVersion() == LangOptions::SYCL_2017)
589 else if (LangOpts.getSYCLVersion() == LangOptions::SYCL_2020)
594 if (LangOpts.AsmPreprocessor)
596 if (LangOpts.CUDA) {
597 if (LangOpts.GPURelocatableDeviceCode)
599 if (!LangOpts.HIP)
601 if (LangOpts.GPUDefaultStream ==
605 if (LangOpts.HIP) {
613 if (LangOpts.HIPStdPar) {
615 if (LangOpts.HIPStdParInterposeAlloc)
618 if (LangOpts.CUDAIsDevice) {
626 if (LangOpts.GPUDefaultStream ==
634 if (LangOpts.OpenACC) {
639 if (!LangOpts.OpenACCMacroOverride.empty())
640 Builder.defineMacro("_OPENACC", LangOpts.OpenACCMacroOverride);
648 static void InitializeCPlusPlusFeatureTestMacros(const LangOptions &LangOpts,
651 if (LangOpts.RTTI)
653 if (LangOpts.CXXExceptions)
657 if (LangOpts.CPlusPlus11) {
663 Builder.defineMacro("__cpp_constexpr", LangOpts.CPlusPlus26 ? "202306L"
664 : LangOpts.CPlusPlus23 ? "202211L"
665 : LangOpts.CPlusPlus20 ? "201907L"
666 : LangOpts.CPlusPlus17 ? "201603L"
667 : LangOpts.CPlusPlus14 ? "201304L"
671 LangOpts.CPlusPlus23 ? "202211L"
672 : LangOpts.CPlusPlus17 ? "201603L"
674 Builder.defineMacro("__cpp_static_assert", LangOpts.CPlusPlus26 ? "202306L"
675 : LangOpts.CPlusPlus17
689 if (LangOpts.ThreadsafeStatics)
693 if (LangOpts.CPlusPlus14) {
697 LangOpts.CPlusPlus20 ? "201803L" : "201304L");
699 LangOpts.CPlusPlus20 ? "201707L" : "201304L");
705 if (LangOpts.SizedDeallocation)
709 if (LangOpts.CPlusPlus17) {
729 if (LangOpts.AlignedAllocation && !LangOpts.AlignedAllocationUnavailable)
731 if (LangOpts.RelaxedTemplateTemplateArgs)
735 if (LangOpts.CPlusPlus20) {
750 if (LangOpts.CPlusPlus23) {
760 if (LangOpts.CPlusPlus11)
769 if (LangOpts.Char8)
852 const LangOptions &LangOpts,
870 if (LangOpts.GNUCVersion != 0) {
873 unsigned GNUCMajor = LangOpts.GNUCVersion / 100 / 100;
874 unsigned GNUCMinor = LangOpts.GNUCVersion / 100 % 100;
875 unsigned GNUCPatch = LangOpts.GNUCVersion % 100;
881 if (LangOpts.CPlusPlus) {
939 if (!LangOpts.GNUMode && !LangOpts.MSVCCompat)
942 if (LangOpts.GNUCVersion && LangOpts.CPlusPlus11)
951 if (LangOpts.ObjC) {
952 if (LangOpts.ObjCRuntime.isNonFragile()) {
955 if (LangOpts.ObjCExceptions)
959 if (LangOpts.getGC() != LangOptions::NonGC)
962 if (LangOpts.ObjCRuntime.isNeXTFamily())
965 if (LangOpts.ObjCRuntime.getKind() == ObjCRuntime::GNUstep) {
966 auto version = LangOpts.ObjCRuntime.getVersion();
979 if (LangOpts.ObjCRuntime.getKind() == ObjCRuntime::ObjFW) {
980 VersionTuple tuple = LangOpts.ObjCRuntime.getVersion();
1001 if (LangOpts.CPlusPlus)
1002 InitializeCPlusPlusFeatureTestMacros(LangOpts, Builder);
1006 if (!LangOpts.NoConstantCFStrings)
1009 if (LangOpts.ObjC)
1012 if (LangOpts.PascalStrings)
1015 if (LangOpts.Blocks) {
1020 if (!LangOpts.MSVCCompat && LangOpts.Exceptions)
1022 if (LangOpts.GNUCVersion && LangOpts.RTTI)
1025 if (LangOpts.hasSjLjExceptions())
1027 else if (LangOpts.hasSEHExceptions())
1029 else if (LangOpts.hasDWARFExceptions() &&
1032 else if (LangOpts.hasWasmExceptions() && TI.getTriple().isWasm())
1035 if (LangOpts.Deprecated)
1038 if (!LangOpts.MSVCCompat && LangOpts.CPlusPlus)
1041 if (LangOpts.MicrosoftExt) {
1042 if (LangOpts.WChar) {
1064 if (LangOpts.Optimize)
1066 if (LangOpts.OptimizeSize)
1069 if (LangOpts.FastMath)
1157 DefineFmt(LangOpts, "__INTMAX", TI.getIntMaxType(), TI, Builder);
1161 DefineFmt(LangOpts, "__UINTMAX", TI.getUIntMaxType(), TI, Builder);
1165 DefineFmt(LangOpts, "__PTRDIFF", TI.getPtrDiffType(LangAS::Default), TI,
1168 DefineFmt(LangOpts, "__INTPTR", TI.getIntPtrType(), TI, Builder);
1170 DefineFmt(LangOpts, "__SIZE", TI.getSizeType(), TI, Builder);
1174 if (LangOpts.C23)
1180 DefineFmt(LangOpts, "__UINTPTR", TI.getUIntPtrType(), TI, Builder);
1191 if (LangOpts.FixedPoint) {
1246 if (!LangOpts.CharIsSigned)
1256 DefineExactWidthIntType(LangOpts, TargetInfo::SignedChar, TI, Builder);
1259 DefineExactWidthIntType(LangOpts, TargetInfo::SignedShort, TI, Builder);
1262 DefineExactWidthIntType(LangOpts, TargetInfo::SignedInt, TI, Builder);
1265 DefineExactWidthIntType(LangOpts, TargetInfo::SignedLong, TI, Builder);
1268 DefineExactWidthIntType(LangOpts, TargetInfo::SignedLongLong, TI, Builder);
1270 DefineExactWidthIntType(LangOpts, TargetInfo::UnsignedChar, TI, Builder);
1275 DefineExactWidthIntType(LangOpts, TargetInfo::UnsignedShort, TI, Builder);
1281 DefineExactWidthIntType(LangOpts, TargetInfo::UnsignedInt, TI, Builder);
1287 DefineExactWidthIntType(LangOpts, TargetInfo::UnsignedLong, TI, Builder);
1293 DefineExactWidthIntType(LangOpts, TargetInfo::UnsignedLongLong, TI,
1299 DefineLeastWidthIntType(LangOpts, 8, true, TI, Builder);
1300 DefineLeastWidthIntType(LangOpts, 8, false, TI, Builder);
1301 DefineLeastWidthIntType(LangOpts, 16, true, TI, Builder);
1302 DefineLeastWidthIntType(LangOpts, 16, false, TI, Builder);
1303 DefineLeastWidthIntType(LangOpts, 32, true, TI, Builder);
1304 DefineLeastWidthIntType(LangOpts, 32, false, TI, Builder);
1305 DefineLeastWidthIntType(LangOpts, 64, true, TI, Builder);
1306 DefineLeastWidthIntType(LangOpts, 64, false, TI, Builder);
1308 DefineFastIntType(LangOpts, 8, true, TI, Builder);
1309 DefineFastIntType(LangOpts, 8, false, TI, Builder);
1310 DefineFastIntType(LangOpts, 16, true, TI, Builder);
1311 DefineFastIntType(LangOpts, 16, false, TI, Builder);
1312 DefineFastIntType(LangOpts, 32, true, TI, Builder);
1313 DefineFastIntType(LangOpts, 32, false, TI, Builder);
1314 DefineFastIntType(LangOpts, 64, true, TI, Builder);
1315 DefineFastIntType(LangOpts, 64, false, TI, Builder);
1319 if (!LangOpts.MathErrno)
1322 if (LangOpts.FastMath || LangOpts.FiniteMathOnly)
1327 if (LangOpts.GNUCVersion) {
1328 if (LangOpts.GNUInline || LangOpts.CPlusPlus)
1357 if (LangOpts.Char8 || LangOpts.C23)
1372 if (LangOpts.GNUCVersion)
1375 if (LangOpts.NoInlineDefine)
1378 if (unsigned PICLevel = LangOpts.PICLevel) {
1381 if (LangOpts.PIE) {
1391 if (LangOpts.getStackProtector() == LangOptions::SSPOn)
1393 else if (LangOpts.getStackProtector() == LangOptions::SSPStrong)
1395 else if (LangOpts.getStackProtector() == LangOptions::SSPReq)
1401 if (LangOpts.FastRelaxedMath)
1405 LangOpts.getGC() != LangOptions::NonGC) {
1410 } else if (LangOpts.ObjC) {
1438 if (!LangOpts.OpenMPSimd) {
1439 switch (LangOpts.OpenMP) {
1465 if (LangOpts.CUDAIsDevice && !LangOpts.HIP) {
1473 if (LangOpts.GPUDeviceApproxTranscendentals)
1478 if (LangOpts.SYCLIsDevice) {
1483 if (LangOpts.OpenCL) {
1484 InitializeOpenCLFeatureTestMacros(TI, LangOpts, Builder);
1490 if (TI.hasInt128Type() && LangOpts.CPlusPlus && LangOpts.GNUMode) {
1512 TI.getTargetDefines(LangOpts, Builder);
1531 const LangOptions &LangOpts = PP.getLangOpts();
1546 if ((LangOpts.CUDA || LangOpts.OpenMPIsTargetDevice ||
1547 LangOpts.SYCLIsDevice) &&
1549 InitializePredefinedMacros(*PP.getAuxTargetInfo(), LangOpts, FEOpts,
1552 InitializePredefinedMacros(PP.getTargetInfo(), LangOpts, FEOpts,
1557 if (LangOpts.ObjC && LangOpts.CPlusPlus &&
1558 (LangOpts.ObjCAutoRefCount || LangOpts.ObjCWeak)) {
1565 AddObjCXXARCLibstdcxxDefines(LangOpts, Builder);