On 2/13/12 9:21 PM, Joshua Cranmer wrote:
On 2/10/2012 10:14 AM, Lionel Dricot wrote: Another issue I recall from when I discussed this at the LLVM developer's meeting was the "#ifdef issue": how do you handle the fact that, after preprocessing, not all the original source code gets "seen" by the compiler? The mental model I've had for a long time is to somehow be able to merge the records of two different compile runs into a single indexing output.
I think that is indeed a very interesting and also important issue. I have been thinking about code bases with different "backends". Some source files only get compiled on Linux, some files only on OS X (in particular objective-C code to glue with Cocoa). Still, you would really want to see all code recognized in the DXR interface.
Some methodology to merge the records produced by different compilers/machines compiling the same code revision seems indeed necessary. Though I am a bit worried which problems we would get to solve when parsing records for the same source file produced by different compilers. For example, what would happen with macros that expand differently depending on the machine/platform it was preprocessed on? (Though in that case it would be quite cool to actually show both macro expansions tagged with the platform it was produced on).
regards, -kris. _______________________________________________ dev-static-analysis mailing list [email protected] https://lists.mozilla.org/listinfo/dev-static-analysis
