[Bug c++/26950] Error diagnostic not issued for unacceptable result of lookup for a name used in a nested-name-specifier

widman at gimpel dot com gcc-bugzilla@gcc.gnu.org
Fri Mar 31 05:36:00 GMT 2006



------- Comment #4 from widman at gimpel dot com  2006-03-31 05:36 -------
Subject: Re:  Error diagnostic not issued for unacceptable result of lookup for
a name used in a nested-name-specifier


On Mar 30, 2006, at 11:47 PM, Daveed Vandevoorde wrote:

>
> On Mar 30, 2006, at 4:06 PM, James Widman wrote:
<snip>
>> "enum N" is not an enumerator name; it's an enumeration name (or  
>> an /enum-name/ [7.2p1]), so "enum N" cannot be ignored.
>
> Ah, you're right.  It turns out that the grammar in this area
> has changed since the 1998 standard (as John Spicer pointed
> out to me).  The 1998 version of the standard had
>
>   nested-name-specifier:
>           class-or-namespace-name :: nested-name-specifieropt
>           class-or-namespace-name :: template nested-name-specifier
>
> which meant only classes or namespace names were considered.
> That could be read as meaning that 3.4.3/1 never was reached
> with an enumeration type name, but there is no unanimity on
> that reading.
>
> With the current wording (which was introduced because the
> earlier wording didn't correctly deal with template-dependent
> qualifiers), it's pretty unambiguous that your example is
> ill-formed and we think the standard should not be changed
> in that regard.
>
> I've filed a defect numbered EDGcpfe/7621 to track this.
>
> Cheers,
>
> 	Daveed Vandevoorde
> 	Edison Design Group

Thanks; that should help to simplify our lookup routines ever-so- 
slightly. (:

For those with a superstitious bent, I'd like to point out that this  
week saw a total eclipse of the sun, news of genetically modified  
pigs (perhaps with wings next), and now it's been revealed that GCC  
and EDG have the same front end bug for a case where *every other C++  
front end* appears to get it right.

This is clearly a sign that the end is nigh.  It's apocalypse party  
time. (:


-- 


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



More information about the Gcc-bugs mailing list