[PATCH] Teach CC1 to dump module dependencies to a directory

Justin Bogner mail at justinbogner.com
Thu Jun 19 19:42:52 PDT 2014


Zachary Turner <zturner at google.com> writes:
> This generates some crashes when running Windows tests.  In particular, this
> asserts is being hit:
>
>   assert(sys::path::is_absolute(VirtualPath) && "virtual path not absolute");
>
> inside the function void YAMLVFSWriter::addFileMapping(StringRef VirtualPath,
> StringRef RealPath)
>
> Inspecting VirtualPath in a debugger shows that the value is:
>
> \\src\\llvm\\tools\\clang\\test\\Modules\\Inputs\\Module.framework\\Frameworks
> \\SubFramework.framework\\Headers\\SubFramework.h
>
> The path qualified with drive letter on my machine that this resolves to is
> the aforementioned path prefixed with a D:
>
> So this should refer to a root path, but either way I'll leave it to you to
> decide whether the fix is to append the drive letter, or maybe the bug is in
> the is_absolute() function.

The copyToRoot function is wrong here - It takes a shortcut in working
out an absolute path that isn't valid on windows. I'll come up with a
fix in a couple of hours.




More information about the cfe-commits mailing list