C++ (parser) regression?

Gabriel Dos Reis gdr@integrable-solutions.net
Tue Aug 13 03:41:00 GMT 2002


Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at> writes:

| Either I'm utterly confused, or the C++ parser on mainline was broken
| recently (or I'm indeed confused and this was a GCC extension whose
| removal was not documented in gcc-3.3/changes.html):
| 
|   % cat x.cc
|   #include <set>
| 
|   using namespace std;
| 
|   class C : public set<int> {
|       void add(const int i) {
|           insert(i);
|           }
|       };
| 
|   % gccvs x.cc
|   x.cc: In member function `void C::add(int)':
|   x.cc:7: error: no matching function for call to `C::insert(const int&)'

The above is well-formed.  I think the breakage may come from recent
changes to the way (member) lookup are done.  The patch I'm suspecting
is
 
    2002-08-07  Mark Mitchell  <mark@codesourcery.com>
 
But I did no test; could you try reverting that patch and see what happens?

I think this deserves an etry in the GNATS database.

-- Gaby



More information about the Libstdc++ mailing list