diff options
author | Simon Atanasyan <simon@atanasyan.com> | 2013-02-27 14:55:49 +0000 |
---|---|---|
committer | Simon Atanasyan <simon@atanasyan.com> | 2013-02-27 14:55:49 +0000 |
commit | e9616a4972a4c2fdc28128c057f21d7a79516c86 (patch) | |
tree | a4ced46a51747caad026316b9ba2aecd525f8795 /lib/Basic | |
parent | 1d4fff5551c2347010b955b4337a2aa7d65a050e (diff) |
[Mips] Add two new aliases for MIPS ABI names 32 (means o32 abi) and 64
(means n64 abi) to improve compatibility with GNU tools.
Patch by Jia Liu <proljc@gmail.com>.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@176187 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Basic')
-rw-r--r-- | lib/Basic/Targets.cpp | 28 |
1 files changed, 19 insertions, 9 deletions
diff --git a/lib/Basic/Targets.cpp b/lib/Basic/Targets.cpp index ec57ca3609..24a69ee22b 100644 --- a/lib/Basic/Targets.cpp +++ b/lib/Basic/Targets.cpp @@ -4411,6 +4411,12 @@ public: Name == "mips16" || Name == "dsp" || Name == "dspr2") { Features[Name] = Enabled; return true; + } else if (Name == "32") { + Features["o32"] = Enabled; + return true; + } else if (Name == "64") { + Features["n64"] = Enabled; + return true; } return false; } @@ -4467,6 +4473,9 @@ public: if ((Name == "o32") || (Name == "eabi")) { ABI = Name; return true; + } else if (Name == "32") { + ABI = "o32"; + return true; } else return false; } @@ -4571,18 +4580,19 @@ public: } virtual bool setABI(const std::string &Name) { SetDescriptionString(Name); - - if (Name != "n32" && Name != "n64") - return false; - - ABI = Name; - if (Name == "n32") { LongWidth = LongAlign = 32; PointerWidth = PointerAlign = 32; - } - - return true; + ABI = Name; + return true; + } else if (Name == "n64") { + ABI = Name; + return true; + } else if (Name == "64") { + ABI = "n64"; + return true; + } else + return false; } virtual void getTargetDefines(const LangOptions &Opts, MacroBuilder &Builder) const { |