Community
Participate
Working Groups
Eclipse 200406251208 CDT 200406301134 The Class Browser perspective does not find some external classes. Steps: 1) Create a Managed Project 2) Add a cpp file and put the following in it: #include <iostream> using namespace std; int main(int argc, char **argv) { } 3) Build it. 4) Go to the C/C++ Browsing Perpective 5) Click on the Managed project. You will 4 namespaces: (global), __cxxabiv1, __gnu_cxx, std 6) Click on __cxxabiv1 7) Click on __class_type_info in the Types. You will get a message: "Could not locate definition of type"__cxxabiv1::__class_type_info" If I do a C++ search on __cxxabiv1, I will find it but the file is not colour coded. There seem to be a problem the C/C++ File type.
Chris, let me know if it is something that I do wrong 8-)
Looks like the class forward declaration of __class_type_info is what is tripping it up. Right now the indexer doesn't distinguish between a class forward and class declaration, so when browser is searching for the actual declaration of __class_type_info it looks in the wrong location and doesn't find it. This is a known problem. See Bug# 59493.
The indexer can now distinguish between class definitions and class forward declarations (bug# 59493) so the open type/class browser will always use the class definition. If you reindex your example project, the "__class_type_info" should disappear from the open type and class browser because the class definition is not specified in any of the source files/headers and class forward declarations are now being ignored. Should be fixed in head and 2.0.1 stream.
Verified in eclipse 3.0.1 cdt 2.0.1 200408271356.
Verified in eclipse 3.0.1 cdt 2.0.1 200408271356