r215290 - Fix six tests are failing on Windows after r215241-r215243.
Yaron Keren
yaron.keren at gmail.com
Mon Aug 11 10:14:49 PDT 2014
Lexer/cross-windows-on-linux-default.cpp is marked
REQUIRES: disabled
doesn't it means the test is disabled?
I had not debugged the six tests to see what exactly broke, only restored
pre-patch behaviour to make the tests pass.
On Windows both / and \ are accepted. From past experience ( and
http://reviews.llvm.org/D3686 )
such problems are usually caused by StringMap caches in which / and \ are
considered different when searching. Prime suspects would be:
HeaderSearch::LookupFileCache
HeaderSearch::FrameworkMap
FileManager::SeenFileEntries
but these would also need fixing:
HeaderSearch::IncludeAliases
FileManager::SeenDirEntries
and probably other StringMaps.
To solve these we could create a PathStringMap derived from StringMap in
which the search is / \ tolerant and use it instead of the StringMap when
paths are stored.
Yaron
2014-08-11 18:46 GMT+03:00 Rafael EspĂndola <rafael.espindola at gmail.com>:
> > +#ifndef LLVM_ON_WIN32
> > llvm::sys::path::native(NormalizedPath);
> > +#endif
>
> This call is used on linux to make
> Lexer/cross-windows-on-linux-default.cpp pass. Since on windows both /
> and \ are supposed to work, it seems that LookupFile should succeed
> even with the call to llvm::sys::path::native, no? Do you know why it
> is failing?
>
> Cheers,
> Rafael
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20140811/8e76c92a/attachment.html>
More information about the cfe-commits
mailing list