Open GoogleCodeExporter opened 9 years ago
Thanks for the report!
I can't reproduce with trunk IWYU (Windows 7 64-bit + VS2012 built from source
in LLVM/Clang tree), it keeps foo.h happily.
We haven't posted a Clang 3.6-compatible release yet, ping me privately if you
want a trunk build to test with.
Original comment by kim.gras...@gmail.com
on 13 Apr 2015 at 7:54
I just built trunk with VS2013, and the problem is still reproducible.
include-what-you-use 0.4 (609) based on clang version 3.7.0 (trunk 234797)
(llvm/trunk 234796)
Did you uncomment out the first line of the file to reproduce? Otherwise it may
be only reproducible on VS2013 or the Windows SDK for Windows 8.1 (VS2012 I
believe uses Windows SDK for Windows 8, I do not have VS2012 installed)
Original comment by david.om...@gmail.com
on 13 Apr 2015 at 10:03
I did uncomment the first line, I even removed the conditional entirely to make
sure it wasn't confusing IWYU somehow.
But wait a minute -- Clang only builds with VS2013, so I must've built IWYU
with it too. I double-checked by adding -H to your command-line, and it's
including SDK headers from the 8.1 SDK.
Weird...
Original comment by kim.gras...@gmail.com
on 14 Apr 2015 at 4:19
Sorry about that, looks like there's more to the reproduction that I originally
reported.
Arguments:
-Xiwyu --mapping_file=win32.imp -fmsc-version=1800 -ferror-limit=1
-Wno-deprecated-declarations -Wno-format -Wno-incompatible-pointer-types
-Wno-ignored-attributes -Wmissing-declarations -Wimplicit-function-declaration
-Werror -I. <absolute_path>\foo.c
Turns out IWYU keeps foo.h if -I. is not passed in as an argument, keeps foo.h
if the absolute path is not specified, and keeps foo.h if run from outside the
directory containing foo.c and foo.h. Finally, it keeps foo.h if foo.h is
included before windows.h
Original comment by david.om...@gmail.com
on 14 Apr 2015 at 1:39
Original issue reported on code.google.com by
david.om...@gmail.com
on 13 Apr 2015 at 3:27Attachments: