diff options
author | Duncan Sands <baldrick@free.fr> | 2010-08-30 10:57:54 +0000 |
---|---|---|
committer | Duncan Sands <baldrick@free.fr> | 2010-08-30 10:57:54 +0000 |
commit | 12881e79b60886df8872045044f34d4ab3d79535 (patch) | |
tree | 4851aade4052bac15ec3cb8432109dc490180edb | |
parent | cdd4f8c7cb0e5aa6e8d2b73f668c459936fe11d3 (diff) |
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
-rw-r--r-- | docs/ReleaseNotes.html | 5 | ||||
-rw-r--r-- | lib/Support/Triple.cpp | 16 |
2 files changed, 5 insertions, 16 deletions
diff --git a/docs/ReleaseNotes.html b/docs/ReleaseNotes.html index f9f492c263..b937f7d871 100644 --- a/docs/ReleaseNotes.html +++ b/docs/ReleaseNotes.html @@ -348,6 +348,11 @@ expose new optimization opportunities:</p> SMDiagnostic takes different parameters now. //FIXME: how to upgrade? </li> <li> + 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. +<li> Some APIs got renamed: <ul> <li>llvm_report_error -> report_fatal_error</li> diff --git a/lib/Support/Triple.cpp b/lib/Support/Triple.cpp index 7806aec16c..3a95b65e69 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!"); } |