Package: codeblocks Version: 13.12-3 In the C++ program given below code completion FAILS (and a symbol cannot be found). Right-click on NOT_parsed_in_Linux, Find declaration, it is not found !
This narrowed down example shows that the problem is apparently caused by the parser skipping all code inside an "#ifdef __cplusplus" block. #include <iostream> using namespace std; typedef struct { int a; } Parsed_in_Linux_tp; #ifdef __cplusplus typedef struct { int a; } NOT_parsed_in_Linux_tp; #endif // __cplusplus int main() { Parsed_in_Linux_tp P; P.a = 30; cout << P.a << endl; NOT_parsed_in_Linux_tp N; N.a = 40; cout << N.a << endl; return 0; } I am using Ubuntu 14.04.1 LTS, kernel 3.10.58+ ________________________________ The information contained in this message may be confidential and legally protected under applicable law. The message is intended solely for the addressee(s). If you are not the intended recipient, you are hereby notified that any use, forwarding, dissemination, or reproduction of this message is strictly prohibited and may be unlawful. If you are not the intended recipient, please contact the sender by return e-mail and destroy all copies of the original message.