From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 24480 invoked by alias); 9 Aug 2002 11:46:07 -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 24437 invoked by uid 71); 9 Aug 2002 11:46:05 -0000 Resent-Date: 9 Aug 2002 11:46:05 -0000 Resent-Message-ID: <20020809114605.24436.qmail@sources.redhat.com> Resent-From: gcc-gnats@gcc.gnu.org (GNATS Filer) Resent-To: nobody@gcc.gnu.org Resent-Cc: gcc-prs@gcc.gnu.org, gcc-bugs@gcc.gnu.org Resent-Reply-To: gcc-gnats@gcc.gnu.org, Jochen_Theis@btopenworld.com Received: (qmail 21888 invoked by uid 61); 9 Aug 2002 11:40:42 -0000 Message-Id: <20020809114042.21887.qmail@sources.redhat.com> Date: Fri, 09 Aug 2002 05:56:00 -0000 From: Jochen_Theis@btopenworld.com Reply-To: Jochen_Theis@btopenworld.com To: gcc-gnats@gcc.gnu.org X-Send-Pr-Version: gnatsweb-2.9.3 (1.1.1.1.2.31) Subject: c++/7550: g++ 3.1 does not compile legal struct declaration under special circumstances X-SW-Source: 2002-08/txt/msg00185.txt.bz2 List-Id: >Number: 7550 >Category: c++ >Synopsis: g++ 3.1 does not compile legal struct declaration under special circumstances >Confidential: no >Severity: critical >Priority: medium >Responsible: unassigned >State: open >Class: rejects-legal >Submitter-Id: net >Arrival-Date: Fri Aug 09 04:46:03 PDT 2002 >Closed-Date: >Last-Modified: >Originator: Jochen Theis >Release: 3.1 (MinGW port) >Organization: >Environment: Windows NT, service pack 4 >Description: The compiler does not accept the following code: template class Array {}; typedef struct { struct { } Array; } TESTSTRUCT; It appears to interpret the token "Array" in the last line to refer to the template class declaration above. The problem does not occur when class Array is not declared as a template class or when the inner struct{} is replaced by a simple type. The problem occurred originally in the file "winnt.h" in the MinGW distribution of GCC 3.1 for some code where a template class Array was also defined before including "winnt.h". >How-To-Repeat: Compile the five code lines in the description with g++ 3.1. >Fix: Unknown >Release-Note: >Audit-Trail: >Unformatted: