Bug 18805 - [meta-bug] C++ member lookup
Summary: [meta-bug] C++ member lookup
Status: NEW
Alias: None
Product: gcc
Classification: Unclassified
Component: c++ (show other bugs)
Version: 4.0.0
: P2 normal
Target Milestone: ---
Assignee: Not yet assigned to anyone
Keywords: meta-bug
Depends on:
Blocks: 12944 17154
  Show dependency treegraph
Reported: 2004-12-03 10:17 UTC by Nathan Sidwell
Modified: 2006-01-08 05:20 UTC (History)
2 users (show)

See Also:
Known to work:
Known to fail:
Last reconfirmed: 2006-01-08 05:20:55


Note You need to log in before you can comment on or make changes to this bug.
Description Nathan Sidwell 2004-12-03 10:17:22 UTC
The C++ FE holds class members in two vectors, a vector of overloaded methods
and a vector of fields and other stuff.  This is bad

1) These vectors are unsorted until the class is complete
2) When sorted they have O(log N) performance, and N can get resonably big these
3) You have to look in two places
4) It won't play nice when we get using declarations right -- you can't tell
at parse time whether a using declaration from a dependent base will be a

We should have one hash table per class to hold everything.
Comment 1 Andrew Pinski 2004-12-03 12:49:56 UTC
12944 is for generic namelookup problems.