From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 30703 invoked by alias); 14 Aug 2002 15: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 30679 invoked by uid 71); 14 Aug 2002 15:56:01 -0000 Resent-Date: 14 Aug 2002 15:56:01 -0000 Resent-Message-ID: <20020814155601.30678.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, Andreas Schwab Received: (qmail 10433 invoked from network); 14 Aug 2002 15:47:24 -0000 Received: from unknown (HELO Cantor.suse.de) (213.95.15.193) by sources.redhat.com with SMTP; 14 Aug 2002 15:47:24 -0000 Received: from Hermes.suse.de (Charybdis.suse.de [213.95.15.201]) by Cantor.suse.de (Postfix) with ESMTP id 5E06D14515 for ; Wed, 14 Aug 2002 17:47:24 +0200 (MEST) Message-Id: <200208141547.g7EFlOwN015149@sykes.suse.de> Date: Wed, 14 Aug 2002 09:04:00 -0000 From: Andreas Schwab To: gcc-gnats@gcc.gnu.org X-Send-Pr-Version: 3.113 Subject: c++/7598: offsetof broken X-SW-Source: 2002-08/txt/msg00285.txt.bz2 List-Id: >Number: 7598 >Category: c++ >Synopsis: offsetof broken >Confidential: no >Severity: critical >Priority: medium >Responsible: unassigned >State: open >Class: ice-on-legal-code >Submitter-Id: net >Arrival-Date: Wed Aug 14 08:56:01 PDT 2002 >Closed-Date: >Last-Modified: >Originator: >Release: 3.3 20020814 (experimental) >Organization: >Environment: System: Linux sykes 2.4.18-SMP #1 SMP Thu May 16 09:03:14 UTC 2002 ia64 unknown unknown GNU/Linux Architecture: ia64 host: ia64-suse-linux-gnu build: ia64-suse-linux-gnu target: ia64-suse-linux-gnu configured with: ../configure --host=ia64-suse-linux --enable-shared --enable-threads --with-system-zlib >Description: The C++ compiler cannot handle offsetof. >How-To-Repeat: $ cat offsetof.cc typedef long unsigned int size_t; struct sigcontext { unsigned long int sc_gr[32]; }; typedef struct ucontext { union { struct { unsigned long _pad[((size_t) &((struct sigcontext *)0)->sc_gr[0])]; } _uc; } _u; } ucontext_t; $ /tmp/cvs/gcc-20020814/Build/gcc/xgcc -B/tmp/cvs/gcc-20020814/Build/gcc/ -S offsetof.cc -v Reading specs from /tmp/cvs/gcc-20020814/Build/gcc/specs Configured with: ../configure --host=ia64-suse-linux --enable-shared --enable-threads --with-system-zlib Thread model: posix gcc version 3.3 20020814 (experimental) /tmp/cvs/gcc-20020814/Build/gcc/cc1plus -quiet -v -iprefix /tmp/cvs/gcc-20020814/Build/gcc/../lib/gcc-lib/ia64-suse-linux/3.3/ -isystem /tmp/cvs/gcc-20020814/Build/gcc/include -D__GNUC__=3 -D__GNUC_MINOR__=3 -D__GNUC_PATCHLEVEL__=0 -D__gnu_linux__ -D__linux -D__linux__ -D_LONGLONG -Dlinux -Dunix -D__gnu_linux__ -D__linux -D__linux__ -D_LONGLONG -D__linux__ -D__unix__ -D__linux -D__unix -Asystem=linux -D_GNU_SOURCE -Acpu=ia64 -Amachine=ia64 -D__ia64 -D__ia64__ -D_LP64 -D__LP64__ -D__ELF__ offsetof.cc -D__GNUG__=3 -quiet -dumpbase offsetof.cc -auxbase offsetof -version -o offsetof.s GNU C++ version 3.3 20020814 (experimental) (ia64-suse-linux) compiled by GNU C version 3.3 20020814 (experimental). ignoring nonexistent directory "/tmp/cvs/gcc-20020814/Build/lib/gcc-lib/ia64-suse-linux/3.3/../../../../include/c++/3.3" ignoring nonexistent directory "/tmp/cvs/gcc-20020814/Build/lib/gcc-lib/ia64-suse-linux/3.3/../../../../include/c++/3.3/ia64-suse-linux" ignoring nonexistent directory "/tmp/cvs/gcc-20020814/Build/lib/gcc-lib/ia64-suse-linux/3.3/../../../../include/c++/3.3/backward" ignoring nonexistent directory "/tmp/cvs/gcc-20020814/Build/lib/gcc-lib/ia64-suse-linux/3.3/include" ignoring nonexistent directory "/tmp/cvs/gcc-20020814/Build/lib/gcc-lib/ia64-suse-linux/3.3/../../../../ia64-suse-linux/include" ignoring nonexistent directory "/usr/local/include/c++/3.3" ignoring nonexistent directory "/usr/local/include/c++/3.3/ia64-suse-linux" ignoring nonexistent directory "/usr/local/include/c++/3.3/backward" ignoring nonexistent directory "NONE/include" ignoring nonexistent directory "/usr/local/lib/gcc-lib/ia64-suse-linux/3.3/include" ignoring nonexistent directory "/usr/local/ia64-suse-linux/include" #include "..." search starts here: #include <...> search starts here: /tmp/cvs/gcc-20020814/Build/gcc/include /usr/local/include /usr/include End of search list. offsetof.cc:12: error: size of member `_pad' is not constant >Fix: >Release-Note: >Audit-Trail: >Unformatted: