]> granicus.if.org Git - clang/commitdiff
Straighten out target triples provided on the command line
authorDuncan Sands <baldrick@free.fr>
Mon, 30 Aug 2010 09:42:39 +0000 (09:42 +0000)
committerDuncan Sands <baldrick@free.fr>
Mon, 30 Aug 2010 09:42:39 +0000 (09:42 +0000)
before using them.

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

lib/Frontend/CompilerInvocation.cpp
tools/driver/cc1as_main.cpp

index 68e2d846c52399e03968a7edeb376e3d63c00e45..c4ecf61ce292e557ce2fcbf4efa8fb059d974327 100644 (file)
@@ -23,6 +23,7 @@
 #include "llvm/ADT/SmallVector.h"
 #include "llvm/ADT/StringExtras.h"
 #include "llvm/ADT/StringSwitch.h"
+#include "llvm/ADT/Triple.h"
 #include "llvm/Support/ErrorHandling.h"
 #include "llvm/System/Host.h"
 #include "llvm/System/Path.h"
@@ -1472,7 +1473,7 @@ static void ParseTargetArgs(TargetOptions &Opts, ArgList &Args) {
   Opts.CPU = Args.getLastArgValue(OPT_target_cpu);
   Opts.Features = Args.getAllArgValues(OPT_target_feature);
   Opts.LinkerVersion = Args.getLastArgValue(OPT_target_linker_version);
-  Opts.Triple = Args.getLastArgValue(OPT_triple);
+  Opts.Triple = llvm::Triple::normalize(Args.getLastArgValue(OPT_triple));
 
   // Use the host triple if unspecified.
   if (Opts.Triple.empty())
index b8f2b687883dcc260af24898aeab770c1c4bd665..5bce70cb2a1b01bfc640c48c047598dab4bd024b 100644 (file)
@@ -24,6 +24,7 @@
 #include "clang/Frontend/TextDiagnosticPrinter.h"
 #include "llvm/ADT/OwningPtr.h"
 #include "llvm/ADT/StringSwitch.h"
+#include "llvm/ADT/Triple.h"
 #include "llvm/MC/MCParser/MCAsmParser.h"
 #include "llvm/MC/MCAsmInfo.h"
 #include "llvm/MC/MCCodeEmitter.h"
@@ -142,7 +143,7 @@ void AssemblerInvocation::CreateFromArgs(AssemblerInvocation &Opts,
   // Construct the invocation.
 
   // Target Options
-  Opts.Triple = Args->getLastArgValue(OPT_triple);
+  Opts.Triple = Triple::normalize(Args->getLastArgValue(OPT_triple));
   if (Opts.Triple.empty()) // Use the host triple if unspecified.
     Opts.Triple = sys::getHostTriple();