From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 18037 invoked by alias); 1 Jun 2002 13:36:03 -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 18011 invoked by uid 71); 1 Jun 2002 13:36:02 -0000 Resent-Date: 1 Jun 2002 13:36:02 -0000 Resent-Message-ID: <20020601133602.18010.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, bernie@codewiz.org Received:(qmail 17018 invoked by uid 61); 1 Jun 2002 13:27:49 -0000 Message-Id:<20020601132748.17017.qmail@sources.redhat.com> Date: Sat, 01 Jun 2002 06:36:00 -0000 From: bernie@codewiz.org Reply-To: bernie@codewiz.org To: gcc-gnats@gcc.gnu.org X-Send-Pr-Version:gnatsweb-2.9.3 (1.1.1.1.2.31) Subject: c++/6894: lookup of anonymous structure members does not work as in C frontend X-SW-Source: 2002-06/txt/msg00002.txt.bz2 List-Id: >Number: 6894 >Category: c++ >Synopsis: lookup of anonymous structure members does not work as in C frontend >Confidential: no >Severity: serious >Priority: medium >Responsible: unassigned >State: open >Class: rejects-legal >Submitter-Id: net >Arrival-Date: Sat Jun 01 06:36:01 PDT 2002 >Closed-Date: >Last-Modified: >Originator: bernie@codewiz.org >Release: gcc-3.1 >Organization: >Environment: Linux x86 >Description: The C frontend has the unnamed fields extension to allow class-like inheritance by putting an unnamed structure (the base class) as the first field of another structure (the derivate class). The C++ frontend does not reject unnamed fields, but fails to lookup fields contained within the unnamed structure, making this feature useless. >How-To-Repeat: Compile this test case with g++: #include int main(void) { struct Foo { int a; }; struct Bar { struct Foo; }; Bar bar; printf("bar.a = %d", bar.a); return 0; } The reported error is: foo.cpp:7: `struct main()::Bar' has no member named `a' >Fix: >Release-Note: >Audit-Trail: >Unformatted: