Canonicalise Windows target triple spellings
authorSaleem Abdulrasool <compnerd@compnerd.org>
Thu, 27 Mar 2014 22:50:05 +0000 (22:50 +0000)
committerSaleem Abdulrasool <compnerd@compnerd.org>
Thu, 27 Mar 2014 22:50:05 +0000 (22:50 +0000)
commit2ea701e67a136b834f059d87e389060d60cba05a
tree010278d331460d2848d512816bf09e8624b4e654
parentbe77894aef60c9aa1f84110090102b437a6e885b
Canonicalise Windows target triple spellings

Construct a uniform Windows target triple nomenclature which is congruent to the
Linux counterpart.  The old triples are normalised to the new canonical form.
This cleans up the long-standing issue of odd naming for various Windows
environments.

There are four different environments on Windows:

MSVC: The MS ABI, MSVCRT environment as defined by Microsoft
GNU: The MinGW32/MinGW32-W64 environment which uses MSVCRT and auxiliary libraries
Itanium: The MSVCRT environment + libc++ built with Itanium ABI
Cygnus: The Cygwin environment which uses custom libraries for everything

The following spellings are now written as:

i686-pc-win32 => i686-pc-windows-msvc
i686-pc-mingw32 => i686-pc-windows-gnu
i686-pc-cygwin => i686-pc-windows-cygnus

This should be sufficiently flexible to allow us to target other windows
environments in the future as necessary.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@204977 91177308-0d34-0410-b5e6-96231b3b80d8
include/llvm/ADT/Triple.h
lib/CodeGen/AsmPrinter/AsmPrinter.cpp
lib/MC/MCObjectFileInfo.cpp
lib/Support/Triple.cpp
lib/Target/TargetLibraryInfo.cpp
lib/Target/X86/X86Subtarget.h
unittests/ADT/TripleTest.cpp