From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 15827 invoked by alias); 28 Feb 2002 21:06: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 15797 invoked by uid 71); 28 Feb 2002 21:06:00 -0000 Resent-Date: 28 Feb 2002 21:06:00 -0000 Resent-Message-ID: <20020228210600.15795.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, snyder@fnal.gov Received:(qmail 9548 invoked from network); 28 Feb 2002 21:01:50 -0000 Received: from unknown (HELO karma.fnal.gov) (131.225.227.24) by sources.redhat.com with SMTP; 28 Feb 2002 21:01:50 -0000 Received: (from sss@localhost) by karma.fnal.gov (8.11.6/8.11.6) id g1SKxxh07471; Thu, 28 Feb 2002 14:59:59 -0600 Message-Id:<200202282059.g1SKxxh07471@karma.fnal.gov> Date: Thu, 28 Feb 2002 14:36:00 -0000 From: snyder@fnal.gov Reply-To: snyder@fnal.gov To: gcc-gnats@gcc.gnu.org X-Send-Pr-Version:3.113 Subject: c++/5796: g++ 3.1: template class problem X-SW-Source: 2002-02/txt/msg00767.txt.bz2 List-Id: >Number: 5796 >Category: c++ >Synopsis: g++ 3.1: template class problem >Confidential: no >Severity: serious >Priority: medium >Responsible: unassigned >State: open >Class: rejects-legal >Submitter-Id: net >Arrival-Date: Thu Feb 28 13:06:00 PST 2002 >Closed-Date: >Last-Modified: >Originator: scott snyder >Release: 3.1 20020227 (prerelease) >Organization: >Environment: System: Linux karma 2.4.9-13 #1 Tue Oct 30 20:11:04 EST 2001 i686 unknown Architecture: i686 host: i686-pc-linux-gnu build: i686-pc-linux-gnu target: i686-pc-linux-gnu configured with: ../egcs/configure --prefix=/usr/local/egcs --enable-threads=posix --enable-long-long --enable-languages=c,c++,f77 >Description: g++ gives a bogus error message compiling the source below: $ cc1plus -quiet x.cc x.cc: In function `void init_mapping(X*)': x.cc:9: invalid use of undefined type `struct X' x.cc:3: forward declaration of `struct X' Note that the error goes away if the line mapping[0].first = 0; is changed to the equivalent mapping->first = 0; >How-To-Repeat: --------------------------------------------------------------- template struct X { int first; }; void init_mapping (X* mapping) { mapping[0].first = 0; } --------------------------------------------------------------- >Fix: >Release-Note: >Audit-Trail: >Unformatted: