From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 3201 invoked by alias); 5 Aug 2008 11:44:56 -0000 Received: (qmail 3188 invoked by uid 22791); 5 Aug 2008 11:44:55 -0000 X-Spam-Check-By: sourceware.org Received: from exprod6og113.obsmtp.com (HELO exprod6og113.obsmtp.com) (64.18.1.31) by sourceware.org (qpsmtpd/0.31) with ESMTP; Tue, 05 Aug 2008 11:44:01 +0000 Received: from source ([192.150.11.134]) by exprod6ob113.postini.com ([64.18.5.12]) with SMTP; Tue, 05 Aug 2008 04:43:58 PDT Received: from inner-relay-3.eur.adobe.com ([192.150.8.236]) by outbound-smtp-1.corp.adobe.com (8.12.10/8.12.10) with ESMTP id m75BeIG3029374; Tue, 5 Aug 2008 04:40:18 -0700 (PDT) Received: from fe2.corp.adobe.com (fe2.corp.adobe.com [10.8.192.72]) by inner-relay-3.eur.adobe.com (8.12.10/8.12.9) with ESMTP id m75BhsqJ001285; Tue, 5 Aug 2008 04:43:54 -0700 (PDT) Received: from namailgen.corp.adobe.com ([10.8.192.91]) by fe2.corp.adobe.com with Microsoft SMTPSVC(6.0.3790.1830); Tue, 5 Aug 2008 04:43:53 -0700 Received: from 10.32.16.88 ([10.32.16.88]) by namailgen.corp.adobe.com ([10.8.192.91]) via Exchange Front-End Server namail.corp.adobe.com ([10.8.189.100]) with Microsoft Exchange Server HTTP-DAV ; Tue, 5 Aug 2008 11:43:53 +0000 User-Agent: Microsoft-Entourage/12.11.0.080522 Date: Tue, 05 Aug 2008 11:44:00 -0000 Subject: Re: namespace and class within with similar name From: John Love-Jensen To: Alexander Werth , GCC-help Message-ID: In-Reply-To: <1217890908.21247.17.camel@Jiminy> Mime-version: 1.0 Content-type: text/plain; charset="US-ASCII" Content-transfer-encoding: 7bit X-IsSubscribed: yes Mailing-List: contact gcc-help-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-help-owner@gcc.gnu.org X-SW-Source: 2008-08/txt/msg00047.txt.bz2 Hi Alexander, > Shouldn't it be clear that I wan't to access class L in > namespace S and not some L of class S in namespace S ? It appears that when you injected the identifiers from namespace S into the global namespace, the ::S::L is ambiguous between namespace S and class S which both are (now) in the global namespace. The compiler is going down the class S path. I think that's a bug. Not that I can cite chapter/verse of ISO 14882, rather I just tested against the EDG front end, and EDG accepted the code. (I have strong confidence that the EDG front end is fully compliant with ISO 14882.) > Any idea besides complaining about why I want to do this at all ? ;) I think you should file a bug. Maybe it will get fixed in GCC 4.4, and if not, probably by 4.5. http://gcc.gnu.org/bugs.html Sincerely, --Eljay