Parsing the following code creates dead AST nodes:
void foo(
#ifdef A
int a
#else
double a
#endif
) { }
After parsing and pretty printing the result:
void foo
if definedEx(A)
(int a)
endif
if !definedEx(A)
(
if definedEx(A)
int <- Int specifier is dead!
endif
double a)
endif
{
}