<
typenameTgtInfo>
32TgtInfo::getTargetDefines(Opts, Builder);
33getOSDefines(Opts, TgtInfo::getTriple(), Builder);
38 constllvm::Triple &Triple);
41 constllvm::Triple &Triple, StringRef &PlatformName,
42VersionTuple &PlatformMinVersion);
44template<
typenameTarget>
58 return "__TEXT,__StaticInit,regular,pure_instructions";
67template<
typenameTarget>
74this->PlatformMinVersion);
82this->TLSSupported =
false;
84 if(Triple.isMacOSX())
85this->TLSSupported = !Triple.isMacOSXVersionLT(10, 7);
86 else if(Triple.isiOS()) {
89 if(Triple.isArch64Bit())
90this->TLSSupported = !Triple.isOSVersionLT(8);
91 else if(Triple.isArch32Bit()) {
92 if(!Triple.isSimulatorEnvironment())
93this->TLSSupported = !Triple.isOSVersionLT(9);
95this->TLSSupported = !Triple.isOSVersionLT(10);
97}
else if(Triple.isWatchOS()) {
98 if(!Triple.isSimulatorEnvironment())
99this->TLSSupported = !Triple.isOSVersionLT(2);
101this->TLSSupported = !Triple.isOSVersionLT(3);
102}
else if(Triple.isDriverKit()) {
104}
else if(Triple.isXROS())
105this->TLSSupported =
true;
107this->MCountName =
"\01mcount";
119llvm::VersionTuple MinVersion;
120 constllvm::Triple &
T= this->getTriple();
123 switch(
T.getOS()) {
124 casellvm::Triple::Darwin:
125 casellvm::Triple::MacOSX:
126MinVersion = llvm::VersionTuple(10U, 14U);
128 casellvm::Triple::IOS:
129 casellvm::Triple::TvOS:
130MinVersion = llvm::VersionTuple(12U);
132 casellvm::Triple::WatchOS:
133MinVersion = llvm::VersionTuple(5U);
135 casellvm::Triple::XROS:
136MinVersion = llvm::VersionTuple(0);
143 if(
T.getOSVersion() < MinVersion)
149 boolIsSigned)
const final{
151 returnBitWidth == 64
152? (IsSigned ? TargetInfo::SignedLongLong
153: TargetInfo::UnsignedLongLong)
154: TargetInfo::getLeastIntTypeByWidth(BitWidth, IsSigned);
163template<
typenameTarget>
170Builder.defineMacro(
"__DragonFly__");
171Builder.defineMacro(
"__DragonFly_cc_version",
"100001");
172Builder.defineMacro(
"__KPRINTF_ATTRIBUTE__");
173Builder.defineMacro(
"__tune_i386__");
175 if(this->HasFloat128)
176Builder.defineMacro(
"__FLOAT128__");
182 switch(Triple.getArch()) {
184 casellvm::Triple::x86:
185 casellvm::Triple::x86_64:
186this->HasFloat128 =
true;
187this->MCountName =
".mcount";
193#ifndef FREEBSD_CC_VERSION 194#define FREEBSD_CC_VERSION 0U 198template<
typenameTarget>
205 unsignedRelease = Triple.getOSMajorVersion();
209 if(CCVersion == 0
U)
210CCVersion = Release * 100000U + 1U;
212Builder.defineMacro(
"__FreeBSD__", Twine(Release));
213Builder.defineMacro(
"__FreeBSD_cc_version", Twine(CCVersion));
214Builder.defineMacro(
"__KPRINTF_ATTRIBUTE__");
216 if(this->HasFloat128)
217Builder.defineMacro(
"__FLOAT128__");
228Builder.defineMacro(
"__STDC_MB_MIGHT_NEQ_WC__",
"1");
234 switch(Triple.getArch()) {
235 casellvm::Triple::x86:
236 casellvm::Triple::x86_64:
237this->HasFloat128 =
true;
240this->MCountName =
".mcount";
242 casellvm::Triple::mips:
243 casellvm::Triple::mipsel:
244 casellvm::Triple::ppc:
245 casellvm::Triple::ppcle:
246 casellvm::Triple::ppc64:
247 casellvm::Triple::ppc64le:
248this->MCountName =
"_mcount";
250 casellvm::Triple::arm:
251this->MCountName =
"__mcount";
253 casellvm::Triple::loongarch64:
254 casellvm::Triple::riscv64:
261template<
typenameTarget>
269Builder.defineMacro(
"__FreeBSD_kernel__");
270Builder.defineMacro(
"__GLIBC__");
271 if(Opts.POSIXThreads)
272Builder.defineMacro(
"_REENTRANT");
274Builder.defineMacro(
"_GNU_SOURCE");
282template<
typenameTarget>
288Builder.defineMacro(
"__HAIKU__");
290 if(this->HasFloat128)
291Builder.defineMacro(
"__FLOAT128__");
297this->SizeType = TargetInfo::UnsignedLong;
298this->IntPtrType = TargetInfo::SignedLong;
299this->PtrDiffType = TargetInfo::SignedLong;
300this->ProcessIDType = TargetInfo::SignedLong;
301 switch(Triple.getArch()) {
304 casellvm::Triple::x86:
305 casellvm::Triple::x86_64:
306this->HasFloat128 =
true;
313template<
typenameTarget>
320Builder.defineMacro(
"__GNU__");
321Builder.defineMacro(
"__gnu_hurd__");
322Builder.defineMacro(
"__MACH__");
323Builder.defineMacro(
"__GLIBC__");
324 if(Opts.POSIXThreads)
325Builder.defineMacro(
"_REENTRANT");
327Builder.defineMacro(
"_GNU_SOURCE");
334template<
typenameTarget>
342 if(Triple.isAndroid()) {
343Builder.defineMacro(
"__ANDROID__",
"1");
344this->PlatformName =
"android";
345this->PlatformMinVersion = Triple.getEnvironmentVersion();
346 const unsignedMaj = this->PlatformMinVersion.getMajor();
348Builder.defineMacro(
"__ANDROID_MIN_SDK_VERSION__", Twine(Maj));
351Builder.defineMacro(
"__ANDROID_API__",
"__ANDROID_MIN_SDK_VERSION__");
354Builder.defineMacro(
"__gnu_linux__");
356 if(Opts.POSIXThreads)
357Builder.defineMacro(
"_REENTRANT");
359Builder.defineMacro(
"_GNU_SOURCE");
360 if(this->HasFloat128)
361Builder.defineMacro(
"__FLOAT128__");
362 if(Triple.isTime64ABI()) {
363Builder.defineMacro(
"_FILE_OFFSET_BITS",
"64");
364Builder.defineMacro(
"_TIME_BITS",
"64");
371this->WIntType = TargetInfo::UnsignedInt;
373 switch(Triple.getArch()) {
376 casellvm::Triple::mips:
377 casellvm::Triple::mipsel:
378 casellvm::Triple::mips64:
379 casellvm::Triple::mips64el:
380 casellvm::Triple::ppc:
381 casellvm::Triple::ppcle:
382 casellvm::Triple::ppc64:
383 casellvm::Triple::ppc64le:
384this->MCountName =
"_mcount";
386 casellvm::Triple::x86:
387 casellvm::Triple::x86_64:
388this->HasFloat128 =
true;
394 return ".text.startup";
399template<
typenameTarget>
405Builder.defineMacro(
"__NetBSD__");
406Builder.defineMacro(
"__unix__");
407 if(Opts.POSIXThreads)
408Builder.defineMacro(
"_REENTRANT");
409 if(this->HasFloat128)
410Builder.defineMacro(
"__FLOAT128__");
416this->MCountName =
"__mcount";
417 switch(Triple.getArch()) {
420 casellvm::Triple::x86:
421 casellvm::Triple::x86_64:
422this->HasFloat128 =
true;
429template<
typenameTarget>
436Builder.defineMacro(
"__OpenBSD__");
438 if(Opts.POSIXThreads)
439Builder.defineMacro(
"_REENTRANT");
440 if(this->HasFloat128)
441Builder.defineMacro(
"__FLOAT128__");
444Builder.defineMacro(
"__STDC_NO_THREADS__");
450this->WCharType = this->WIntType = this->SignedInt;
451this->IntMaxType = TargetInfo::SignedLongLong;
452this->Int64Type = TargetInfo::SignedLongLong;
453 switch(Triple.getArch()) {
454 casellvm::Triple::x86:
455 casellvm::Triple::x86_64:
456this->HasFloat128 =
true;
459this->MCountName =
"__mcount";
461 casellvm::Triple::mips64:
462 casellvm::Triple::mips64el:
463 casellvm::Triple::ppc:
464 casellvm::Triple::ppc64:
465 casellvm::Triple::ppc64le:
466 casellvm::Triple::sparcv9:
467this->MCountName =
"_mcount";
469 casellvm::Triple::riscv64:
476template<
typenameTarget>
482Builder.defineMacro(
"__PPU__");
483Builder.defineMacro(
"__CELLOS_LV2__");
484Builder.defineMacro(
"__LP32__");
485Builder.defineMacro(
"_ARCH_PPC64");
486Builder.defineMacro(
"__powerpc64__");
492this->LongWidth = this->LongAlign = 32;
493this->PointerWidth = this->PointerAlign = 32;
494this->IntMaxType = TargetInfo::SignedLongLong;
495this->Int64Type = TargetInfo::SignedLongLong;
496this->SizeType = TargetInfo::UnsignedInt;
497this->resetDataLayout(
"E-m:e-p:32:32-Fi64-i64:64-i128:128-n32:64");
502template<
typenameTarget>
507Builder.defineMacro(
"__FreeBSD__",
"9");
508Builder.defineMacro(
"__FreeBSD_cc_version",
"900001");
509Builder.defineMacro(
"__KPRINTF_ATTRIBUTE__");
511Builder.defineMacro(
"__SCE__");
512Builder.defineMacro(
"__STDC_NO_COMPLEX__");
513Builder.defineMacro(
"__STDC_NO_THREADS__");
519this->WCharType = TargetInfo::UnsignedShort;
523this->MaxTLSAlign = 256;
527this->UseExplicitBitFieldAlignment =
false;
529this->MCountName =
".mcount";
530this->NewAlign = 256;
531this->SuitableAlign = 256;
536 return(CC ==
CC_C) ? TargetInfo::CCCR_OK : TargetInfo::CCCR_Error;
545template<
typenameTarget>
553Builder.defineMacro(
"__ORBIS__");
561template<
typenameTarget>
569Builder.defineMacro(
"__PROSPERO__");
577template<
typenameTarget>
584Builder.defineMacro(
"__rtems__");
586Builder.defineMacro(
"_GNU_SOURCE");
592 switch(Triple.getArch()) {
594 casellvm::Triple::x86:
597 casellvm::Triple::mips:
598 casellvm::Triple::mipsel:
599 casellvm::Triple::ppc:
600 casellvm::Triple::ppc64:
601 casellvm::Triple::ppc64le:
604 casellvm::Triple::arm:
612template<
typenameTarget>
619Builder.defineMacro(
"__svr4__");
620Builder.defineMacro(
"__SVR4");
626Builder.defineMacro(
"_XOPEN_SOURCE",
"600");
628Builder.defineMacro(
"_XOPEN_SOURCE",
"500");
629 if(Opts.CPlusPlus) {
630Builder.defineMacro(
"__C99FEATURES__");
631Builder.defineMacro(
"_FILE_OFFSET_BITS",
"64");
634Builder.defineMacro(
"_LARGEFILE_SOURCE");
635Builder.defineMacro(
"_LARGEFILE64_SOURCE");
636Builder.defineMacro(
"__EXTENSIONS__");
637 if(Opts.POSIXThreads)
638Builder.defineMacro(
"_REENTRANT");
639 if(this->HasFloat128)
640Builder.defineMacro(
"__FLOAT128__");
646 if(this->PointerWidth == 64) {
647this->WCharType = this->WIntType = this->SignedInt;
649this->WCharType = this->WIntType = this->SignedLong;
651 switch(Triple.getArch()) {
654 casellvm::Triple::x86:
655 casellvm::Triple::x86_64:
656this->HasFloat128 =
true;
663template<
typenameTarget>
669Builder.defineMacro(
"_IBMR2");
670Builder.defineMacro(
"_POWER");
671Builder.defineMacro(
"__THW_BIG_ENDIAN__");
673Builder.defineMacro(
"_AIX");
674Builder.defineMacro(
"__TOS_AIX__");
675Builder.defineMacro(
"__HOS_AIX__");
678Builder.defineMacro(
"__STDC_NO_ATOMICS__");
679Builder.defineMacro(
"__STDC_NO_THREADS__");
682 if(Opts.EnableAIXExtendedAltivecABI)
683Builder.defineMacro(
"__EXTABI__");
685VersionTuple OsVersion = Triple.getOSVersion();
689 if(OsVersion >= VersionTuple(3, 2))
690Builder.defineMacro(
"_AIX32");
691 if(OsVersion >= VersionTuple(4, 1))
692Builder.defineMacro(
"_AIX41");
693 if(OsVersion >= VersionTuple(4, 3))
694Builder.defineMacro(
"_AIX43");
695 if(OsVersion >= VersionTuple(5, 0))
696Builder.defineMacro(
"_AIX50");
697 if(OsVersion >= VersionTuple(5, 1))
698Builder.defineMacro(
"_AIX51");
699 if(OsVersion >= VersionTuple(5, 2))
700Builder.defineMacro(
"_AIX52");
701 if(OsVersion >= VersionTuple(5, 3))
702Builder.defineMacro(
"_AIX53");
703 if(OsVersion >= VersionTuple(6, 1))
704Builder.defineMacro(
"_AIX61");
705 if(OsVersion >= VersionTuple(7, 1))
706Builder.defineMacro(
"_AIX71");
707 if(OsVersion >= VersionTuple(7, 2))
708Builder.defineMacro(
"_AIX72");
709 if(OsVersion >= VersionTuple(7, 3))
710Builder.defineMacro(
"_AIX73");
713Builder.defineMacro(
"_LONG_LONG");
715 if(Opts.POSIXThreads) {
716Builder.defineMacro(
"_THREAD_SAFE");
719 if(this->PointerWidth == 64) {
720Builder.defineMacro(
"__64BIT__");
725 if(Opts.CPlusPlus && Opts.WChar) {
726Builder.defineMacro(
"_WCHAR_T");
733this->MCountName =
"__mcount";
734this->TheCXXABI.set(TargetCXXABI::XL);
736 if(this->PointerWidth == 64) {
737this->WCharType = this->UnsignedInt;
739this->WCharType = this->UnsignedShort;
741this->UseZeroLengthBitfieldAlignment =
true;
757template<
typenameTarget>
763Builder.defineMacro(
"_LONG_LONG");
764Builder.defineMacro(
"__370__");
765Builder.defineMacro(
"__BFP__");
767Builder.defineMacro(
"__BOOL__");
768Builder.defineMacro(
"__COMPILER_VER__",
"0x50000000");
769Builder.defineMacro(
"__LONGNAME__");
770Builder.defineMacro(
"__MVS__");
771Builder.defineMacro(
"__THW_370__");
772Builder.defineMacro(
"__THW_BIG_ENDIAN__");
773Builder.defineMacro(
"__TOS_390__");
774Builder.defineMacro(
"__TOS_MVS__");
775Builder.defineMacro(
"__XPLINK__");
777 if(this->PointerWidth == 64)
778Builder.defineMacro(
"__64BIT__");
780 if(Opts.CPlusPlus && Opts.WChar) {
783Builder.defineMacro(
"__wchar_t");
786this->PlatformName = llvm::Triple::getOSTypeName(Triple.getOS());
792this->WCharType = TargetInfo::UnsignedInt;
793this->MaxAlignedAttribute = 128;
794this->UseBitFieldTypeAlignment =
false;
795this->UseZeroLengthBitfieldAlignment =
true;
796this->UseLeadingZeroLengthBitfield =
false;
797this->ZeroLengthBitfieldBoundary = 32;
798this->TheCXXABI.set(TargetCXXABI::XL);
807template<
typenameTarget>
812Builder.defineMacro(
"__UEFI__");
818this->WCharType = TargetInfo::UnsignedShort;
819this->WIntType = TargetInfo::UnsignedShort;
827template<
typenameTarget>
838this->WCharType = TargetInfo::UnsignedShort;
839this->WIntType = TargetInfo::UnsignedShort;
843template<
typenameTarget>
848 if(Opts.POSIXThreads)
849Builder.defineMacro(
"_REENTRANT");
851Builder.defineMacro(
"_GNU_SOURCE");
854Builder.defineMacro(
"__native_client__");
860this->LongAlign = 32;
861this->LongWidth = 32;
862this->PointerAlign = 32;
863this->PointerWidth = 32;
864this->IntMaxType = TargetInfo::SignedLongLong;
865this->Int64Type = TargetInfo::SignedLongLong;
866this->DoubleAlign = 64;
867this->LongDoubleWidth = 64;
868this->LongDoubleAlign = 64;
869this->LongLongWidth = 64;
870this->LongLongAlign = 64;
871this->SizeType = TargetInfo::UnsignedInt;
872this->PtrDiffType = TargetInfo::SignedInt;
873this->IntPtrType = TargetInfo::SignedInt;
875this->LongDoubleFormat = &llvm::APFloat::IEEEdouble();
876 if(Triple.getArch() == llvm::Triple::arm) {
878}
else if(Triple.getArch() == llvm::Triple::x86) {
879this->resetDataLayout(
"e-m:e-p:32:32-p270:32:32-p271:32:32-p272:64:64-" 880 "i64:64-i128:128-n8:16:32-S128");
881}
else if(Triple.getArch() == llvm::Triple::x86_64) {
882this->resetDataLayout(
"e-m:e-p:32:32-p270:32:32-p271:32:32-p272:64:64-" 883 "i64:64-i128:128-n8:16:32:64-S128");
884}
else if(Triple.getArch() == llvm::Triple::mipsel) {
891template<
typenameTarget>
896Builder.defineMacro(
"__Fuchsia__");
897 if(Opts.POSIXThreads)
898Builder.defineMacro(
"_REENTRANT");
901Builder.defineMacro(
"_GNU_SOURCE");
902Builder.defineMacro(
"__Fuchsia_API_level__", Twine(Opts.FuchsiaAPILevel));
903this->PlatformName =
"fuchsia";
904this->PlatformMinVersion = VersionTuple(Opts.FuchsiaAPILevel);
910this->WIntType = TargetInfo::UnsignedInt;
911this->MCountName =
"__mcount";
912this->TheCXXABI.set(TargetCXXABI::Fuchsia);
917template<
typenameTarget>
924 if(Opts.POSIXThreads)
925Builder.defineMacro(
"_REENTRANT");
928Builder.defineMacro(
"_GNU_SOURCE");
930Builder.defineMacro(
"__FLOAT128__");
937this->MCountName =
"__mcount";
938this->TheCXXABI.set(TargetCXXABI::WebAssembly);
939this->HasFloat128 =
true;
944template<
typenameTarget>
947 voidgetOSDefines(
const LangOptions&Opts,
constllvm::Triple &Triple,
950Builder.defineMacro(
"__wasi__");
958template<
typenameTarget>
961 voidgetOSDefines(
const LangOptions&Opts,
constllvm::Triple &Triple,
965Builder.defineMacro(
"__EMSCRIPTEN__");
966 if(Opts.POSIXThreads)
967Builder.defineMacro(
"__EMSCRIPTEN_PTHREADS__");
979this->LongDoubleAlign = 64;
984template<
typenameTarget>
993 if(Triple.isOHOSFamily()) {
994Builder.defineMacro(
"__OHOS_FAMILY__",
"1");
996 autoVersion = Triple.getEnvironmentVersion();
997this->PlatformName =
"ohos";
998this->PlatformMinVersion = Version;
999Builder.defineMacro(
"__OHOS_Major__", Twine(Version.getMajor()));
1000 if(
autoMinor = Version.getMinor())
1001Builder.defineMacro(
"__OHOS_Minor__", Twine(*Minor));
1002 if(
autoSubminor = Version.getSubminor())
1003Builder.defineMacro(
"__OHOS_Micro__", Twine(*Subminor));
1006 if(Triple.isOpenHOS())
1007Builder.defineMacro(
"__OHOS__");
1009 if(Triple.isOSLinux()) {
1011}
else if(Triple.isOSLiteOS()) {
1012Builder.defineMacro(
"__LITEOS__");
1015 if(Opts.POSIXThreads)
1016Builder.defineMacro(
"_REENTRANT");
1018Builder.defineMacro(
"_GNU_SOURCE");
1019 if(this->HasFloat128)
1020Builder.defineMacro(
"__FLOAT128__");
1026this->WIntType = TargetInfo::UnsignedInt;
1028 switch(Triple.getArch()) {
1031 casellvm::Triple::x86:
1032 casellvm::Triple::x86_64:
1033this->HasFloat128 =
true;
1039 return ".text.startup";
llvm::MachO::Target Target
#define FREEBSD_CC_VERSION
FPEvalMethodKind
Possible float expression evaluation method choices.
@ FEM_Double
Use the type double for fp arithmetic.
Keeps track of the various options that can be enabled, which controls the dialect of C or C++ that i...
Options for controlling the target.
AIXTargetInfo(const llvm::Triple &Triple, const TargetOptions &Opts)
bool defaultsToAIXPowerAlignment() const override
LangOptions::FPEvalMethodKind getFPEvalMethod() const override
bool areDefaultedSMFStillPOD(const LangOptions &) const override
void getOSDefines(const LangOptions &Opts, const llvm::Triple &Triple, MacroBuilder &Builder) const override
const char * getStaticInitSectionSpecifier() const override
void getOSDefines(const LangOptions &Opts, const llvm::Triple &Triple, MacroBuilder &Builder) const override
AppleMachOTargetInfo(const llvm::Triple &Triple, const TargetOptions &Opts)
bool hasProtectedVisibility() const override
Apple Mach-O does not support protected visibility.
bool areDefaultedSMFStillPOD(const LangOptions &) const override
void getOSDefines(const LangOptions &Opts, const llvm::Triple &Triple, MacroBuilder &Builder) const override
unsigned getExnObjectAlignment() const override
TargetInfo::IntType getLeastIntTypeByWidth(unsigned BitWidth, bool IsSigned) const final
DarwinTargetInfo(const llvm::Triple &Triple, const TargetOptions &Opts)
const char * getStaticInitSectionSpecifier() const override
void getOSDefines(const LangOptions &Opts, const llvm::Triple &Triple, MacroBuilder &Builder) const override
DragonFlyBSDTargetInfo(const llvm::Triple &Triple, const TargetOptions &Opts)
EmscriptenTargetInfo(const llvm::Triple &Triple, const TargetOptions &Opts)
void getOSDefines(const LangOptions &Opts, const llvm::Triple &Triple, MacroBuilder &Builder) const override
FreeBSDTargetInfo(const llvm::Triple &Triple, const TargetOptions &Opts)
void getOSDefines(const LangOptions &Opts, const llvm::Triple &Triple, MacroBuilder &Builder) const override
FuchsiaTargetInfo(const llvm::Triple &Triple, const TargetOptions &Opts)
void getOSDefines(const LangOptions &Opts, const llvm::Triple &Triple, MacroBuilder &Builder) const override
HaikuTargetInfo(const llvm::Triple &Triple, const TargetOptions &Opts)
void getOSDefines(const LangOptions &Opts, const llvm::Triple &Triple, MacroBuilder &Builder) const override
void getOSDefines(const LangOptions &Opts, const llvm::Triple &Triple, MacroBuilder &Builder) const override
LinuxTargetInfo(const llvm::Triple &Triple, const TargetOptions &Opts)
void getOSDefines(const LangOptions &Opts, const llvm::Triple &Triple, MacroBuilder &Builder) const override
const char * getStaticInitSectionSpecifier() const override
NaClTargetInfo(const llvm::Triple &Triple, const TargetOptions &Opts)
void getOSDefines(const LangOptions &Opts, const llvm::Triple &Triple, MacroBuilder &Builder) const override
void getOSDefines(const LangOptions &Opts, const llvm::Triple &Triple, MacroBuilder &Builder) const override
NetBSDTargetInfo(const llvm::Triple &Triple, const TargetOptions &Opts)
const char * getStaticInitSectionSpecifier() const override
void getOSDefines(const LangOptions &Opts, const llvm::Triple &Triple, MacroBuilder &Builder) const override
OHOSTargetInfo(const llvm::Triple &Triple, const TargetOptions &Opts)
virtual void getOSDefines(const LangOptions &Opts, const llvm::Triple &Triple, MacroBuilder &Builder) const =0
void getTargetDefines(const LangOptions &Opts, MacroBuilder &Builder) const override
OSTargetInfo(const llvm::Triple &Triple, const TargetOptions &Opts)
OpenBSDTargetInfo(const llvm::Triple &Triple, const TargetOptions &Opts)
void getOSDefines(const LangOptions &Opts, const llvm::Triple &Triple, MacroBuilder &Builder) const override
void getOSDefines(const LangOptions &Opts, const llvm::Triple &Triple, MacroBuilder &Builder) const override
PS3PPUTargetInfo(const llvm::Triple &Triple, const TargetOptions &Opts)
void getOSDefines(const LangOptions &Opts, const llvm::Triple &Triple, MacroBuilder &Builder) const override
void getOSDefines(const LangOptions &Opts, const llvm::Triple &Triple, MacroBuilder &Builder) const override
bool areDefaultedSMFStillPOD(const LangOptions &) const override
void getOSDefines(const LangOptions &Opts, const llvm::Triple &Triple, MacroBuilder &Builder) const override
TargetInfo::CallingConvCheckResult checkCallingConvention(CallingConv CC) const override
PSOSTargetInfo(const llvm::Triple &Triple, const TargetOptions &Opts)
void getOSDefines(const LangOptions &Opts, const llvm::Triple &Triple, MacroBuilder &Builder) const override
RTEMSTargetInfo(const llvm::Triple &Triple, const TargetOptions &Opts)
void getOSDefines(const LangOptions &Opts, const llvm::Triple &Triple, MacroBuilder &Builder) const override
SolarisTargetInfo(const llvm::Triple &Triple, const TargetOptions &Opts)
UEFITargetInfo(const llvm::Triple &Triple, const TargetOptions &Opts)
void getOSDefines(const LangOptions &Opts, const llvm::Triple &Triple, MacroBuilder &Builder) const override
WebAssemblyOSTargetInfo(const llvm::Triple &Triple, const TargetOptions &Opts)
void getOSDefines(const LangOptions &Opts, const llvm::Triple &Triple, MacroBuilder &Builder) const override
WindowsTargetInfo(const llvm::Triple &Triple, const TargetOptions &Opts)
void getOSDefines(const LangOptions &Opts, const llvm::Triple &Triple, MacroBuilder &Builder) const override
bool areDefaultedSMFStillPOD(const LangOptions &) const override
void getOSDefines(const LangOptions &Opts, const llvm::Triple &Triple, MacroBuilder &Builder) const override
ZOSTargetInfo(const llvm::Triple &Triple, const TargetOptions &Opts)
void addWindowsDefines(const llvm::Triple &Triple, const LangOptions &Opts, MacroBuilder &Builder)
void getAppleMachODefines(MacroBuilder &Builder, const LangOptions &Opts, const llvm::Triple &Triple)
LLVM_LIBRARY_VISIBILITY void DefineStd(clang::MacroBuilder &Builder, llvm::StringRef MacroName, const clang::LangOptions &Opts)
Define a macro name and standard variants.
void getDarwinDefines(MacroBuilder &Builder, const LangOptions &Opts, const llvm::Triple &Triple, StringRef &PlatformName, VersionTuple &PlatformMinVersion)
The JSON file list parser is used to communicate input to InstallAPI.
const FunctionProtoType * T
CallingConv
CallingConv - Specifies the calling convention that a function uses.
IntType
===-â Target Data Type Query Methods ----------------------------â===//
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4