From: Eric M. Ludlam <eric@si...> - 2007-05-22 01:50:39
I updated the C macro handling code this evening. Hopefully this
set of changes will make handling of #defines, and #if, #elif and
sections like that more robust.
Previously, if the parser saw:
it would parse all or nothing. Now it will handle parsing only the
correct bit, either the #if, or #else bits.
Earlier, I also fixed the case of #if defined(MOOSE) type code.
Hopefully, these changes will allow semantic to correctly parse C code
where your definitions are all mashed together around various ifdef
combinations. It also means it will be important to setup your macro
To help with this, I added some parser warnings. In your C file, you
M-x semantic-dump-parser-warnings RET
to see them for the current buffer. This is the first step toward
building a "Why doesn't it work?!" type function that will help
everyone identify why some symbol can't be completed. I hope to add
more warnings to more parsers over time to turn this into a useful
Eric Ludlam: zappo@..., eric@...
Home: http://www.ludlam.net Siege: http://www.siege-engine.com
Emacs: http://cedet.sourceforge.net GNU: http://www.gnu.org