[llvm] r215303 - ADT: remove MinGW32 and Cygwin OSType enum
Rafael EspĂndola
rafael.espindola at gmail.com
Sun Aug 10 06:00:47 PDT 2014
Thanks!
On 9 August 2014 19:12, Saleem Abdulrasool <compnerd at compnerd.org> wrote:
> Author: compnerd
> Date: Sat Aug 9 18:12:20 2014
> New Revision: 215303
>
> URL: http://llvm.org/viewvc/llvm-project?rev=215303&view=rev
> Log:
> ADT: remove MinGW32 and Cygwin OSType enum
>
> Remove the MinGW32 and Cygwin types from the OSType enumeration. These values
> are represented via environments of Windows. It is a source of confusion and
> needlessly clutters the code. The cost of doing this is that we must sink the
> check for them into the normalization code path along with the spelling.
>
> Addresses PR20592.
>
> Modified:
> llvm/trunk/include/llvm/ADT/Triple.h
> llvm/trunk/lib/Support/Triple.cpp
> llvm/trunk/unittests/ADT/TripleTest.cpp
> llvm/trunk/unittests/ExecutionEngine/MCJIT/MCJITCAPITest.cpp
> llvm/trunk/unittests/ExecutionEngine/MCJIT/MCJITTestBase.h
>
> Modified: llvm/trunk/include/llvm/ADT/Triple.h
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/ADT/Triple.h?rev=215303&r1=215302&r2=215303&view=diff
> ==============================================================================
> --- llvm/trunk/include/llvm/ADT/Triple.h (original)
> +++ llvm/trunk/include/llvm/ADT/Triple.h Sat Aug 9 18:12:20 2014
> @@ -111,7 +111,6 @@ public:
> UnknownOS,
>
> AuroraUX,
> - Cygwin,
> Darwin,
> DragonFly,
> FreeBSD,
> @@ -120,7 +119,6 @@ public:
> Linux,
> Lv2, // PS3
> MacOSX,
> - MinGW32, // i*86-pc-mingw32, *-w64-mingw32
> NetBSD,
> OpenBSD,
> Solaris,
> @@ -378,13 +376,11 @@ public:
> }
>
> bool isWindowsCygwinEnvironment() const {
> - return getOS() == Triple::Cygwin ||
> - (getOS() == Triple::Win32 && getEnvironment() == Triple::Cygnus);
> + return getOS() == Triple::Win32 && getEnvironment() == Triple::Cygnus;
> }
>
> bool isWindowsGNUEnvironment() const {
> - return getOS() == Triple::MinGW32 ||
> - (getOS() == Triple::Win32 && getEnvironment() == Triple::GNU);
> + return getOS() == Triple::Win32 && getEnvironment() == Triple::GNU;
> }
>
> /// \brief Tests for either Cygwin or MinGW OS
>
> Modified: llvm/trunk/lib/Support/Triple.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Support/Triple.cpp?rev=215303&r1=215302&r2=215303&view=diff
> ==============================================================================
> --- llvm/trunk/lib/Support/Triple.cpp (original)
> +++ llvm/trunk/lib/Support/Triple.cpp Sat Aug 9 18:12:20 2014
> @@ -126,7 +126,6 @@ const char *Triple::getOSTypeName(OSType
> case UnknownOS: return "unknown";
>
> case AuroraUX: return "auroraux";
> - case Cygwin: return "cygwin";
> case Darwin: return "darwin";
> case DragonFly: return "dragonfly";
> case FreeBSD: return "freebsd";
> @@ -135,7 +134,6 @@ const char *Triple::getOSTypeName(OSType
> case Linux: return "linux";
> case Lv2: return "lv2";
> case MacOSX: return "macosx";
> - case MinGW32: return "mingw32";
> case NetBSD: return "netbsd";
> case OpenBSD: return "openbsd";
> case Solaris: return "solaris";
> @@ -273,7 +271,6 @@ static Triple::VendorType parseVendor(St
> static Triple::OSType parseOS(StringRef OSName) {
> return StringSwitch<Triple::OSType>(OSName)
> .StartsWith("auroraux", Triple::AuroraUX)
> - .StartsWith("cygwin", Triple::Cygwin)
> .StartsWith("darwin", Triple::Darwin)
> .StartsWith("dragonfly", Triple::DragonFly)
> .StartsWith("freebsd", Triple::FreeBSD)
> @@ -282,7 +279,6 @@ static Triple::OSType parseOS(StringRef
> .StartsWith("linux", Triple::Linux)
> .StartsWith("lv2", Triple::Lv2)
> .StartsWith("macosx", Triple::MacOSX)
> - .StartsWith("mingw32", Triple::MinGW32)
> .StartsWith("netbsd", Triple::NetBSD)
> .StartsWith("openbsd", Triple::OpenBSD)
> .StartsWith("solaris", Triple::Solaris)
> @@ -416,6 +412,9 @@ Triple::Triple(const Twine &ArchStr, con
> }
>
> std::string Triple::normalize(StringRef Str) {
> + bool IsMinGW32 = false;
> + bool IsCygwin = false;
> +
> // Parse into components.
> SmallVector<StringRef, 4> Components;
> Str.split(Components, "-");
> @@ -432,8 +431,11 @@ std::string Triple::normalize(StringRef
> if (Components.size() > 1)
> Vendor = parseVendor(Components[1]);
> OSType OS = UnknownOS;
> - if (Components.size() > 2)
> + if (Components.size() > 2) {
> OS = parseOS(Components[2]);
> + IsCygwin = Components[2].startswith("cygwin");
> + IsMinGW32 = Components[2].startswith("mingw");
> + }
> EnvironmentType Environment = UnknownEnvironment;
> if (Components.size() > 3)
> Environment = parseEnvironment(Components[3]);
> @@ -476,7 +478,9 @@ std::string Triple::normalize(StringRef
> break;
> case 2:
> OS = parseOS(Comp);
> - Valid = OS != UnknownOS;
> + IsCygwin = Comp.startswith("cygwin");
> + IsMinGW32 = Comp.startswith("mingw");
> + Valid = OS != UnknownOS || IsCygwin || IsMinGW32;
> break;
> case 3:
> Environment = parseEnvironment(Comp);
> @@ -556,16 +560,16 @@ std::string Triple::normalize(StringRef
> else
> Components[3] = getObjectFormatTypeName(ObjectFormat);
> }
> - } else if (OS == Triple::MinGW32) {
> + } else if (IsMinGW32) {
> Components.resize(4);
> Components[2] = "windows";
> Components[3] = "gnu";
> - } else if (OS == Triple::Cygwin) {
> + } else if (IsCygwin) {
> Components.resize(4);
> Components[2] = "windows";
> Components[3] = "cygnus";
> }
> - if (OS == Triple::MinGW32 || OS == Triple::Cygwin ||
> + if (IsMinGW32 || IsCygwin ||
> (OS == Triple::Win32 && Environment != UnknownEnvironment)) {
> if (ObjectFormat != UnknownObjectFormat && ObjectFormat != Triple::COFF) {
> Components.resize(5);
>
> Modified: llvm/trunk/unittests/ADT/TripleTest.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/unittests/ADT/TripleTest.cpp?rev=215303&r1=215302&r2=215303&view=diff
> ==============================================================================
> --- llvm/trunk/unittests/ADT/TripleTest.cpp (original)
> +++ llvm/trunk/unittests/ADT/TripleTest.cpp Sat Aug 9 18:12:20 2014
> @@ -190,7 +190,7 @@ TEST(TripleTest, Normalization) {
> ++Vendor) {
> C[1] = Triple::getVendorTypeName(Triple::VendorType(Vendor));
> for (int OS = 1+Triple::UnknownOS; OS <= Triple::Minix; ++OS) {
> - if (OS == Triple::Cygwin || OS == Triple::MinGW32 || OS == Triple::Win32)
> + if (OS == Triple::Win32)
> continue;
>
> C[2] = Triple::getOSTypeName(Triple::OSType(OS));
>
> Modified: llvm/trunk/unittests/ExecutionEngine/MCJIT/MCJITCAPITest.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/unittests/ExecutionEngine/MCJIT/MCJITCAPITest.cpp?rev=215303&r1=215302&r2=215303&view=diff
> ==============================================================================
> --- llvm/trunk/unittests/ExecutionEngine/MCJIT/MCJITCAPITest.cpp (original)
> +++ llvm/trunk/unittests/ExecutionEngine/MCJIT/MCJITCAPITest.cpp Sat Aug 9 18:12:20 2014
> @@ -139,8 +139,6 @@ protected:
>
> // The operating systems below are known to be sufficiently incompatible
> // that they will fail the MCJIT C API tests.
> - UnsupportedOSs.push_back(Triple::Cygwin);
> -
> UnsupportedEnvironments.push_back(Triple::Cygnus);
> }
>
>
> Modified: llvm/trunk/unittests/ExecutionEngine/MCJIT/MCJITTestBase.h
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/unittests/ExecutionEngine/MCJIT/MCJITTestBase.h?rev=215303&r1=215302&r2=215303&view=diff
> ==============================================================================
> --- llvm/trunk/unittests/ExecutionEngine/MCJIT/MCJITTestBase.h (original)
> +++ llvm/trunk/unittests/ExecutionEngine/MCJIT/MCJITTestBase.h Sat Aug 9 18:12:20 2014
> @@ -302,7 +302,6 @@ protected:
> // The operating systems below are known to be incompatible with MCJIT as
> // they are copied from the test/ExecutionEngine/MCJIT/lit.local.cfg and
> // should be kept in sync.
> - UnsupportedOSs.push_back(Triple::Cygwin);
> UnsupportedOSs.push_back(Triple::Darwin);
>
> UnsupportedEnvironments.push_back(Triple::Cygnus);
>
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
More information about the llvm-commits
mailing list