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