I am working on some static code analysis algorithms that will be far more effective (and easier) if done on the whole program. For that, I need to combine all C source files of a target program into a single C file. I tried the CIL merger, but it only supports ISO C89. I am mainly targeting GNU, which mostly compiles against gnu99.
So, are there any tools that can combine other flavors or GNU extensions of C? What does it take to extend CIL to support C99 or gnu99?