From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 5661 invoked by alias); 3 Jun 2004 19:12:43 -0000 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 Received: (qmail 5611 invoked by alias); 3 Jun 2004 19:12:42 -0000 Date: Thu, 03 Jun 2004 19:12:00 -0000 From: "gcc-bugzilla at gcc dot gnu dot org" To: gcc-bugs@gcc.gnu.org Message-ID: <20040603191239.15801.v13@priest.com> Reply-To: gcc-bugzilla@gcc.gnu.org Subject: [Bug c++/15801] New: g++ fails to identify member variables in templates X-Bugzilla-Reason: CC X-SW-Source: 2004-06/txt/msg00366.txt.bz2 List-Id: g++ produces bad error for member variables. See how-to-repeat. This error is triggered in kde 3.3 / kdeaddons. Environment: System: Linux hell.hell.gr 2.6.6 #35 Sat May 29 20:08:29 EEST 2004 i686 unknown unknown GNU/Linux Architecture: i686 host: i686-pc-linux-gnu build: i686-pc-linux-gnu target: i686-pc-linux-gnu configured with: ../gcc-3.4.0/configure --enable-threads=posix --prefix=/usr --enable-languages=c,c++ --enable-shared --with-arch=pentium3 --with-cpu=pentium3 --enable-__cxa_atexit How-To-Repeat: Using this source: template struct A { int var1; } template struct B : public A { void a() { int var2 = var1; } } gives: $ g++ a.c -c -o a.o a.c: In member function `void B::a()': a.c:10: error: `var1' undeclared (first use this function) a.c:10: error: (Each undeclared identifier is reported only once for each function it appears in.) ------- Additional Comments From v13 at priest dot com 2004-06-03 19:12 ------- Fix: This will make it work as expected: void a() { - int var2 = var1; + int var2 = this->var1; } -- Summary: g++ fails to identify member variables in templates Product: gcc Version: 3.4 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: v13 at priest dot com CC: gcc-bugs at gcc dot gnu dot org GCC build triplet: i686-pc-linux-gnu GCC host triplet: i686-pc-linux-gnu GCC target triplet: i686-pc-linux-gnu http://gcc.gnu.org/bugzilla/show_bug.cgi?id=15801