svn commit: r262535 - in projects/clang-sparc64/contrib/llvm/tools/clang/lib: Basic Driver

Dimitry Andric dim at FreeBSD.org
Wed Feb 26 22:18:35 UTC 2014


Author: dim
Date: Wed Feb 26 22:18:33 2014
New Revision: 262535
URL: http://svnweb.freebsd.org/changeset/base/262535

Log:
  Pull in r202177 from upstream clang trunk (by Roman Divacky):
  
    Give sparcv9 the ability to set the target cpu. Change it from
    accepting -march which doesnt exist on sparc gcc to -mcpu. While here
    adjust a few tests to not write an unused temporary file.

Modified:
  projects/clang-sparc64/contrib/llvm/tools/clang/lib/Basic/Targets.cpp
  projects/clang-sparc64/contrib/llvm/tools/clang/lib/Driver/Tools.cpp

Modified: projects/clang-sparc64/contrib/llvm/tools/clang/lib/Basic/Targets.cpp
==============================================================================
--- projects/clang-sparc64/contrib/llvm/tools/clang/lib/Basic/Targets.cpp	Wed Feb 26 22:06:10 2014	(r262534)
+++ projects/clang-sparc64/contrib/llvm/tools/clang/lib/Basic/Targets.cpp	Wed Feb 26 22:18:33 2014	(r262535)
@@ -4552,6 +4552,22 @@ public:
       Builder.defineMacro("__sparcv9__");
     }
   }
+
+  virtual bool setCPU(const std::string &Name) {
+    bool CPUKnown = llvm::StringSwitch<bool>(Name)
+      .Case("v9", true)
+      .Case("ultrasparc", true)
+      .Case("ultrasparc3", true)
+      .Case("niagara", true)
+      .Case("niagara2", true)
+      .Case("niagara3", true)
+      .Case("niagara4", true)
+      .Default(false);
+
+    // No need to store the CPU yet.  There aren't any CPU-specific
+    // macros to define.
+    return CPUKnown;
+  }
 };
 
 } // end anonymous namespace.

Modified: projects/clang-sparc64/contrib/llvm/tools/clang/lib/Driver/Tools.cpp
==============================================================================
--- projects/clang-sparc64/contrib/llvm/tools/clang/lib/Driver/Tools.cpp	Wed Feb 26 22:06:10 2014	(r262534)
+++ projects/clang-sparc64/contrib/llvm/tools/clang/lib/Driver/Tools.cpp	Wed Feb 26 22:18:33 2014	(r262535)
@@ -1373,7 +1373,8 @@ static std::string getCPUName(const ArgL
   }
 
   case llvm::Triple::sparc:
-    if (const Arg *A = Args.getLastArg(options::OPT_march_EQ))
+  case llvm::Triple::sparcv9:
+    if (const Arg *A = Args.getLastArg(options::OPT_mcpu_EQ))
       return A->getValue();
     return "";
 


More information about the svn-src-projects mailing list