r215290 - Fix six tests are failing on Windows after r215241-r215243.
Rafael EspĂndola
rafael.espindola at gmail.com
Mon Aug 11 10:24:24 PDT 2014
On 11 August 2014 13:14, Yaron Keren <yaron.keren at gmail.com> wrote:
> Lexer/cross-windows-on-linux-default.cpp is marked
>
> REQUIRES: disabled
>
> doesn't it means the test is disabled?
It is not, Lexer/cross-windows-on-linux.cpp is.
> 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.
I see. The ifdef you added seems a pretty reasonable fix while the
general issue is worked on then.
Thanks,
Rafael
More information about the cfe-commits
mailing list