From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 6511 invoked by alias); 31 Mar 2006 05:36:15 -0000 Received: (qmail 6491 invoked by alias); 31 Mar 2006 05:36:13 -0000 Date: Fri, 31 Mar 2006 05:36:00 -0000 Message-ID: <20060331053613.6490.qmail@sourceware.org> X-Bugzilla-Reason: CC References: Subject: [Bug c++/26950] Error diagnostic not issued for unacceptable result of lookup for a name used in a nested-name-specifier In-Reply-To: Reply-To: gcc-bugzilla@gcc.gnu.org To: gcc-bugs@gcc.gnu.org From: "widman at gimpel dot com" Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org X-SW-Source: 2006-03/txt/msg03060.txt.bz2 List-Id: ------- 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: >> "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