diff options
-rw-r--r-- | lib/Frontend/InitHeaderSearch.cpp | 5 | ||||
-rw-r--r-- | test/PCH/reloc.c | 2 |
2 files changed, 6 insertions, 1 deletions
diff --git a/lib/Frontend/InitHeaderSearch.cpp b/lib/Frontend/InitHeaderSearch.cpp index 3da38fb046..c552512dc9 100644 --- a/lib/Frontend/InitHeaderSearch.cpp +++ b/lib/Frontend/InitHeaderSearch.cpp @@ -118,7 +118,12 @@ void InitHeaderSearch::AddPath(const llvm::Twine &Path, // Handle isysroot. if ((Group == System || Group == CXXSystem) && !IgnoreSysRoot && +#if defined(_WIN32) + !MappedPathStr.empty() && + llvm::sys::path::is_separator(MappedPathStr[0]) && +#else llvm::sys::path::is_absolute(MappedPathStr) && +#endif IsNotEmptyOrRoot) { MappedPathStorage.clear(); MappedPathStr = diff --git a/test/PCH/reloc.c b/test/PCH/reloc.c index f15c77682f..fd78feba60 100644 --- a/test/PCH/reloc.c +++ b/test/PCH/reloc.c @@ -1,7 +1,7 @@ // RUN: %clang_cc1 -emit-pch -o %t -relocatable-pch -isysroot %S/libroot %S/libroot/usr/include/reloc.h // RUN: %clang_cc1 -include-pch %t -isysroot %S/libroot %s -verify // RUN: not %clang_cc1 -include-pch %t %s -// XFAIL: mingw,win32 + #include <reloc.h> int x = 2; // expected-error{{redefinition}} |