I have a function something like below. I run doxygen -d Preprocessor and check the preprocessed code and function2() is excluded. However, I still see the function2() in the call graph.
Configuration
Doxygen version: 1.9.1 (ef9b20ac7f8a8621fcfc299f8bd0b80422390f4b)
ENABLE_PREPROCESSING = YES
MACRO_EXPANSION = YES
EXPAND_ONLY_PREDEF = NO
SEARCH_INCLUDES = YES
CALL_GRAPH = YES
HAVE_DOT = YES
EXTRACT_ALL = YES
EXTRACT_PRIVATE = YES
EXTRACT_STATIC = YES
EXTRACT_ANON_NSPACES = YES
Function
void function(void)
{
function1();
#ifdef filtered
function2();
#endif
}