[Bug c++/13590] [3.3/3.4 regression] Non-existing ambiguity when inhering through virtuals two identical using declarations.

giovannibajo at libero dot it gcc-bugzilla@gcc.gnu.org
Sun Jan 11 01:05:00 GMT 2004


------- Additional Comments From giovannibajo at libero dot it  2004-01-11 01:05 -------
Confirmed with Wolfgang testcase:
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13590#c1

There is only one Node base class because of the virtual inheritance, so there 
is only one Node::f function. There is no ambiguity. When the lookup is 
performed, it should be noted that the two using declarations *do* refer to the 
same declaration on the same base object.

Boris, as Wolfgang explained, your other testcase is indeed non ambigous and 
correctly accepted by GCC since, at the point of call, there is only one and 
only one "best" overload.

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
     Ever Confirmed|                            |1
           Keywords|                            |rejects-valid
   Last reconfirmed|0000-00-00 00:00:00         |2004-01-11 01:05:06
               date|                            |
            Summary|unexpected overload         |[3.3/3.4 regression] Non-
                   |resolution                  |existing ambiguity when
                   |                            |inhering through virtuals
                   |                            |two identical using
                   |                            |declarations.
   Target Milestone|---                         |3.4.0


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13590



More information about the Gcc-bugs mailing list