Dear CDT team,
the reason why I contact you is Bug 568957 (https://bugs.eclipse.org/bugs/show_bug.cgi?id=568957).
If a header file is already indexed for a translation unit and found again it needn’t be indexed again and
is therefore skipped. But the significant macros with which the header file are still needed and
should not be omitted. The current behavior which skips the significant macros is in this way
incorrect if our analysis is correct.
We have a huge code base and make use of macros a lot. We see thousands of false error messages
In our code because of this issue. We have already created a fix for this issue:
https://git.eclipse.org/r/c/cdt/org.eclipse.cdt/+/173910 . The changes are straight forward
and they are tested against our codebase. The speed of the indexer is not getting worse.
We were not the first to fix this bug. A similar fix was provided on May 2020
(https://git.eclipse.org/r/c/cdt/org.eclipse.cdt/+/142818). This code also fixes our bug.
Maybe this helps with the review.
For this fix we have also provided a JUNit test.
In the name of my company I would like to ask that someone with experience with
the preprocessor and the indexer have a look at the suggested changes and review them.
Regards
Michael Uhl