Re: [CEDET-devel] code between #if #endif seems not be parsed
Brought to you by:
zappo
From: Eric M. L. <er...@si...> - 2014-08-30 13:05:29
|
On 08/27/2014 12:34 PM, zijianyue wrote: > HI: > As the pics below show,the code between #if #endif not be parsed.Please > help! > My .emacs is in the attachment. > Hi, I tried the code from your image: #include <stdlib.h> #define ON 0 #define ABC ON #if ABC int abc(); #endif void main() { } #if ABC int abc() { return 0; } #endif and I can flip the #define of ON to be 0 or 1, and it will parse or not parse the function at the end correctly. In fact, there is an existing test in the CEDET repository (tests/cedet/semantic/tests/testsppcond.cpp) that has even more levels of indirection. Semantic uses the `hideif' package for handling all the #if macros determining if they should have the contents parsed or not. Since you are using Emacs 24.4, and I am using Emacs 24.3, there is perhaps a change in hideif that is causing this problem. I'm assuming this is true because the emacs-bzr-linux build failed the test on Aug 26, but passed on Aug 24th. Perhaps someone who is familiar with 24.4 changes can help out? Eric |