Bug 70055 - [Class Browser Perspective] not finding some external classes
Summary: [Class Browser Perspective] not finding some external classes
Status: VERIFIED FIXED
Alias: None
Product: CDT
Classification: Tools
Component: cdt-core (show other bugs)
Version: 2.0   Edit
Hardware: All All
: P3 major (vote)
Target Milestone: 2.0.1   Edit
Assignee: Chris Wiebe CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on: 59493
Blocks:
  Show dependency tree
 
Reported: 2004-07-14 15:19 EDT by Mathieu Lapensée CLA
Modified: 2004-09-08 14:00 EDT (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Mathieu Lapensée CLA 2004-07-14 15:19:06 EDT
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.
Comment 1 Alain Magloire CLA 2004-07-16 11:41:53 EDT
Chris,
  let me know if it is something that I do wrong 8-)
Comment 2 Chris Wiebe CLA 2004-07-16 12:02:34 EDT
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.
Comment 3 Chris Wiebe CLA 2004-08-11 17:01:24 EDT
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.
Comment 4 Tanya Wolff CLA 2004-09-08 12:47:26 EDT
Verified in eclipse 3.0.1 cdt 2.0.1 200408271356.
Comment 5 Alain Magloire CLA 2004-09-08 14:00:57 EDT
Verified in eclipse 3.0.1 cdt 2.0.1 200408271356