Preprocessor and IDE compiler working together?

I am experiencing a little problem with the Xcode IDE when it is listing all my properties, memberfunction etc. in the drop-down of each editor window.


In my defines I open two times a curly brace of which - after the preprocessor - only one will be left alive for RUNTIME. So I only balance it with one closing curly.


Of course, at EDIT-TIME the curlies are unbalanced - but the compiler doesn't complain! It seems to know about the preprocessor directives.


#ifdef myDefine
     if (true) {
     // HERE GOES MY CODE
     NSLog(@"----------------------------------");
#endif

#ifndef myDefine
     if (true) {
     // HERE GOES MY CODE
     NSLog(@"----------------------------------");
#endif

   }



The IDE on the other hand doesn't seem to know about the unbalanced curlies and doesn't list (from the first unbalanced occurence on) my members anymore. But all my meta-stuff (like //TODO: or //WARNING: directives in the comments) still keeps on getting listed.


So, not until balancing the curlies in my code I get back a correct complete listing in the drop-down.



#ifdef myDefine
     if (true) {
     // HERE GOES MY CODE
     NSLog(@"----------------------------------");
#endif

#ifndef myDefine
     if (true) {
     // HERE GOES MY CODE
     NSLog(@"----------------------------------");
#endif

#ifdef myDefine
     }
#endif

#ifndef myDefine
     }
#endif




Should I considered this to be a bug and file it or is this behaviour necessary for some reason I don't know of?


Thanks for your input!

Preprocessor and IDE compiler working together?
 
 
Q