NumRecords = clang::PPC::LastTSBuiltin-Builtin::FirstTSBuiltin;
}
- virtual void getTargetDefines(std::vector<char> &Defines) const;
+ virtual void getTargetDefines(const LangOptions &Opts,
+ std::vector<char> &Defines) const;
virtual const char *getVAListDeclaration() const {
return "typedef char* __builtin_va_list;";
/// PPCTargetInfo::getTargetDefines - Return a set of the PowerPC-specific
/// #defines that are not tied to a specific subtarget.
-void PPCTargetInfo::getTargetDefines(std::vector<char> &Defs) const {
+void PPCTargetInfo::getTargetDefines(const LangOptions &Opts,
+ std::vector<char> &Defs) const {
// Target identification.
Define(Defs, "__ppc__");
Define(Defs, "_ARCH_PPC");
class DarwinPPCTargetInfo : public PPC32TargetInfo {
public:
DarwinPPCTargetInfo(const std::string& triple) : PPC32TargetInfo(triple) {}
- virtual void getTargetDefines(std::vector<char> &Defines) const {
- PPC32TargetInfo::getTargetDefines(Defines);
+ virtual void getTargetDefines(const LangOptions &Opts,
+ std::vector<char> &Defines) const {
+ PPC32TargetInfo::getTargetDefines(Opts, Defines);
getDarwinDefines(Defines, getTargetTriple());
}
class DarwinPPC64TargetInfo : public PPC64TargetInfo {
public:
DarwinPPC64TargetInfo(const std::string& triple) : PPC64TargetInfo(triple) {}
- virtual void getTargetDefines(std::vector<char> &Defines) const {
- PPC64TargetInfo::getTargetDefines(Defines);
+ virtual void getTargetDefines(const LangOptions &Opts,
+ std::vector<char> &Defines) const {
+ PPC64TargetInfo::getTargetDefines(Opts, Defines);
getDarwinDefines(Defines, getTargetTriple());
}
virtual const char *getClobbers() const {
return "~{dirflag},~{fpsr},~{flags}";
}
- virtual void getTargetDefines(std::vector<char> &Defines) const;
+ virtual void getTargetDefines(const LangOptions &Opts,
+ std::vector<char> &Defines) const;
virtual int HandleTargetFeatures(std::string *StrArray, unsigned NumStrs,
std::string &ErrorReason);
/// X86TargetInfo::getTargetDefines - Return a set of the X86-specific #defines
/// that are not tied to a specific subtarget.
-void X86TargetInfo::getTargetDefines(std::vector<char> &Defs) const {
+void X86TargetInfo::getTargetDefines(const LangOptions &Opts,
+ std::vector<char> &Defs) const {
// Target identification.
if (PointerWidth == 64) {
Define(Defs, "_LP64");
"i64:32:64-f32:32:32-f64:32:64-v64:64:64-v128:128:128-"
"a0:0:64-f80:128:128";
}
- virtual void getTargetDefines(std::vector<char> &Defines) const {
- X86_32TargetInfo::getTargetDefines(Defines);
+ virtual void getTargetDefines(const LangOptions &Opts,
+ std::vector<char> &Defines) const {
+ X86_32TargetInfo::getTargetDefines(Opts, Defines);
getDarwinDefines(Defines, getTargetTriple());
}
/// getDefaultLangOptions - Allow the target to specify default settings for
SizeType = UnsignedInt;
PtrDiffType = SignedInt;
}
- virtual void getTargetDefines(std::vector<char> &Defines) const {
- X86_32TargetInfo::getTargetDefines(Defines);
+ virtual void getTargetDefines(const LangOptions &Opts,
+ std::vector<char> &Defines) const {
+ X86_32TargetInfo::getTargetDefines(Opts, Defines);
getFreeBSDDefines(Defines, 0, getTargetTriple());
}
};
SizeType = UnsignedInt;
PtrDiffType = SignedInt;
}
- virtual void getTargetDefines(std::vector<char> &Defines) const {
- X86_32TargetInfo::getTargetDefines(Defines);
+ virtual void getTargetDefines(const LangOptions &Opts,
+ std::vector<char> &Defines) const {
+ X86_32TargetInfo::getTargetDefines(Opts, Defines);
getDragonFlyDefines(Defines);
}
};
PtrDiffType = SignedInt;
IntPtrType = SignedInt;
}
- virtual void getTargetDefines(std::vector<char> &Defines) const {
- X86_32TargetInfo::getTargetDefines(Defines);
+ virtual void getTargetDefines(const LangOptions &Opts,
+ std::vector<char> &Defines) const {
+ X86_32TargetInfo::getTargetDefines(Opts, Defines);
getLinuxDefines(Defines);
}
};
SizeType = UnsignedInt;
PtrDiffType = SignedInt;
}
- virtual void getTargetDefines(std::vector<char> &Defines) const {
- X86_32TargetInfo::getTargetDefines(Defines);
+ virtual void getTargetDefines(const LangOptions &Opts,
+ std::vector<char> &Defines) const {
+ X86_32TargetInfo::getTargetDefines(Opts, Defines);
// This list is based off of the the list of things MingW defines
Define(Defines, "__WIN32__");
Define(Defines, "__WIN32");
// x86-64 generic target
class X86_64TargetInfo : public X86TargetInfo {
public:
- X86_64TargetInfo(const std::string& triple) : X86TargetInfo(triple) {
+ X86_64TargetInfo(const std::string &triple) : X86TargetInfo(triple) {
LongWidth = LongAlign = PointerWidth = PointerAlign = 64;
DoubleAlign = LongLongAlign = 64;
LongDoubleWidth = 128;
// x86-64 FreeBSD target
class FreeBSDX86_64TargetInfo : public X86_64TargetInfo {
public:
- FreeBSDX86_64TargetInfo(const std::string& triple) : X86_64TargetInfo(triple) {}
- virtual void getTargetDefines(std::vector<char> &Defines) const {
- X86_64TargetInfo::getTargetDefines(Defines);
+ FreeBSDX86_64TargetInfo(const std::string &triple)
+ : X86_64TargetInfo(triple) {}
+ virtual void getTargetDefines(const LangOptions &Opts,
+ std::vector<char> &Defines) const {
+ X86_64TargetInfo::getTargetDefines(Opts, Defines);
getFreeBSDDefines(Defines, 1, getTargetTriple());
}
};
LinuxX86_64TargetInfo(const std::string& triple) : X86_64TargetInfo(triple) {
UserLabelPrefix = "";
}
- virtual void getTargetDefines(std::vector<char> &Defines) const {
- X86_64TargetInfo::getTargetDefines(Defines);
+ virtual void getTargetDefines(const LangOptions &Opts,
+ std::vector<char> &Defines) const {
+ X86_64TargetInfo::getTargetDefines(Opts, Defines);
getLinuxDefines(Defines);
}
};
DarwinX86_64TargetInfo(const std::string& triple) :
X86_64TargetInfo(triple) {}
- virtual void getTargetDefines(std::vector<char> &Defines) const {
- X86_64TargetInfo::getTargetDefines(Defines);
+ virtual void getTargetDefines(const LangOptions &Opts,
+ std::vector<char> &Defines) const {
+ X86_64TargetInfo::getTargetDefines(Opts, Defines);
getDarwinDefines(Defines, getTargetTriple());
}
DescriptionString = "e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-"
"i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:64:64";
}
- virtual void getTargetDefines(std::vector<char> &Defs) const {
+ virtual void getTargetDefines(const LangOptions &Opts,
+ std::vector<char> &Defs) const {
// Target identification.
Define(Defs, "__arm");
Define(Defs, "__arm__");
public:
DarwinARMTargetInfo(const std::string& triple) : ARMTargetInfo(triple) {}
- virtual void getTargetDefines(std::vector<char> &Defines) const {
- ARMTargetInfo::getTargetDefines(Defines);
+ virtual void getTargetDefines(const LangOptions &Opts,
+ std::vector<char> &Defines) const {
+ ARMTargetInfo::getTargetDefines(Opts, Defines);
getDarwinDefines(Defines, getTargetTriple());
}
};
DescriptionString = "e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-"
"i64:64:64-f32:32:32-f64:64:64-v64:64:64";
}
- virtual void getTargetDefines(std::vector<char> &Defines) const {
+ virtual void getTargetDefines(const LangOptions &Opts,
+ std::vector<char> &Defines) const {
// FIXME: This is missing a lot of important defines; some of the
// missing stuff is likely to break system headers.
Define(Defines, "__sparc");
PtrDiffType = SignedInt;
}
- virtual void getTargetDefines(std::vector<char> &Defines) const {
- SparcV8TargetInfo::getTargetDefines(Defines);
+ virtual void getTargetDefines(const LangOptions &Opts,
+ std::vector<char> &Defines) const {
+ SparcV8TargetInfo::getTargetDefines(Opts, Defines);
getSolarisDefines(Defines);
}
};
}
virtual uint64_t getPointerWidthV(unsigned AddrSpace) const { return 16; }
virtual uint64_t getPointerAlignV(unsigned AddrSpace) const { return 8; }
- virtual void getTargetDefines(std::vector<char> &Defines) const {
+ virtual void getTargetDefines(const LangOptions &Opts,
+ std::vector<char> &Defines) const {
Define(Defines, "__pic16");
}
virtual void getTargetBuiltins(const Builtin::Info *&Records,