Fix six tests are failing on Windows after r215241-r215243.

Clang :: Frontend/iframework.c
    Clang :: Frontend/system-header-prefix.c
    Clang :: Index/annotate-comments-objc.m
    Clang :: Index/annotate-module.m
    Clang :: Index/index-module.m
    Clang :: Index/index-pch-with-module.m
    Clang :: PCH/case-insensitive-include.c

Suprisingly the normalize_separators() was no-op when LLVM_ON_WIN32.
Its replacement native() does change path separators into \ as expected,
breaking these tests.

I had fixed the tests by #ifndef LLVM_ON_WIN32 on the native call,
to match the previous behaviour. 
If this logic is not used on Windows host, it might be completely
deleted as there should not be windows path seperators on Linux hosts.

I can't test on Linux but if someone can run tests on Linux after
commenting out the line

  llvm::sys::path::native(NormalizedPath);    

and the tests pass, the whole if (LangOpts.MSVCCompat) could be deleted.
  

llvm-svn: 215290
This commit is contained in:
Yaron Keren 2014-08-09 18:13:01 +00:00
parent 1d0d00f4e4
commit 1801d1b12f
1 changed files with 2 additions and 0 deletions

View File

@ -1441,7 +1441,9 @@ void Preprocessor::HandleIncludeDirective(SourceLocation HashLoc,
SmallString<128> NormalizedPath;
if (LangOpts.MSVCCompat) {
NormalizedPath = Filename.str();
#ifndef LLVM_ON_WIN32
llvm::sys::path::native(NormalizedPath);
#endif
}
const FileEntry *File = LookupFile(
FilenameLoc, LangOpts.MSVCCompat ? NormalizedPath.c_str() : Filename,