diff options
Diffstat (limited to 'clang/lib/Basic/Targets/Mips.cpp')
-rw-r--r-- | clang/lib/Basic/Targets/Mips.cpp | 24 |
1 files changed, 12 insertions, 12 deletions
diff --git a/clang/lib/Basic/Targets/Mips.cpp b/clang/lib/Basic/Targets/Mips.cpp index 39246f650cce..078a8fe62ac2 100644 --- a/clang/lib/Basic/Targets/Mips.cpp +++ b/clang/lib/Basic/Targets/Mips.cpp @@ -20,11 +20,11 @@ using namespace clang; using namespace clang::targets; -const Builtin::Info MipsTargetInfo::BuiltinInfo[] = { +static constexpr Builtin::Info BuiltinInfo[] = { #define BUILTIN(ID, TYPE, ATTRS) \ - {#ID, TYPE, ATTRS, nullptr, ALL_LANGUAGES, nullptr}, + {#ID, TYPE, ATTRS, nullptr, HeaderDesc::NO_HEADER, ALL_LANGUAGES}, #define LIBBUILTIN(ID, TYPE, ATTRS, HEADER) \ - {#ID, TYPE, ATTRS, HEADER, ALL_LANGUAGES, nullptr}, + {#ID, TYPE, ATTRS, nullptr, HeaderDesc::HEADER, ALL_LANGUAGES}, #include "clang/Basic/BuiltinsMips.def" }; @@ -182,7 +182,7 @@ void MipsTargetInfo::getTargetDefines(const LangOptions &Opts, if (DisableMadd4) Builder.defineMacro("__mips_no_madd4", Twine(1)); - Builder.defineMacro("_MIPS_SZPTR", Twine(getPointerWidth(0))); + Builder.defineMacro("_MIPS_SZPTR", Twine(getPointerWidth(LangAS::Default))); Builder.defineMacro("_MIPS_SZINT", Twine(getIntWidth())); Builder.defineMacro("_MIPS_SZLONG", Twine(getLongWidth())); @@ -195,11 +195,11 @@ void MipsTargetInfo::getTargetDefines(const LangOptions &Opts, if (StringRef(CPU).startswith("octeon")) Builder.defineMacro("__OCTEON__"); - // These shouldn't be defined for MIPS-I but there's no need to check - // for that since MIPS-I isn't supported. - Builder.defineMacro("__GCC_HAVE_SYNC_COMPARE_AND_SWAP_1"); - Builder.defineMacro("__GCC_HAVE_SYNC_COMPARE_AND_SWAP_2"); - Builder.defineMacro("__GCC_HAVE_SYNC_COMPARE_AND_SWAP_4"); + if (CPU != "mips1") { + Builder.defineMacro("__GCC_HAVE_SYNC_COMPARE_AND_SWAP_1"); + Builder.defineMacro("__GCC_HAVE_SYNC_COMPARE_AND_SWAP_2"); + Builder.defineMacro("__GCC_HAVE_SYNC_COMPARE_AND_SWAP_4"); + } // 32-bit MIPS processors don't have the necessary lld/scd instructions // found in 64-bit processors. In the case of O32 on a 64-bit processor, @@ -220,8 +220,8 @@ bool MipsTargetInfo::hasFeature(StringRef Feature) const { } ArrayRef<Builtin::Info> MipsTargetInfo::getTargetBuiltins() const { - return llvm::makeArrayRef(BuiltinInfo, clang::Mips::LastTSBuiltin - - Builtin::FirstTSBuiltin); + return llvm::ArrayRef(BuiltinInfo, + clang::Mips::LastTSBuiltin - Builtin::FirstTSBuiltin); } unsigned MipsTargetInfo::getUnwindWordWidth() const { @@ -229,7 +229,7 @@ unsigned MipsTargetInfo::getUnwindWordWidth() const { .Case("o32", 32) .Case("n32", 64) .Case("n64", 64) - .Default(getPointerWidth(0)); + .Default(getPointerWidth(LangAS::Default)); } bool MipsTargetInfo::validateTarget(DiagnosticsEngine &Diags) const { |