]> granicus.if.org Git - clang/commitdiff
MIPS: Initialize MIPS CPU's name by default value.
authorSimon Atanasyan <satanasyan@mips.com>
Thu, 12 Apr 2012 19:59:24 +0000 (19:59 +0000)
committerSimon Atanasyan <satanasyan@mips.com>
Thu, 12 Apr 2012 19:59:24 +0000 (19:59 +0000)
Otherwise MipsTargetInfoBase::getDefaultFeatures() might return an invalid
features set with an empty feature name.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@154606 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Basic/Targets.cpp

index 8cf27b301e19c0ca718da35c00975eb84bd8378a..1ad37c4e57264bc906cc80da192c2d9c1aba3355 100644 (file)
@@ -3449,8 +3449,11 @@ protected:
   std::string ABI;
 
 public:
-  MipsTargetInfoBase(const std::string& triple, const std::string& ABIStr)
+  MipsTargetInfoBase(const std::string& triple,
+                     const std::string& ABIStr,
+                     const std::string& CPUStr)
     : TargetInfo(triple),
+      CPU(CPUStr),
       SoftFloat(false), SingleFloat(false),
       ABI(ABIStr)
   {}
@@ -3575,7 +3578,7 @@ public:
 class Mips32TargetInfoBase : public MipsTargetInfoBase {
 public:
   Mips32TargetInfoBase(const std::string& triple) :
-    MipsTargetInfoBase(triple, "o32") {
+    MipsTargetInfoBase(triple, "o32", "mips32") {
     SizeType = UnsignedInt;
     PtrDiffType = SignedInt;
   }
@@ -3679,7 +3682,7 @@ class Mips64TargetInfoBase : public MipsTargetInfoBase {
   virtual void SetDescriptionString(const std::string &Name) = 0;
 public:
   Mips64TargetInfoBase(const std::string& triple) :
-    MipsTargetInfoBase(triple, "n64") {
+    MipsTargetInfoBase(triple, "n64", "mips64") {
     LongWidth = LongAlign = 64;
     PointerWidth = PointerAlign = 64;
     LongDoubleWidth = LongDoubleAlign = 128;