Open denizzzka opened 1 year ago
Addition:
Command to reproduce:
dub run dpp -- parsing.dpp --preprocess-only --hard-fail
dpp vresion ~master
was used
Switching to C++ (--parse-as-cpp
) also solves problem, but may add anothers, thus, can't be considered as solution
libclang
ver > (approx) 11.1.0 (and further above 16) only(!) on Windows silently ignores typedefs of anonymous structs like:as result, after parsing .dpp file like that:
d++ returns only:
without
Foo
payload. I.e., it just skips constructions like this and not reports anything about.I don't know why it is occurs, but it was very difficult to understand what this occurs because on Linux same header code works as it was intended and clang.exe on Windows also compiles this code as well, without any errors or warnings. Code like this also works fine:
All this cases is already covered by integration tests.
But I wish, at least, ask to add appropriatelibclang
version check into d++ and also add flag (like--ignore-libclang-version
) for ignore this behaviour