58 lines
1.1 KiB
C++
58 lines
1.1 KiB
C++
#include "Foot.h"
|
|
|
|
#include "clang/Basic/MacroBuilder.h"
|
|
|
|
static const char* FootDataLayoutStr =
|
|
"e-"
|
|
"p:32:32-"
|
|
"n8:16:32-"
|
|
"i64:64:64-i32:32:32-i16:16:32-"
|
|
"f32:32:32-"
|
|
"v32:32:32";
|
|
|
|
namespace clang {
|
|
namespace targets {
|
|
|
|
FootTargetInfo::FootTargetInfo(const llvm::Triple &Triple, const TargetOptions &)
|
|
: TargetInfo(Triple) {
|
|
resetDataLayout(FootDataLayoutStr);
|
|
}
|
|
|
|
void FootTargetInfo::getTargetDefines(const LangOptions &Opts, MacroBuilder &Builder) const
|
|
{
|
|
Builder.defineMacro("__foot__");
|
|
}
|
|
|
|
SmallVector<Builtin::InfosShard> FootTargetInfo::getTargetBuiltins() const
|
|
{
|
|
return {};
|
|
}
|
|
|
|
TargetInfo::BuiltinVaListKind FootTargetInfo::getBuiltinVaListKind() const
|
|
{
|
|
return BuiltinVaListKind::VoidPtrBuiltinVaList;
|
|
}
|
|
|
|
bool FootTargetInfo::validateAsmConstraint(const char *&Name, ConstraintInfo &info) const
|
|
{
|
|
return true;
|
|
}
|
|
|
|
std::string_view FootTargetInfo::getClobbers() const
|
|
{
|
|
return "";
|
|
}
|
|
|
|
ArrayRef<const char *> FootTargetInfo::getGCCRegNames() const
|
|
{
|
|
return {};
|
|
}
|
|
|
|
ArrayRef<TargetInfo::GCCRegAlias> FootTargetInfo::getGCCRegAliases() const
|
|
{
|
|
return {};
|
|
}
|
|
|
|
} // namespace targets
|
|
} // namespace clang
|