[llvm] r215303 - ADT: remove MinGW32 and Cygwin OSType enum

Yonggang Luo luoyonggang at gmail.com
Sun Aug 10 08:55:57 PDT 2014


	  /// \brief Tests whether the OS is Windows.
397	  bool isOSWindows() const {
398	    return getOS() == Triple::Win32 || isOSCygMing();
399	  }

This function should be also simplified, getOS() == Triple::Win32 is  
enough.


On Sun, 10 Aug 2014 07:12:20 +0800, 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


-- 
Using Opera's mail client: http://www.opera.com/mail/



More information about the llvm-commits mailing list