From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 17525 invoked by alias); 1 Apr 2003 19:56:01 -0000 Mailing-List: contact gcc-prs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-prs-owner@gcc.gnu.org Received: (qmail 17505 invoked by uid 71); 1 Apr 2003 19:56:00 -0000 Date: Tue, 01 Apr 2003 19:56:00 -0000 Message-ID: <20030401195600.17502.qmail@sources.redhat.com> To: nobody@gcc.gnu.org Cc: gcc-prs@gcc.gnu.org, From: "Chris Kappler" Subject: RE: Re: c++/9726: namespace typedef hides global Reply-To: "Chris Kappler" X-SW-Source: 2003-04/txt/msg00030.txt.bz2 List-Id: The following reply was made to PR c++/9726; it has been noted by GNATS. From: "Chris Kappler" To: "'Chris Kappler'" , , , , , Cc: Subject: RE: Re: c++/9726: namespace typedef hides global Date: Tue, 1 Apr 2003 14:48:12 -0500 This is a multi-part message in MIME format. ------=_NextPart_000_0037_01C2F85D.B9191170 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit trying again after spam blocker replied to me. -----Original Message----- From: Chris Kappler [mailto:ckappler@cisco.com] Sent: Tuesday, April 01, 2003 2:40 PM To: 'gcc-gnats@gcc.gnu.org'; 'gcc-bugs@gcc.gnu.org'; 'nobody@gcc.gnu.org'; 'gcc-prs@gcc.gnu.org'; 'joerg.richter@pdv-fs.de' Subject: Re: c++/9726: namespace typedef hides global http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&database=gcc&pr=97 26 I have attached an example of this bug for which the stated workaround is not sufficient. When including libraries, this type of situation can easily arise. I have been playing with include order, but I'm running out of flexibility. gcc version 3.2 20020927 (prerelease) ------=_NextPart_000_0037_01C2F85D.B9191170 Content-Type: application/octet-stream; name="nmsp.cpp" Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; filename="nmsp.cpp" =0A= =0A= typedef unsigned char uchar; // comment this out and it compiles (a)=0A= =0A= namespace hide_stuff {=0A= =0A= typedef unsigned char uchar;=0A= uchar a,b,c;=0A= =0A= };=0A= =0A= =0A= #include =0A= =0A= using namespace hide_stuff; // OR comment this out and it compiles (b)=0A= =0A= int main() {=0A= =0A= uchar d =3D 5;=0A= =0A= //cout<