From owner-svn-src-projects@FreeBSD.ORG Wed Feb 26 22:18:34 2014 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id E574561E; Wed, 26 Feb 2014 22:18:34 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id B643212D3; Wed, 26 Feb 2014 22:18:34 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.8/8.14.8) with ESMTP id s1QMIYDE033681; Wed, 26 Feb 2014 22:18:34 GMT (envelope-from dim@svn.freebsd.org) Received: (from dim@localhost) by svn.freebsd.org (8.14.8/8.14.8/Submit) id s1QMIYa0033679; Wed, 26 Feb 2014 22:18:34 GMT (envelope-from dim@svn.freebsd.org) Message-Id: <201402262218.s1QMIYa0033679@svn.freebsd.org> From: Dimitry Andric Date: Wed, 26 Feb 2014 22:18:34 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r262535 - in projects/clang-sparc64/contrib/llvm/tools/clang/lib: Basic Driver X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 26 Feb 2014 22:18:35 -0000 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(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 "";