From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 5386 invoked by alias); 24 Mar 2003 17: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 5346 invoked by uid 71); 24 Mar 2003 17:56:01 -0000 Resent-Date: 24 Mar 2003 17:56:01 -0000 Resent-Message-ID: <20030324175601.5343.qmail@sources.redhat.com> Resent-From: gcc-gnats@gcc.gnu.org (GNATS Filer) Resent-Cc: gcc-prs@gcc.gnu.org, gcc-bugs@gcc.gnu.org, aj@suse.de Resent-Reply-To: gcc-gnats@gcc.gnu.org, zlomj9am@artax.karlin.mff.cuni.cz Received: (qmail 31840 invoked by uid 48); 24 Mar 2003 17:50:33 -0000 Message-Id: <20030324175033.31839.qmail@sources.redhat.com> Date: Mon, 24 Mar 2003 17:56:00 -0000 From: zlomj9am@artax.karlin.mff.cuni.cz Reply-To: zlomj9am@artax.karlin.mff.cuni.cz To: gcc-gnats@gcc.gnu.org Cc: aj@suse.de X-Send-Pr-Version: gnatsweb-2.9.3 (1.1.1.1.2.31) X-GNATS-Notify: aj@suse.de Subject: c++/10202: [3.3/3.4] ICE in int_mode_for_mode, at stor-layout.c X-SW-Source: 2003-03/txt/msg01607.txt.bz2 List-Id: >Number: 10202 >Category: c++ >Synopsis: [3.3/3.4] ICE in int_mode_for_mode, at stor-layout.c >Confidential: no >Severity: serious >Priority: medium >Responsible: unassigned >State: open >Class: ice-on-legal-code >Submitter-Id: net >Arrival-Date: Mon Mar 24 17:56:01 UTC 2003 >Closed-Date: >Last-Modified: >Originator: zlomj9am@artax.karlin.mff.cuni.cz >Release: 3.3/3.4 >Organization: >Environment: ia64 linux >Description: When there is a forward declaration of struct and then a full declaration the problem appears. The DECL_RTL of the tree has VOIDmode and it is not updated to something better (BLKmode). This causes an ICE in int_mode_for_mode(VOIDmode), at stor-layout.c. The problem is very similar to the stor-layout.c ICE caused for C code. Surprisingly I can reproduce it only on ia64 from the platforms I tested. #0 fancy_abort (file=0x4000000000e77468 "../../gcc/stor-layout.c", line=306, function=0x4000000000e77578 "int_mode_for_mode") at ../../gcc/diagnostic.c:1367 #1 0x4000000000a32150 in int_mode_for_mode (mode=VOIDmode) at ../../gcc/stor-layout.c:306 #2 0x400000000049e120 in extract_bit_field (str_rtx=0x200000000032fd60, bitsize=32, bitnum=0, unsignedp=0, target=0x0, mode=SImode, tmode=SImode, total_size=-1) at ../../gcc/expmed.c:1062 #3 0x400000000050b260 in expand_expr (exp=0x20000000003761f0, target=0x0, tmode=VOIDmode, modifier=EXPAND_NORMAL) at ../../gcc/expr.c:7551 #4 0x4000000000541380 in expand_expr (exp=0x2000000000376250, target=0x0, tmode=QImode, modifier=EXPAND_NORMAL) at ../../gcc/expr.c:9484 #5 0x4000000000512080 in expand_expr (exp=0x20000000003762e0, target=0x0, tmode=VOIDmode, modifier=EXPAND_NORMAL) at ../../gcc/expr.c:7869 #6 0x40000000003e7360 in do_jump (exp=0x20000000003762e0, if_false_label=0x20000000003ada40, if_true_label=0x0) at ../../gcc/dojump.c:564 #7 0x4000000000a06d10 in expand_start_cond (cond=0x20000000003762e0, exitflag=0) at ../../gcc/stmt.c:2460 #8 0x40000000002b4e30 in genrtl_if_stmt (t=0x20000000003b0040) at ../../gcc/c-semantics.c:410 #9 0x40000000002bca50 in expand_stmt (t=0x20000000003b0040) at ../../gcc/c-semantics.c:837 #10 0x40000000002bb290 in genrtl_compound_stmt (t=0x2000000000376070) at ../../gcc/c-semantics.c:727 #11 0x40000000002bca80 in expand_stmt (t=0x2000000000376070) at ../../gcc/c-semantics.c:841 #12 0x40000000002bb290 in genrtl_compound_stmt (t=0x2000000000375fe0) at ../../gcc/c-semantics.c:727 #13 0x40000000002bca80 in expand_stmt (t=0x2000000000375fe0) at ../../gcc/c-semantics.c:841 #14 0x4000000000212b80 in expand_body (fn=0x20000000003aaa40) at ../../gcc/cp/semantics.c:2405 #15 0x40000000001923d0 in cp_parser_function_definition_after_declarator (parser=0x20000000003acd80, inline_p=false) at ../../gcc/cp/parser.c:13862 #16 0x40000000001921f0 in cp_parser_function_definition_from_specifiers_and_declarator (parser=0x20000000003acd80, decl_specifiers=0x20000000003acd80, attributes=0x0, declarator=0x20000000003aaa40) at ../../gcc/cp/parser.c:13777 #17 0x4000000000186820 in cp_parser_init_declarator (parser=0x20000000003acd80, decl_specifiers=0x2000000000375e60, prefix_attributes=0x0, function_definition_allowed_p=true, member_p=false, function_definition_p=0x60000fffffffae71) at ../../gcc/cp/parser.c:9616 #18 0x4000000000a32150 in int_mode_for_mode (mode=VOIDmode) at ../../gcc/stor-layout.c:306 >How-To-Repeat: cc1plus x.i >Fix: >Release-Note: >Audit-Trail: >Unformatted: ----gnatsweb-attachment---- Content-Type: application/octet-stream; name="x.i" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="x.i" ZXh0ZXJuIHN0cnVjdCBfc210cF9hY2NvdW50IHNtdHBfYWNjb3VudHNbXTsKdHlwZWRlZiBzdHJ1 Y3QgX3NtdHBfYWNjb3VudCB7CiAgICAgICAgaW50IGZsYWdzOwp9IFNtdHBfQWNjb3VudDsKCnZv aWQgZ2V0X3NtdHBfaG9zdF9pbmZvICgpCnsKCWlmICggc210cF9hY2NvdW50c1swXS5mbGFncyAm IDB4MDEgKQoJCWdldF9zbXRwX2hvc3RfaW5mbygpOwp9Cg==