[cedet-semantic] parser problem with C++ classes
Brought to you by:
zappo
|
From: Ulrich B. <uh...@fl...> - 2006-01-27 14:11:36
|
Hello, I am new at using the cedet and ECB tools. Using either speedbar or ECB, I found that certain classes in my C++ source code where not displayed at all. Since it occurs with both browsers and since both use semantic for the analysis, I thought I ask for help here. The problem is with handling a preprocessor macro that is required to export symbols under Windows. Under Linux it will be empty. Classes "decorated" correctly with this macro will disapear in the class listings. Classes incorrectly decorated will be displayed, but will not compile correctly. Below is an example C++ code demonstrating the problem. I'd appreciate any help here, because I'd need this functionality to continue using cedet tools. Thank you Ulrich //--- snipp ---------- save as foobar.cpp ------------------------------- //-*- compile-command: "make foobar.o" -*- #ifdef _WIN32 #define fbexport __declspec(dllexport) #else #define fbexport #endif /// Recognized by semantic and doxygen as a class, but not recognized /// by emacs syntax highlighting. <p> /// /// <b>Worse, this does not compile correctly under Windows.</b> Tried /// MinGW and original ms compilers. This is the error message /// http://msdn2.microsoft.com/en-us/library/eehkcz60.aspx /// fbexport class foo { public: int ifoo; }; /// Not recognized by semantic, but recognized by doxygen as a class /// and by emacs syntax highlighting as a variable. And this compiles /// under Windows. /// class fbexport bar { public: int ibar; }; |