From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 30675 invoked by alias); 28 Mar 2008 21:42:04 -0000 Received: (qmail 30500 invoked by uid 48); 28 Mar 2008 21:41:21 -0000 Date: Fri, 28 Mar 2008 21:42:00 -0000 Subject: [Bug c/35744] New: [4.1/4.2/4.3/4.4 regression] ICE attributes for invalid types X-Bugzilla-Reason: CC Message-ID: Reply-To: gcc-bugzilla@gcc.gnu.org To: gcc-bugs@gcc.gnu.org From: "reichelt at gcc dot gnu dot org" Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org X-SW-Source: 2008-03/txt/msg02309.txt.bz2 The following invalid code snippets triggers an ICE since GCC 4.1.0: ========================================= struct A { void x[1] __attribute__((packed)); }; ========================================= bug.c:3: error: declaration of 'x' as array of voids bug.c:3: internal compiler error: tree check: expected class 'type', have 'exceptional' (error_mark) in handle_packed_attribute, at c-common.c:4653 Please submit a full bug report, [etc.] Also other attributes applied to invalid variables cause ICEs in various places, e.g. ================================================= typedef char x[N] __attribute__((aligned(4))); ================================================= bug.c:1: error: 'N' undeclared here (not in a function) bug.c:1: internal compiler error: tree check: expected class 'type', have 'exceptional' (error_mark) in build_variant_type_copy, at tree.c:4180 Please submit a full bug report, [etc.] ================================================= void x[1] __attribute__((vector_size(8))); ================================================= bug.c:1: error: declaration of 'x' as array of voids bug.c:1: internal compiler error: tree check: expected class 'type', have 'exceptional' (error_mark) in handle_vector_size_attribute, at c-common.c:6070 Please submit a full bug report, [etc.] ================================================= void x[1] __attribute__((may_alias)); ================================================= bug.c:1: error: declaration of 'x' as array of voids bug.c:1: internal compiler error: tree check: expected class 'type', have 'exceptional' (error_mark) in decl_attributes, at attribs.c:355 Please submit a full bug report, [etc.] -- Summary: [4.1/4.2/4.3/4.4 regression] ICE attributes for invalid types Product: gcc Version: 4.4.0 Status: UNCONFIRMED Keywords: ice-on-invalid-code, error-recovery, monitored Severity: normal Priority: P3 Component: c AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: reichelt at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35744