(*** This bug was imported into bugs.kde.org ***) Package: kdevelop Version: 2.0.1 (using KDE 2.2.1 ) Severity: normal Installed from: SuSE Compiler: gcc version 2.95.3 20010315 (SuSE) OS: Linux (i686) release 2.2.19 OS/Compiler notes: Hi the KDevelop Class parser seems to have problems with macros that do not end with a ";". Just take a look at the following example : --- HEADER.h BEGIN ----- ifndef MYCLASS_H #define MYCLASS_H #include <qobject.h> //works #define USING_NAMESPACE(x) using namespace x; USING_NAMESPACE(std); //does not work #define USING_NAMESPACE(x) using namespace x; USING_NAMESPACE(std) class MyClass { Q_OBJECT public: MyClass(); ~MyClass(); protected slots: void something (); }; #endif ------ HEADER.H END ---------------------- ------ IMPLEMENT.H BEGIN ----------------- #include "myclass.h" MyClass::MyClass() { } MyClass::~MyClass() { } void MyClass::something () { } ------ IMPLEMENT.H END ----------------- If you remove the second define and macro the parser works without problems but if you remove the first define and macro the class MyClass is not shown at all in the class browser. Now if you add a ";" to the USING_NAMESPACE macro everything works again and the class is shown correctly. (Submitted via bugs.kde.org) (Called from KBugReport dialog)
This one persists in Gideon.
This looks like an important bug, we should consider proper use of CPP preceding syntactic analysis, Roberto? I'm voting for it. Must fix before beta.
As of cvs HEAD I can not reproduce this bug. Anyone else?
This problem is no longer present in CVS head. Closing.
Moving all the bugs from the CPP Parser. It was not well defined the difference between it and C++ Language Support and people kept reporting in both places indistinctively