The paper
"http://jerry.cs.uiuc.edu/~garrido/ICSE_paper.pdf" is
interessting. The idea of an extended AST holding
informations on the different versions of the code is
something to try out.
However some extensions are needed to find impossible
configurations - or the tool would run into an endless
loop for cyclic header includes (usually #ifdef
prevents this).
This is some later isue.
Logged In: YES
user_id=661524
Another problem that comes with conditionals is the possible
redefinition of macros -- this is a good example by the
authors of the paper (found at their webpages
http://jerry.cs.uiuc.edu/~garrido/CRefactory.html\):
#if SYSTEM == SYSV
#define HDR sysv.h
#elif SYSTEM == BSD
#define HDR bsd.h
#else
#define HDR default.h
#endif
#include HDR