We have a custom build that properly grey'd out the enabled/disabled code in versions below 7.0. In 7.0 to 8.0.1, every #ifdef block is disabled despite macros being defined in the active project settings. It will show the code as enabled only if the #define resides in the C/CPP file.
Apparently this is because our project is a Custom Build and they no longer use the Macros that can be entered in the project and workspace settings. Code completion seems to basically work, but we would like to see the code show as enabled when a properly defined Macro is entered in the settings.
I use Codelite for embedded projects where the compilers are provided by a 3rd party...but frankly their editors are not as good as yours. I don't expect to Codelite to worm it's way through their compilers, settings, etc....Just use the provided Macros in addition to what appears in code.