From 12881e79b60886df8872045044f34d4ab3d79535 Mon Sep 17 00:00:00 2001
From: Duncan Sands
Date: Mon, 30 Aug 2010 10:57:54 +0000
Subject: [PATCH] Remove a hack that tries to understand incorrect triples from
the Triple class constructor. Only valid triples should now be used inside
LLVM - front-ends are now responsable for rejecting or correcting invalid
target triples. The Triple::normalize method can be used to straighten out
funky triples provided by users. Give this a whirl through the buildbots to
see if I caught all places where triples enter LLVM.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112470 91177308-0d34-0410-b5e6-96231b3b80d8
---
docs/ReleaseNotes.html | 5 +++++
lib/Support/Triple.cpp | 16 ----------------
2 files changed, 5 insertions(+), 16 deletions(-)
diff --git a/docs/ReleaseNotes.html b/docs/ReleaseNotes.html
index f9f492c2639..b937f7d8713 100644
--- a/docs/ReleaseNotes.html
+++ b/docs/ReleaseNotes.html
@@ -347,6 +347,11 @@ expose new optimization opportunities:
SMDiagnostic takes different parameters now. //FIXME: how to upgrade?
+
+ The constructor for the Triple class no longer tries to understand odd triple
+ specifications. Frontends should ensure that they only pass valid triples to
+ LLVM. The Triple::normalize utility method has been added to help front-ends
+ deal with funky triples.
Some APIs got renamed:
diff --git a/lib/Support/Triple.cpp b/lib/Support/Triple.cpp
index 7806aec16c6..3a95b65e690 100644
--- a/lib/Support/Triple.cpp
+++ b/lib/Support/Triple.cpp
@@ -323,22 +323,6 @@ void Triple::Parse() const {
Vendor = ParseVendor(getVendorName());
OS = ParseOS(getOSName());
- // Handle some exceptional cases where the OS / environment components are
- // stuck into the vendor field.
- // TODO: Remove this logic and have places that need it use 'normalize'.
- if (StringRef(getTriple()).count('-') == 1) {
- StringRef VendorName = getVendorName();
-
- if (VendorName.startswith("mingw32")) { // 'i386-mingw32', etc.
- Vendor = PC;
- OS = MinGW32;
- return;
- }
-
- // arm-elf is another example, but we don't currently parse anything about
- // the environment.
- }
-
assert(isInitialized() && "Failed to initialize!");
}