Community
Participate
Working Groups
Consider these files: test.h: #ifndef TEST_H_ #define TEST_H_ #if (FOO == 1) # define BAR 1 #else # if (FOO == 2) # define BAZ 2 # else # define BAZ 3 # endif # define BAR BAZ #endif #endif /* TEST_H_ */ test.c: #define FOO 1 #include "test.h" int main() { return BAR; } Macro expansion evaluation (hover or explore) will not update when the value of FOO is changed (2 or 3) in test.c and the file is saved. Rebuilding the index or saving test.h fixes it. Arguably not the best programming style but fairly common nevertheless.
By macro expansion I meant BAR in main.
Additional detail, this works as expected if I select "Index all header variants" under Indexer settings.