r243098 - Add extensive tests for the mingw toolchain and remove trailing slash from Arch.

Yaron Keren yaron.keren at gmail.com
Fri Jul 24 01:50:16 PDT 2015


Author: yrnkrn
Date: Fri Jul 24 03:50:15 2015
New Revision: 243098

URL: http://llvm.org/viewvc/llvm-project?rev=243098&view=rev
Log:
Add extensive tests for the mingw toolchain and remove trailing slash from Arch.

Address Richard Smith comments: remove the trailing seperator from the Arch
variable, implement six mingw_* trees under tools/clangtest/Driver/Inputs
and merge linux and Windows tests into a universal test that uses these trees.


Added:
    cfe/trunk/test/Driver/Inputs/mingw_arch_tree/
    cfe/trunk/test/Driver/Inputs/mingw_arch_tree/usr/
    cfe/trunk/test/Driver/Inputs/mingw_arch_tree/usr/i686-w64-mingw32/
    cfe/trunk/test/Driver/Inputs/mingw_arch_tree/usr/i686-w64-mingw32/include/
    cfe/trunk/test/Driver/Inputs/mingw_arch_tree/usr/i686-w64-mingw32/include/c++/
    cfe/trunk/test/Driver/Inputs/mingw_arch_tree/usr/i686-w64-mingw32/include/c++/5.1.0/
    cfe/trunk/test/Driver/Inputs/mingw_arch_tree/usr/i686-w64-mingw32/include/c++/5.1.0/backward/
    cfe/trunk/test/Driver/Inputs/mingw_arch_tree/usr/i686-w64-mingw32/include/c++/5.1.0/backward/.keep
    cfe/trunk/test/Driver/Inputs/mingw_arch_tree/usr/i686-w64-mingw32/include/c++/5.1.0/i686-w64-mingw32/
    cfe/trunk/test/Driver/Inputs/mingw_arch_tree/usr/i686-w64-mingw32/include/c++/5.1.0/i686-w64-mingw32/.keep
    cfe/trunk/test/Driver/Inputs/mingw_arch_tree/usr/lib/
    cfe/trunk/test/Driver/Inputs/mingw_arch_tree/usr/lib/gcc/
    cfe/trunk/test/Driver/Inputs/mingw_arch_tree/usr/lib/gcc/i686-w64-mingw32/
    cfe/trunk/test/Driver/Inputs/mingw_arch_tree/usr/lib/gcc/i686-w64-mingw32/5.1.0/
    cfe/trunk/test/Driver/Inputs/mingw_arch_tree/usr/lib/gcc/i686-w64-mingw32/5.1.0/include/
    cfe/trunk/test/Driver/Inputs/mingw_arch_tree/usr/lib/gcc/i686-w64-mingw32/5.1.0/include-fixed/
    cfe/trunk/test/Driver/Inputs/mingw_arch_tree/usr/lib/gcc/i686-w64-mingw32/5.1.0/include-fixed/.keep
    cfe/trunk/test/Driver/Inputs/mingw_arch_tree/usr/lib/gcc/i686-w64-mingw32/5.1.0/include/.keep
    cfe/trunk/test/Driver/Inputs/mingw_mingw_builds_tree/
    cfe/trunk/test/Driver/Inputs/mingw_mingw_builds_tree/mingw32/
    cfe/trunk/test/Driver/Inputs/mingw_mingw_builds_tree/mingw32/i686-w64-mingw32/
    cfe/trunk/test/Driver/Inputs/mingw_mingw_builds_tree/mingw32/i686-w64-mingw32/include/
    cfe/trunk/test/Driver/Inputs/mingw_mingw_builds_tree/mingw32/i686-w64-mingw32/include/c++/
    cfe/trunk/test/Driver/Inputs/mingw_mingw_builds_tree/mingw32/i686-w64-mingw32/include/c++/backward/
    cfe/trunk/test/Driver/Inputs/mingw_mingw_builds_tree/mingw32/i686-w64-mingw32/include/c++/backward/.keep
    cfe/trunk/test/Driver/Inputs/mingw_mingw_builds_tree/mingw32/i686-w64-mingw32/include/c++/i686-w64-mingw32/
    cfe/trunk/test/Driver/Inputs/mingw_mingw_builds_tree/mingw32/i686-w64-mingw32/include/c++/i686-w64-mingw32/.keep
    cfe/trunk/test/Driver/Inputs/mingw_mingw_builds_tree/mingw32/lib/
    cfe/trunk/test/Driver/Inputs/mingw_mingw_builds_tree/mingw32/lib/gcc/
    cfe/trunk/test/Driver/Inputs/mingw_mingw_builds_tree/mingw32/lib/gcc/i686-w64-mingw32/
    cfe/trunk/test/Driver/Inputs/mingw_mingw_builds_tree/mingw32/lib/gcc/i686-w64-mingw32/4.9.1/
    cfe/trunk/test/Driver/Inputs/mingw_mingw_builds_tree/mingw32/lib/gcc/i686-w64-mingw32/4.9.1/include/
    cfe/trunk/test/Driver/Inputs/mingw_mingw_builds_tree/mingw32/lib/gcc/i686-w64-mingw32/4.9.1/include-fixed/
    cfe/trunk/test/Driver/Inputs/mingw_mingw_builds_tree/mingw32/lib/gcc/i686-w64-mingw32/4.9.1/include-fixed/.keep
    cfe/trunk/test/Driver/Inputs/mingw_mingw_builds_tree/mingw32/lib/gcc/i686-w64-mingw32/4.9.1/include/.keep
    cfe/trunk/test/Driver/Inputs/mingw_mingw_org_tree/
    cfe/trunk/test/Driver/Inputs/mingw_mingw_org_tree/mingw/
    cfe/trunk/test/Driver/Inputs/mingw_mingw_org_tree/mingw/include/
    cfe/trunk/test/Driver/Inputs/mingw_mingw_org_tree/mingw/include/.keep
    cfe/trunk/test/Driver/Inputs/mingw_mingw_org_tree/mingw/lib/
    cfe/trunk/test/Driver/Inputs/mingw_mingw_org_tree/mingw/lib/gcc/
    cfe/trunk/test/Driver/Inputs/mingw_mingw_org_tree/mingw/lib/gcc/mingw32/
    cfe/trunk/test/Driver/Inputs/mingw_mingw_org_tree/mingw/lib/gcc/mingw32/4.8.1/
    cfe/trunk/test/Driver/Inputs/mingw_mingw_org_tree/mingw/lib/gcc/mingw32/4.8.1/include/
    cfe/trunk/test/Driver/Inputs/mingw_mingw_org_tree/mingw/lib/gcc/mingw32/4.8.1/include-fixed/
    cfe/trunk/test/Driver/Inputs/mingw_mingw_org_tree/mingw/lib/gcc/mingw32/4.8.1/include-fixed/.keep
    cfe/trunk/test/Driver/Inputs/mingw_mingw_org_tree/mingw/lib/gcc/mingw32/4.8.1/include/c++/
    cfe/trunk/test/Driver/Inputs/mingw_mingw_org_tree/mingw/lib/gcc/mingw32/4.8.1/include/c++/backward/
    cfe/trunk/test/Driver/Inputs/mingw_mingw_org_tree/mingw/lib/gcc/mingw32/4.8.1/include/c++/backward/.keep
    cfe/trunk/test/Driver/Inputs/mingw_mingw_org_tree/mingw/lib/gcc/mingw32/4.8.1/include/c++/mingw32/
    cfe/trunk/test/Driver/Inputs/mingw_mingw_org_tree/mingw/lib/gcc/mingw32/4.8.1/include/c++/mingw32/.keep
    cfe/trunk/test/Driver/Inputs/mingw_mingw_org_tree/mingw/minw32/
    cfe/trunk/test/Driver/Inputs/mingw_mingw_org_tree/mingw/minw32/include/
    cfe/trunk/test/Driver/Inputs/mingw_mingw_org_tree/mingw/minw32/include/.keep
    cfe/trunk/test/Driver/Inputs/mingw_msys2_tree/
    cfe/trunk/test/Driver/Inputs/mingw_msys2_tree/msys64/
    cfe/trunk/test/Driver/Inputs/mingw_msys2_tree/msys64/mingw32/
    cfe/trunk/test/Driver/Inputs/mingw_msys2_tree/msys64/mingw32/i686-w64-mingw32/
    cfe/trunk/test/Driver/Inputs/mingw_msys2_tree/msys64/mingw32/i686-w64-mingw32/include/
    cfe/trunk/test/Driver/Inputs/mingw_msys2_tree/msys64/mingw32/i686-w64-mingw32/include/.keep
    cfe/trunk/test/Driver/Inputs/mingw_msys2_tree/msys64/mingw32/include/
    cfe/trunk/test/Driver/Inputs/mingw_msys2_tree/msys64/mingw32/include/c++/
    cfe/trunk/test/Driver/Inputs/mingw_msys2_tree/msys64/mingw32/include/c++/4.9.2/
    cfe/trunk/test/Driver/Inputs/mingw_msys2_tree/msys64/mingw32/include/c++/4.9.2/backward/
    cfe/trunk/test/Driver/Inputs/mingw_msys2_tree/msys64/mingw32/include/c++/4.9.2/backward/.keep
    cfe/trunk/test/Driver/Inputs/mingw_msys2_tree/msys64/mingw32/include/c++/4.9.2/i686-w64-mingw32/
    cfe/trunk/test/Driver/Inputs/mingw_msys2_tree/msys64/mingw32/include/c++/4.9.2/i686-w64-mingw32/.keep
    cfe/trunk/test/Driver/Inputs/mingw_msys2_tree/msys64/mingw32/lib/
    cfe/trunk/test/Driver/Inputs/mingw_msys2_tree/msys64/mingw32/lib/gcc/
    cfe/trunk/test/Driver/Inputs/mingw_msys2_tree/msys64/mingw32/lib/gcc/i686-w64-mingw32/
    cfe/trunk/test/Driver/Inputs/mingw_msys2_tree/msys64/mingw32/lib/gcc/i686-w64-mingw32/4.9.2/
    cfe/trunk/test/Driver/Inputs/mingw_msys2_tree/msys64/mingw32/lib/gcc/i686-w64-mingw32/4.9.2/include/
    cfe/trunk/test/Driver/Inputs/mingw_msys2_tree/msys64/mingw32/lib/gcc/i686-w64-mingw32/4.9.2/include-fixed/
    cfe/trunk/test/Driver/Inputs/mingw_msys2_tree/msys64/mingw32/lib/gcc/i686-w64-mingw32/4.9.2/include-fixed/.keep
    cfe/trunk/test/Driver/Inputs/mingw_msys2_tree/msys64/mingw32/lib/gcc/i686-w64-mingw32/4.9.2/include/.keep
    cfe/trunk/test/Driver/Inputs/mingw_opensuse_tree/
    cfe/trunk/test/Driver/Inputs/mingw_opensuse_tree/usr/
    cfe/trunk/test/Driver/Inputs/mingw_opensuse_tree/usr/lib64/
    cfe/trunk/test/Driver/Inputs/mingw_opensuse_tree/usr/lib64/gcc/
    cfe/trunk/test/Driver/Inputs/mingw_opensuse_tree/usr/lib64/gcc/x86_64-w64-mingw32/
    cfe/trunk/test/Driver/Inputs/mingw_opensuse_tree/usr/lib64/gcc/x86_64-w64-mingw32/5.1.0/
    cfe/trunk/test/Driver/Inputs/mingw_opensuse_tree/usr/lib64/gcc/x86_64-w64-mingw32/5.1.0/include/
    cfe/trunk/test/Driver/Inputs/mingw_opensuse_tree/usr/lib64/gcc/x86_64-w64-mingw32/5.1.0/include-fixed/
    cfe/trunk/test/Driver/Inputs/mingw_opensuse_tree/usr/lib64/gcc/x86_64-w64-mingw32/5.1.0/include-fixed/.keep
    cfe/trunk/test/Driver/Inputs/mingw_opensuse_tree/usr/lib64/gcc/x86_64-w64-mingw32/5.1.0/include/c++/
    cfe/trunk/test/Driver/Inputs/mingw_opensuse_tree/usr/lib64/gcc/x86_64-w64-mingw32/5.1.0/include/c++/backward/
    cfe/trunk/test/Driver/Inputs/mingw_opensuse_tree/usr/lib64/gcc/x86_64-w64-mingw32/5.1.0/include/c++/backward/.keep
    cfe/trunk/test/Driver/Inputs/mingw_opensuse_tree/usr/lib64/gcc/x86_64-w64-mingw32/5.1.0/include/c++/x86_64-w64-mingw32/
    cfe/trunk/test/Driver/Inputs/mingw_opensuse_tree/usr/lib64/gcc/x86_64-w64-mingw32/5.1.0/include/c++/x86_64-w64-mingw32/.keep
    cfe/trunk/test/Driver/Inputs/mingw_opensuse_tree/usr/x86_64-w64-mingw32/
    cfe/trunk/test/Driver/Inputs/mingw_opensuse_tree/usr/x86_64-w64-mingw32/sys-root/
    cfe/trunk/test/Driver/Inputs/mingw_opensuse_tree/usr/x86_64-w64-mingw32/sys-root/mingw/
    cfe/trunk/test/Driver/Inputs/mingw_opensuse_tree/usr/x86_64-w64-mingw32/sys-root/mingw/include/
    cfe/trunk/test/Driver/Inputs/mingw_opensuse_tree/usr/x86_64-w64-mingw32/sys-root/mingw/include/.keep
    cfe/trunk/test/Driver/Inputs/mingw_ubuntu_tree/
    cfe/trunk/test/Driver/Inputs/mingw_ubuntu_tree/usr/
    cfe/trunk/test/Driver/Inputs/mingw_ubuntu_tree/usr/include/
    cfe/trunk/test/Driver/Inputs/mingw_ubuntu_tree/usr/include/c++/
    cfe/trunk/test/Driver/Inputs/mingw_ubuntu_tree/usr/include/c++/4.8/
    cfe/trunk/test/Driver/Inputs/mingw_ubuntu_tree/usr/include/c++/4.8/86_64-w64-mingw32/
    cfe/trunk/test/Driver/Inputs/mingw_ubuntu_tree/usr/include/c++/4.8/86_64-w64-mingw32/.keep
    cfe/trunk/test/Driver/Inputs/mingw_ubuntu_tree/usr/include/c++/4.8/backward/
    cfe/trunk/test/Driver/Inputs/mingw_ubuntu_tree/usr/include/c++/4.8/backward/.keep
    cfe/trunk/test/Driver/Inputs/mingw_ubuntu_tree/usr/lib/
    cfe/trunk/test/Driver/Inputs/mingw_ubuntu_tree/usr/lib/gcc/
    cfe/trunk/test/Driver/Inputs/mingw_ubuntu_tree/usr/lib/gcc/x86_64-w64-mingw32/
    cfe/trunk/test/Driver/Inputs/mingw_ubuntu_tree/usr/lib/gcc/x86_64-w64-mingw32/4.8/
    cfe/trunk/test/Driver/Inputs/mingw_ubuntu_tree/usr/lib/gcc/x86_64-w64-mingw32/4.8/include/
    cfe/trunk/test/Driver/Inputs/mingw_ubuntu_tree/usr/lib/gcc/x86_64-w64-mingw32/4.8/include-fixed/
    cfe/trunk/test/Driver/Inputs/mingw_ubuntu_tree/usr/lib/gcc/x86_64-w64-mingw32/4.8/include-fixed/.keep
    cfe/trunk/test/Driver/Inputs/mingw_ubuntu_tree/usr/lib/gcc/x86_64-w64-mingw32/4.8/include/.keep
    cfe/trunk/test/Driver/Inputs/mingw_ubuntu_tree/usr/x86_64-w64-mingw32/
    cfe/trunk/test/Driver/Inputs/mingw_ubuntu_tree/usr/x86_64-w64-mingw32/include/
    cfe/trunk/test/Driver/Inputs/mingw_ubuntu_tree/usr/x86_64-w64-mingw32/include/.keep
    cfe/trunk/test/Driver/mingw.cpp
Removed:
    cfe/trunk/test/Driver/mingw-linux.cpp
    cfe/trunk/test/Driver/mingw-win.cpp
Modified:
    cfe/trunk/lib/Driver/MinGWToolChain.cpp

Modified: cfe/trunk/lib/Driver/MinGWToolChain.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Driver/MinGWToolChain.cpp?rev=243098&r1=243097&r2=243098&view=diff
==============================================================================
--- cfe/trunk/lib/Driver/MinGWToolChain.cpp (original)
+++ cfe/trunk/lib/Driver/MinGWToolChain.cpp Fri Jul 24 03:50:15 2015
@@ -40,7 +40,7 @@ void MinGW::findGccLibDir() {
     if (!EC) {
       GccLibDir = MingwOrgEntry->path();
       // Replace Arch with mingw32 arch.
-      Arch = "mingw32//";
+      Arch = "mingw32";
       break;
     }
   }
@@ -51,8 +51,7 @@ MinGW::MinGW(const Driver &D, const llvm
   getProgramPaths().push_back(getDriver().getInstalledDir());
 
   // Default Arch is mingw-w64.
-  Arch = (getTriple().getArchName() + "-w64-mingw32" +
-          llvm::sys::path::get_separator()).str();
+  Arch = (getTriple().getArchName() + "-w64-mingw32").str();
 
 // In Windows there aren't any standard install locations, we search
 // for gcc on the PATH. In Linux the base is always /usr.
@@ -66,25 +65,23 @@ MinGW::MinGW(const Driver &D, const llvm
   else
     Base = llvm::sys::path::parent_path(getDriver().getInstalledDir());
 #else
-  Base = "/usr";
+  if (getDriver().SysRoot.size())
+    Base = getDriver().SysRoot;
+  else
+    Base = "/usr";
 #endif
 
   Base += llvm::sys::path::get_separator();
-  if (getDriver().SysRoot.size())
-    GccLibDir = getDriver().SysRoot;
-  else
-    findGccLibDir();
+  findGccLibDir();
   Ver = llvm::sys::path::filename(GccLibDir);
   // GccLibDir must precede Base/lib so that the
   // correct crtbegin.o ,cetend.o would be found.
   getFilePaths().push_back(GccLibDir);
-  getFilePaths().push_back(Base + Arch + "lib");
-#ifdef LLVM_ON_WIN32
+  getFilePaths().push_back(
+      (Base + Arch + llvm::sys::path::get_separator() + "lib").str());
   getFilePaths().push_back(Base + "lib");
-#else
   // openSUSE
-  getFilePaths().push_back(Base + Arch + "sys-root/mingw/lib");
-#endif
+  getFilePaths().push_back(Base + Arch + "/sys-root/mingw/lib");
 }
 
 bool MinGW::IsIntegratedAssemblerDefault() const { return true; }
@@ -129,29 +126,29 @@ bool MinGW::UseSEHExceptions() const {
 // Include directories for various hosts:
 
 // Windows, mingw.org
-// c:\mingw\lib\gcc\mingw32\4.8.1\include\c++
-// c:\mingw\lib\gcc\mingw32\4.8.1\include\c++\mingw32
-// c:\mingw\lib\gcc\mingw32\4.8.1\include\c++\backward
-// c:\mingw\lib\gcc\mingw32\4.8.1\include
-// c:\mingw\include
-// c:\mingw\lib\gcc\mingw32\4.8.1\include-fixed
+// c:\mingw\lib\gcc\mingw32\4.8.1\include\c++
+// c:\mingw\lib\gcc\mingw32\4.8.1\include\c++\mingw32
+// c:\mingw\lib\gcc\mingw32\4.8.1\include\c++\backward
+// c:\mingw\lib\gcc\mingw32\4.8.1\include
+// c:\mingw\include
+// c:\mingw\lib\gcc\mingw32\4.8.1\include-fixed
 // c:\mingw\mingw32\include
 
 // Windows, mingw-w64 mingw-builds
-// c:\mingw32\lib\gcc\i686-w64-mingw32\4.9.1\include
-// c:\mingw32\lib\gcc\i686-w64-mingw32\4.9.1\include-fixed
-// c:\mingw32\i686-w64-mingw32\include
-// c:\mingw32\i686-w64-mingw32\include\c++
-// c:\mingw32\i686-w64-mingw32\include\c++\i686-w64-mingw32
-// c:\mingw32\i686-w64-mingw32\include\c++\backward
+// c:\mingw32\lib\gcc\i686-w64-mingw32\4.9.1\include
+// c:\mingw32\lib\gcc\i686-w64-mingw32\4.9.1\include-fixed
+// c:\mingw32\i686-w64-mingw32\include
+// c:\mingw32\i686-w64-mingw32\include\c++
+// c:\mingw32\i686-w64-mingw32\include\c++\i686-w64-mingw32
+// c:\mingw32\i686-w64-mingw32\include\c++\backward
 
 // Windows, mingw-w64 msys2
-// c:\msys64\mingw32\lib\gcc\i686-w64-mingw32\4.9.2\include
-// c:\msys64\mingw32\include
-// c:\msys64\mingw32\lib\gcc\i686-w64-mingw32\4.9.2\include-fixed
-// c:\msys64\mingw32\i686-w64-mingw32\include
-// c:\msys64\mingw32\include\c++\4.9.2
-// c:\msys64\mingw32\include\c++\4.9.2\i686-w64-mingw32
+// c:\msys64\mingw32\lib\gcc\i686-w64-mingw32\4.9.2\include
+// c:\msys64\mingw32\include
+// c:\msys64\mingw32\lib\gcc\i686-w64-mingw32\4.9.2\include-fixed
+// c:\msys64\mingw32\i686-w64-mingw32\include
+// c:\msys64\mingw32\include\c++\4.9.2
+// c:\msys64\mingw32\include\c++\4.9.2\i686-w64-mingw32
 // c:\msys64\mingw32\include\c++\4.9.2\backward
 
 // openSUSE
@@ -163,20 +160,20 @@ bool MinGW::UseSEHExceptions() const {
 // /usr/x86_64-w64-mingw32/sys-root/mingw/include
 
 // Arch Linux
-// /usr/i686-w64-mingw32/include/c++/5.1.0
-// /usr/i686-w64-mingw32/include/c++/5.1.0/i686-w64-mingw32
-// /usr/i686-w64-mingw32/include/c++/5.1.0/backward
-// /usr/lib/gcc/i686-w64-mingw32/5.1.0/include
-// /usr/lib/gcc/i686-w64-mingw32/5.1.0/include-fixed
+// /usr/i686-w64-mingw32/include/c++/5.1.0
+// /usr/i686-w64-mingw32/include/c++/5.1.0/i686-w64-mingw32
+// /usr/i686-w64-mingw32/include/c++/5.1.0/backward
+// /usr/lib/gcc/i686-w64-mingw32/5.1.0/include
+// /usr/lib/gcc/i686-w64-mingw32/5.1.0/include-fixed
 // /usr/i686-w64-mingw32/include
 
 // Ubuntu
-// /usr/include/c++/4.8
-// /usr/include/c++/4.8/x86_64-w64-mingw32
-// /usr/include/c++/4.8/backward
-// /usr/lib/gcc/x86_64-w64-mingw32/4.8/include
-// /usr/lib/gcc/x86_64-w64-mingw32/4.8/include-fixed
-// /usr/x86_64-w64-mingw32/include
+// /usr/include/c++/4.8
+// /usr/include/c++/4.8/x86_64-w64-mingw32
+// /usr/include/c++/4.8/backward
+// /usr/lib/gcc/x86_64-w64-mingw32/4.8/include
+// /usr/lib/gcc/x86_64-w64-mingw32/4.8/include-fixed
+// /usr/x86_64-w64-mingw32/include
 
 void MinGW::AddClangSystemIncludeArgs(const ArgList &DriverArgs,
                                       ArgStringList &CC1Args) const {
@@ -197,14 +194,13 @@ void MinGW::AddClangSystemIncludeArgs(co
     llvm::sys::path::append(IncludeDir, "include");
     addSystemInclude(DriverArgs, CC1Args, IncludeDir.c_str());
     IncludeDir += "-fixed";
-#ifdef LLVM_ON_UNIX
     // openSUSE
     addSystemInclude(DriverArgs, CC1Args,
                      "/usr/x86_64-w64-mingw32/sys-root/mingw/include");
-#endif
     addSystemInclude(DriverArgs, CC1Args, IncludeDir.c_str());
   }
-  addSystemInclude(DriverArgs, CC1Args, Base + Arch + "include");
+  addSystemInclude(DriverArgs, CC1Args,
+                   Base + Arch + llvm::sys::path::get_separator() + "include");
   addSystemInclude(DriverArgs, CC1Args, Base + "include");
 }
 
@@ -216,9 +212,9 @@ void MinGW::AddClangCXXStdlibIncludeArgs
 
   switch (GetCXXStdlibType(DriverArgs)) {
   case ToolChain::CST_Libcxx:
-    addSystemInclude(DriverArgs, CC1Args, Base        + "include" +
-                     llvm::sys::path::get_separator() + "c++"     +
-                     llvm::sys::path::get_separator() + "v1");
+    addSystemInclude(DriverArgs, CC1Args,
+                     Base + "include" + llvm::sys::path::get_separator() +
+                         "c++" + llvm::sys::path::get_separator() + "v1");
     break;
 
   case ToolChain::CST_Libstdcxx:
@@ -232,8 +228,8 @@ void MinGW::AddClangCXXStdlibIncludeArgs
     CppIncludeBases.emplace_back(GccLibDir);
     llvm::sys::path::append(CppIncludeBases[3], "include", "c++");
     for (auto &CppIncludeBase : CppIncludeBases) {
-      CppIncludeBase += llvm::sys::path::get_separator();
       addSystemInclude(DriverArgs, CC1Args, CppIncludeBase);
+      CppIncludeBase += llvm::sys::path::get_separator();
       addSystemInclude(DriverArgs, CC1Args, CppIncludeBase + Arch);
       addSystemInclude(DriverArgs, CC1Args, CppIncludeBase + "backward");
     }

Added: cfe/trunk/test/Driver/Inputs/mingw_arch_tree/usr/i686-w64-mingw32/include/c++/5.1.0/backward/.keep
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Driver/Inputs/mingw_arch_tree/usr/i686-w64-mingw32/include/c%2B%2B/5.1.0/backward/.keep?rev=243098&view=auto
==============================================================================
    (empty)

Added: cfe/trunk/test/Driver/Inputs/mingw_arch_tree/usr/i686-w64-mingw32/include/c++/5.1.0/i686-w64-mingw32/.keep
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Driver/Inputs/mingw_arch_tree/usr/i686-w64-mingw32/include/c%2B%2B/5.1.0/i686-w64-mingw32/.keep?rev=243098&view=auto
==============================================================================
    (empty)

Added: cfe/trunk/test/Driver/Inputs/mingw_arch_tree/usr/lib/gcc/i686-w64-mingw32/5.1.0/include-fixed/.keep
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Driver/Inputs/mingw_arch_tree/usr/lib/gcc/i686-w64-mingw32/5.1.0/include-fixed/.keep?rev=243098&view=auto
==============================================================================
    (empty)

Added: cfe/trunk/test/Driver/Inputs/mingw_arch_tree/usr/lib/gcc/i686-w64-mingw32/5.1.0/include/.keep
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Driver/Inputs/mingw_arch_tree/usr/lib/gcc/i686-w64-mingw32/5.1.0/include/.keep?rev=243098&view=auto
==============================================================================
    (empty)

Added: cfe/trunk/test/Driver/Inputs/mingw_mingw_builds_tree/mingw32/i686-w64-mingw32/include/c++/backward/.keep
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Driver/Inputs/mingw_mingw_builds_tree/mingw32/i686-w64-mingw32/include/c%2B%2B/backward/.keep?rev=243098&view=auto
==============================================================================
    (empty)

Added: cfe/trunk/test/Driver/Inputs/mingw_mingw_builds_tree/mingw32/i686-w64-mingw32/include/c++/i686-w64-mingw32/.keep
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Driver/Inputs/mingw_mingw_builds_tree/mingw32/i686-w64-mingw32/include/c%2B%2B/i686-w64-mingw32/.keep?rev=243098&view=auto
==============================================================================
    (empty)

Added: cfe/trunk/test/Driver/Inputs/mingw_mingw_builds_tree/mingw32/lib/gcc/i686-w64-mingw32/4.9.1/include-fixed/.keep
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Driver/Inputs/mingw_mingw_builds_tree/mingw32/lib/gcc/i686-w64-mingw32/4.9.1/include-fixed/.keep?rev=243098&view=auto
==============================================================================
    (empty)

Added: cfe/trunk/test/Driver/Inputs/mingw_mingw_builds_tree/mingw32/lib/gcc/i686-w64-mingw32/4.9.1/include/.keep
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Driver/Inputs/mingw_mingw_builds_tree/mingw32/lib/gcc/i686-w64-mingw32/4.9.1/include/.keep?rev=243098&view=auto
==============================================================================
    (empty)

Added: cfe/trunk/test/Driver/Inputs/mingw_mingw_org_tree/mingw/include/.keep
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Driver/Inputs/mingw_mingw_org_tree/mingw/include/.keep?rev=243098&view=auto
==============================================================================
    (empty)

Added: cfe/trunk/test/Driver/Inputs/mingw_mingw_org_tree/mingw/lib/gcc/mingw32/4.8.1/include-fixed/.keep
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Driver/Inputs/mingw_mingw_org_tree/mingw/lib/gcc/mingw32/4.8.1/include-fixed/.keep?rev=243098&view=auto
==============================================================================
    (empty)

Added: cfe/trunk/test/Driver/Inputs/mingw_mingw_org_tree/mingw/lib/gcc/mingw32/4.8.1/include/c++/backward/.keep
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Driver/Inputs/mingw_mingw_org_tree/mingw/lib/gcc/mingw32/4.8.1/include/c%2B%2B/backward/.keep?rev=243098&view=auto
==============================================================================
    (empty)

Added: cfe/trunk/test/Driver/Inputs/mingw_mingw_org_tree/mingw/lib/gcc/mingw32/4.8.1/include/c++/mingw32/.keep
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Driver/Inputs/mingw_mingw_org_tree/mingw/lib/gcc/mingw32/4.8.1/include/c%2B%2B/mingw32/.keep?rev=243098&view=auto
==============================================================================
    (empty)

Added: cfe/trunk/test/Driver/Inputs/mingw_mingw_org_tree/mingw/minw32/include/.keep
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Driver/Inputs/mingw_mingw_org_tree/mingw/minw32/include/.keep?rev=243098&view=auto
==============================================================================
    (empty)

Added: cfe/trunk/test/Driver/Inputs/mingw_msys2_tree/msys64/mingw32/i686-w64-mingw32/include/.keep
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Driver/Inputs/mingw_msys2_tree/msys64/mingw32/i686-w64-mingw32/include/.keep?rev=243098&view=auto
==============================================================================
    (empty)

Added: cfe/trunk/test/Driver/Inputs/mingw_msys2_tree/msys64/mingw32/include/c++/4.9.2/backward/.keep
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Driver/Inputs/mingw_msys2_tree/msys64/mingw32/include/c%2B%2B/4.9.2/backward/.keep?rev=243098&view=auto
==============================================================================
    (empty)

Added: cfe/trunk/test/Driver/Inputs/mingw_msys2_tree/msys64/mingw32/include/c++/4.9.2/i686-w64-mingw32/.keep
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Driver/Inputs/mingw_msys2_tree/msys64/mingw32/include/c%2B%2B/4.9.2/i686-w64-mingw32/.keep?rev=243098&view=auto
==============================================================================
    (empty)

Added: cfe/trunk/test/Driver/Inputs/mingw_msys2_tree/msys64/mingw32/lib/gcc/i686-w64-mingw32/4.9.2/include-fixed/.keep
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Driver/Inputs/mingw_msys2_tree/msys64/mingw32/lib/gcc/i686-w64-mingw32/4.9.2/include-fixed/.keep?rev=243098&view=auto
==============================================================================
    (empty)

Added: cfe/trunk/test/Driver/Inputs/mingw_msys2_tree/msys64/mingw32/lib/gcc/i686-w64-mingw32/4.9.2/include/.keep
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Driver/Inputs/mingw_msys2_tree/msys64/mingw32/lib/gcc/i686-w64-mingw32/4.9.2/include/.keep?rev=243098&view=auto
==============================================================================
    (empty)

Added: cfe/trunk/test/Driver/Inputs/mingw_opensuse_tree/usr/lib64/gcc/x86_64-w64-mingw32/5.1.0/include-fixed/.keep
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Driver/Inputs/mingw_opensuse_tree/usr/lib64/gcc/x86_64-w64-mingw32/5.1.0/include-fixed/.keep?rev=243098&view=auto
==============================================================================
    (empty)

Added: cfe/trunk/test/Driver/Inputs/mingw_opensuse_tree/usr/lib64/gcc/x86_64-w64-mingw32/5.1.0/include/c++/backward/.keep
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Driver/Inputs/mingw_opensuse_tree/usr/lib64/gcc/x86_64-w64-mingw32/5.1.0/include/c%2B%2B/backward/.keep?rev=243098&view=auto
==============================================================================
    (empty)

Added: cfe/trunk/test/Driver/Inputs/mingw_opensuse_tree/usr/lib64/gcc/x86_64-w64-mingw32/5.1.0/include/c++/x86_64-w64-mingw32/.keep
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Driver/Inputs/mingw_opensuse_tree/usr/lib64/gcc/x86_64-w64-mingw32/5.1.0/include/c%2B%2B/x86_64-w64-mingw32/.keep?rev=243098&view=auto
==============================================================================
    (empty)

Added: cfe/trunk/test/Driver/Inputs/mingw_opensuse_tree/usr/x86_64-w64-mingw32/sys-root/mingw/include/.keep
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Driver/Inputs/mingw_opensuse_tree/usr/x86_64-w64-mingw32/sys-root/mingw/include/.keep?rev=243098&view=auto
==============================================================================
    (empty)

Added: cfe/trunk/test/Driver/Inputs/mingw_ubuntu_tree/usr/include/c++/4.8/86_64-w64-mingw32/.keep
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Driver/Inputs/mingw_ubuntu_tree/usr/include/c%2B%2B/4.8/86_64-w64-mingw32/.keep?rev=243098&view=auto
==============================================================================
    (empty)

Added: cfe/trunk/test/Driver/Inputs/mingw_ubuntu_tree/usr/include/c++/4.8/backward/.keep
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Driver/Inputs/mingw_ubuntu_tree/usr/include/c%2B%2B/4.8/backward/.keep?rev=243098&view=auto
==============================================================================
    (empty)

Added: cfe/trunk/test/Driver/Inputs/mingw_ubuntu_tree/usr/lib/gcc/x86_64-w64-mingw32/4.8/include-fixed/.keep
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Driver/Inputs/mingw_ubuntu_tree/usr/lib/gcc/x86_64-w64-mingw32/4.8/include-fixed/.keep?rev=243098&view=auto
==============================================================================
    (empty)

Added: cfe/trunk/test/Driver/Inputs/mingw_ubuntu_tree/usr/lib/gcc/x86_64-w64-mingw32/4.8/include/.keep
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Driver/Inputs/mingw_ubuntu_tree/usr/lib/gcc/x86_64-w64-mingw32/4.8/include/.keep?rev=243098&view=auto
==============================================================================
    (empty)

Added: cfe/trunk/test/Driver/Inputs/mingw_ubuntu_tree/usr/x86_64-w64-mingw32/include/.keep
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Driver/Inputs/mingw_ubuntu_tree/usr/x86_64-w64-mingw32/include/.keep?rev=243098&view=auto
==============================================================================
    (empty)

Removed: cfe/trunk/test/Driver/mingw-linux.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Driver/mingw-linux.cpp?rev=243097&view=auto
==============================================================================
--- cfe/trunk/test/Driver/mingw-linux.cpp (original)
+++ cfe/trunk/test/Driver/mingw-linux.cpp (removed)
@@ -1,20 +0,0 @@
-// XFAIL: system-windows
-// RUN: %clang -target x86_64-pc-windows-gnu -c -### --sysroot=/dummy/x86_64-w64-mingw32/5.1.0 %s 2>&1 | FileCheck -check-prefix=CHECK %s
-
-// CHECK: /usr/x86_64-w64-mingw32/include/c++/
-// CHECK: /usr/x86_64-w64-mingw32/include/c++/x86_64-w64-mingw32/
-// CHECK: /usr/x86_64-w64-mingw32/include/c++/backward
-// CHECK: /usr/x86_64-w64-mingw32/include/c++/5.1.0/
-// CHECK: /usr/x86_64-w64-mingw32/include/c++/5.1.0/x86_64-w64-mingw32/
-// CHECK: /usr/x86_64-w64-mingw32/include/c++/5.1.0/backward
-// CHECK: /usr/include/c++/5.1.0/
-// CHECK: /usr/include/c++/5.1.0/x86_64-w64-mingw32/
-// CHECK: /usr/include/c++/5.1.0/backward
-// CHECK: /dummy/x86_64-w64-mingw32/5.1.0/include/c++/
-// CHECK: /dummy/x86_64-w64-mingw32/5.1.0/include/c++/x86_64-w64-mingw32/
-// CHECK: /dummy/x86_64-w64-mingw32/5.1.0/include/c++/backward
-// CHECK: /dummy/x86_64-w64-mingw32/5.1.0/include
-// CHECK: /usr/x86_64-w64-mingw32/sys-root/mingw/include
-// CHECK: /dummy/x86_64-w64-mingw32/5.1.0/include-fixed
-// CHECK: /usr/x86_64-w64-mingw32/include
-// CHECK: /usr/include

Removed: cfe/trunk/test/Driver/mingw-win.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Driver/mingw-win.cpp?rev=243097&view=auto
==============================================================================
--- cfe/trunk/test/Driver/mingw-win.cpp (original)
+++ cfe/trunk/test/Driver/mingw-win.cpp (removed)
@@ -1,19 +0,0 @@
-// REQUIRES: system-windows
-// RUN: %clang -target i686-pc-windows-gnu -c -### --sysroot=c:\dummy %s 2>&1 | FileCheck -check-prefix=CHECK %s
-
-// CHECK: c:\\dummy\\i686-w64-mingw32\\include\\c++
-// CHECK: c:\\dummy\\i686-w64-mingw32\\include\\c++\\i686-w64-mingw32\\
-// CHECK: c:\\dummy\\i686-w64-mingw32\\include\\c++\\backward
-// CHECK: c:\\dummy\\i686-w64-mingw32\\include\\c++\\dummy\\
-// CHECK: c:\\dummy\\i686-w64-mingw32\\include\\c++\\dummy\\i686-w64-mingw32\\
-// CHECK: c:\\dummy\\i686-w64-mingw32\\include\\c++\\dummy\\backward
-// CHECK: c:\\dummy\\include\\c++\\dummy\\
-// CHECK: c:\\dummy\\include\\c++\\dummy\\i686-w64-mingw32\\
-// CHECK: c:\\dummy\\include\\c++\\dummy\\backward
-// CHECK: c:\\dummy\\include\\c++\\
-// CHECK: c:\\dummy\\include\\c++\\i686-w64-mingw32\\
-// CHECK: c:\\dummy\\include\\c++\\backward
-// CHECK: c:\\dummy\\include
-// CHECK: c:\\dummy\\include-fixed
-// CHECK: c:\\dummy\\i686-w64-mingw32\\include
-// CHECK: c:\\dummy\\include

Added: cfe/trunk/test/Driver/mingw.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Driver/mingw.cpp?rev=243098&view=auto
==============================================================================
--- cfe/trunk/test/Driver/mingw.cpp (added)
+++ cfe/trunk/test/Driver/mingw.cpp Fri Jul 24 03:50:15 2015
@@ -0,0 +1,54 @@
+// RUN: %clang -target i686-pc-windows-gnu -c -### --sysroot=%S/Inputs/mingw_mingw_org_tree/mingw %s 2>&1 | FileCheck -check-prefix=CHECK_MINGW_ORG_TREE %s
+// CHECK_MINGW_ORG_TREE: "{{.*}}/Inputs/mingw_mingw_org_tree/mingw{{/|\\\\}}lib{{/|\\\\}}gcc{{/|\\\\}}mingw32{{/|\\\\}}4.8.1{{/|\\\\}}include{{/|\\\\}}c++"
+// CHECK_MINGW_ORG_TREE: "{{.*}}/Inputs/mingw_mingw_org_tree/mingw{{/|\\\\}}lib{{/|\\\\}}gcc{{/|\\\\}}mingw32{{/|\\\\}}4.8.1{{/|\\\\}}include{{/|\\\\}}c++{{/|\\\\}}mingw32"
+// CHECK_MINGW_ORG_TREE: "{{.*}}{{/|\\\\}}Inputs/mingw_mingw_org_tree/mingw{{/|\\\\}}lib{{/|\\\\}}gcc{{/|\\\\}}mingw32{{/|\\\\}}4.8.1{{/|\\\\}}include{{/|\\\\}}c++{{/|\\\\}}backward"
+// CHECK_MINGW_ORG_TREE: "{{.*}}/Inputs/mingw_mingw_org_tree/mingw{{/|\\\\}}lib{{/|\\\\}}gcc{{/|\\\\}}mingw32{{/|\\\\}}4.8.1{{/|\\\\}}include"
+// CHECK_MINGW_ORG_TREE: "{{.*}}/Inputs/mingw_mingw_org_tree/mingw{{/|\\\\}}lib{{/|\\\\}}gcc{{/|\\\\}}mingw32{{/|\\\\}}4.8.1{{/|\\\\}}include-fixed"
+// CHECK_MINGW_ORG_TREE: "{{.*}}/Inputs/mingw_mingw_org_tree/mingw{{/|\\\\}}mingw32{{/|\\\\}}include"
+// CHECK_MINGW_ORG_TREE: {{.*}}/Inputs/mingw_mingw_org_tree/mingw{{/|\\\\}}include
+
+
+// RUN: %clang -target i686-pc-windows-gnu -c -### --sysroot=%S/Inputs/mingw_mingw_builds_tree/mingw32 %s 2>&1 | FileCheck -check-prefix=CHECK_MINGW_BUILDS_TREE %s
+// CHECK_MINGW_BUILDS_TREE: "{{.*}}/Inputs/mingw_mingw_builds_tree/mingw32{{/|\\\\}}i686-w64-mingw32{{/|\\\\}}include{{/|\\\\}}c++"
+// CHECK_MINGW_BUILDS_TREE: "{{.*}}/Inputs/mingw_mingw_builds_tree/mingw32{{/|\\\\}}i686-w64-mingw32{{/|\\\\}}include{{/|\\\\}}c++{{/|\\\\}}i686-w64-mingw32"
+// CHECK_MINGW_BUILDS_TREE: "{{.*}}/Inputs/mingw_mingw_builds_tree/mingw32{{/|\\\\}}i686-w64-mingw32{{/|\\\\}}include{{/|\\\\}}c++{{/|\\\\}}backward"
+// CHECK_MINGW_BUILDS_TREE: "{{.*}}/Inputs/mingw_mingw_builds_tree/mingw32{{/|\\\\}}lib{{/|\\\\}}gcc{{/|\\\\}}i686-w64-mingw32{{/|\\\\}}4.9.1{{/|\\\\}}include"
+// CHECK_MINGW_BUILDS_TREE: "{{.*}}/Inputs/mingw_mingw_builds_tree/mingw32{{/|\\\\}}lib{{/|\\\\}}gcc{{/|\\\\}}i686-w64-mingw32{{/|\\\\}}4.9.1{{/|\\\\}}include-fixed"
+// CHECK_MINGW_BUILDS_TREE: "{{.*}}/Inputs/mingw_mingw_builds_tree/mingw32{{/|\\\\}}i686-w64-mingw32{{/|\\\\}}include"
+
+
+// RUN: %clang -target i686-pc-windows-gnu -c -### --sysroot=%S/Inputs/mingw_msys2_tree/msys64/mingw32 %s 2>&1 | FileCheck -check-prefix=CHECK_MINGW_MSYS_TREE %s
+// CHECK_MINGW_MSYS_TREE: "{{.*}}/Inputs/mingw_msys2_tree/msys64{{/|\\\\}}mingw32{{/|\\\\}}include{{/|\\\\}}c++{{/|\\\\}}4.9.2"
+// CHECK_MINGW_MSYS_TREE: "{{.*}}/Inputs/mingw_msys2_tree/msys64/mingw32{{/|\\\\}}include{{/|\\\\}}c++{{/|\\\\}}4.9.2{{/|\\\\}}i686-w64-mingw32"
+// CHECK_MINGW_MSYS_TREE: "{{.*}}/Inputs/mingw_msys2_tree/msys64/mingw32{{/|\\\\}}include{{/|\\\\}}c++{{/|\\\\}}4.9.2{{/|\\\\}}backward"
+// CHECK_MINGW_MSYS_TREE:  "{{.*}}/Inputs/mingw_msys2_tree/msys64/mingw32{{/|\\\\}}lib{{/|\\\\}}gcc{{/|\\\\}}i686-w64-mingw32{{/|\\\\}}4.9.2{{/|\\\\}}include"
+// CHECK_MINGW_MSYS_TREE:  "{{.*}}/Inputs/mingw_msys2_tree/msys64/mingw32{{/|\\\\}}lib{{/|\\\\}}gcc{{/|\\\\}}i686-w64-mingw32{{/|\\\\}}4.9.2{{/|\\\\}}include-fixed"
+// CHECK_MINGW_MSYS_TREE: "{{.*}}/Inputs/mingw_msys2_tree/msys64/mingw32{{/|\\\\}}i686-w64-mingw32{{/|\\\\}}include"
+// CHECK_MINGW_MSYS_TREE: "{{.*}}/Inputs/mingw_msys2_tree/msys64/mingw32{{/|\\\\}}include"
+
+
+// RUN: %clang -target x86_64-pc-windows-gnu -c -### --sysroot=%S/Inputs/mingw_opensuse_tree/usr %s 2>&1 | FileCheck -check-prefix=CHECK_MINGW_OPENSUSE_TREE %s
+// CHECK_MINGW_OPENSUSE_TREE: "{{.*}}/Inputs/mingw_opensuse_tree/usr{{/|\\\\}}lib64{{/|\\\\}}gcc{{/|\\\\}}x86_64-w64-mingw32{{/|\\\\}}5.1.0{{/|\\\\}}include{{/|\\\\}}c++"
+// CHECK_MINGW_OPENSUSE_TREE: "{{.*}}/Inputs/mingw_opensuse_tree/usr{{/|\\\\}}lib64{{/|\\\\}}gcc{{/|\\\\}}x86_64-w64-mingw32{{/|\\\\}}5.1.0{{/|\\\\}}include{{/|\\\\}}c++{{/|\\\\}}x86_64-w64-mingw32"
+// CHECK_MINGW_OPENSUSE_TREE: "{{.*}}/Inputs/mingw_opensuse_tree/usr{{/|\\\\}}lib64{{/|\\\\}}gcc{{/|\\\\}}x86_64-w64-mingw32{{/|\\\\}}5.1.0{{/|\\\\}}include{{/|\\\\}}c++{{/|\\\\}}backward"
+// CHECK_MINGW_OPENSUSE_TREE: "{{.*}}/Inputs/mingw_opensuse_tree/usr{{/|\\\\}}lib64{{/|\\\\}}gcc{{/|\\\\}}x86_64-w64-mingw32{{/|\\\\}}5.1.0{{/|\\\\}}include"
+// CHECK_MINGW_OPENSUSE_TREE: "/usr/x86_64-w64-mingw32/sys-root/mingw/include"
+// CHECK_MINGW_OPENSUSE_TREE: "{{.*}}/Inputs/mingw_opensuse_tree/usr{{/|\\\\}}lib64{{/|\\\\}}gcc{{/|\\\\}}x86_64-w64-mingw32{{/|\\\\}}5.1.0{{/|\\\\}}include-fixed"
+
+
+// RUN: %clang -target i686-pc-windows-gnu -c -### --sysroot=%S/Inputs/mingw_arch_tree/usr %s 2>&1 | FileCheck -check-prefix=CHECK_MINGW_ARCH_TREE %s
+// CHECK_MINGW_ARCH_TREE: "{{.*}}/Inputs/mingw_arch_tree/usr{{/|\\\\}}i686-w64-mingw32{{/|\\\\}}include{{/|\\\\}}c++{{/|\\\\}}5.1.0"
+// CHECK_MINGW_ARCH_TREE: "{{.*}}/Inputs/mingw_arch_tree/usr{{/|\\\\}}i686-w64-mingw32{{/|\\\\}}include{{/|\\\\}}c++{{/|\\\\}}5.1.0{{/|\\\\}}i686-w64-mingw32"
+// CHECK_MINGW_ARCH_TREE: "{{.*}}/Inputs/mingw_arch_tree/usr{{/|\\\\}}i686-w64-mingw32{{/|\\\\}}include{{/|\\\\}}c++{{/|\\\\}}5.1.0{{/|\\\\}}backward"
+// CHECK_MINGW_ARCH_TREE: "{{.*}}/Inputs/mingw_arch_tree/usr{{/|\\\\}}lib{{/|\\\\}}gcc{{/|\\\\}}i686-w64-mingw32{{/|\\\\}}5.1.0{{/|\\\\}}include"
+// CHECK_MINGW_ARCH_TREE: "{{.*}}/Inputs/mingw_arch_tree/usr{{/|\\\\}}lib{{/|\\\\}}gcc{{/|\\\\}}i686-w64-mingw32{{/|\\\\}}5.1.0{{/|\\\\}}include-fixed"
+// CHECK_MINGW_ARCH_TREE: "{{.*}}/Inputs/mingw_arch_tree/usr{{/|\\\\}}i686-w64-mingw32{{/|\\\\}}include"
+
+
+// RUN: %clang -target x86_64-pc-windows-gnu -c -### --sysroot=%S/Inputs/mingw_ubuntu_tree/usr %s 2>&1 | FileCheck -check-prefix=CHECK_MINGW_UBUNTU_TREE %s
+// CHECK_MINGW_UBUNTU_TREE: "{{.*}}/Inputs/mingw_ubuntu_tree/usr{{/|\\\\}}include{{/|\\\\}}c++{{/|\\\\}}4.8"
+// CHECK_MINGW_UBUNTU_TREE: "{{.*}}/Inputs/mingw_ubuntu_tree/usr{{/|\\\\}}include{{/|\\\\}}c++{{/|\\\\}}4.8{{/|\\\\}}x86_64-w64-mingw32"
+// CHECK_MINGW_UBUNTU_TREE: "{{.*}}/Inputs/mingw_ubuntu_tree/usr{{/|\\\\}}include{{/|\\\\}}c++{{/|\\\\}}4.8{{/|\\\\}}backward"
+// CHECK_MINGW_UBUNTU_TREE: "{{.*}}/Inputs/mingw_ubuntu_tree/usr{{/|\\\\}}lib{{/|\\\\}}gcc{{/|\\\\}}x86_64-w64-mingw32{{/|\\\\}}4.8{{/|\\\\}}include"
+// CHECK_MINGW_UBUNTU_TREE: "{{.*}}/Inputs/mingw_ubuntu_tree/usr{{/|\\\\}}lib{{/|\\\\}}gcc{{/|\\\\}}x86_64-w64-mingw32{{/|\\\\}}4.8{{/|\\\\}}include-fixed"
+// CHECK_MINGW_UBUNTU_TREE: "{{.*}}/Inputs/mingw_ubuntu_tree/usr{{/|\\\\}}x86_64-w64-mingw32{{/|\\\\}}include"





More information about the cfe-commits mailing list