From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 4911 invoked by alias); 16 Dec 2008 15:37:11 -0000 Received: (qmail 4672 invoked by uid 48); 16 Dec 2008 15:35:46 -0000 Date: Tue, 16 Dec 2008 15:37:00 -0000 Message-ID: <20081216153546.4671.qmail@sourceware.org> X-Bugzilla-Reason: CC References: Subject: [Bug fortran/38538] ICE with elemental character function In-Reply-To: Reply-To: gcc-bugzilla@gcc.gnu.org To: gcc-bugs@gcc.gnu.org From: "mikael 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-12/txt/msg01618.txt.bz2 ------- Comment #2 from mikael at gcc dot gnu dot org 2008-12-16 15:35 ------- Yes, confirmed. The offending line is: call foo(func("_"//bar())) In trans-expr.c, se->loop is NULL in the gcc_assert: 2844 else if (sym->result->attr.dimension) 2845 { 2846 gcc_assert (se->loop && info); 2847 2848 /* Set the type of the array. */ 2849 tmp = gfc_typenode_for_spec (&ts); 2850 info->dimen = se->loop->dimen; 2851 backtrace: (gdb) bt #0 fancy_abort (file=0xbe0240 "../../src/gcc/fortran/trans-expr.c", line=2846, function=0xbe0b40 "gfc_conv_function_call") at ../../src/gcc/diagnostic.c:711 #1 0x00000000004b2e0a in gfc_conv_function_call (se=0x7fff89088320, sym=0x2738da0, arg=, append_args=) at ../../src/gcc/fortran/trans-expr.c:2846 #2 0x00000000004b367b in gfc_conv_function_expr (se=0x7fff89088320, expr=) at ../../src/gcc/fortran/trans-expr.c:3345 #3 0x00000000004b61d4 in gfc_conv_expr_op (se=0x7fff890884a0, expr=0x27426e0) at ../../src/gcc/fortran/trans-expr.c:1147 #4 0x00000000004b7943 in gfc_conv_string_length (cl=0x2740dd0, expr=, pblock=0x7fff89088870) at ../../src/gcc/fortran/trans-expr.c:328 #5 0x000000000049cd14 in gfc_conv_expr_descriptor (se=, expr=, ss=0x2742380) at ../../src/gcc/fortran/trans-array.c:4929 #6 0x00000000004bd987 in gfc_conv_intrinsic_len (se=0x7fff89088d90, expr=) at ../../src/gcc/fortran/trans-intrinsic.c:2906 #7 0x00000000004c01d4 in gfc_conv_intrinsic_function (se=0x7fff89088d90, expr=0x2741c70) at ../../src/gcc/fortran/trans-intrinsic.c:4682 #8 0x00000000004b3633 in gfc_conv_function_expr (se=0x7fff89088d90, expr=0xb1e) at ../../src/gcc/fortran/trans-expr.c:3328 #9 0x00000000004b76ea in gfc_apply_interface_mapping (mapping=0x7fff89088e30, se=0x7fff89088d90, expr=0x2741c70) at ../../src/gcc/fortran/trans-expr.c:2145 #10 0x000000000049d5bf in gfc_conv_expr_descriptor (se=, expr=, ss=0x27416b0) at ../../src/gcc/fortran/trans-array.c:4721 #11 0x00000000004a06a3 in gfc_conv_array_parameter (se=0x7fff89089030, expr=0x2702b90, ss=0x27416b0, g77=, fsym=0x273add0, proc_name=0x7fff89087bb0 "") at ../../src/gcc/fortran/trans-array.c:5277 #12 0x00000000004b22d4 in gfc_conv_function_call (se=0x7fff890895f0, sym=0x273ab60, arg=0x26b27b0, append_args=) at ../../src/gcc/fortran/trans-expr.c:2691 #13 0x00000000004cf8df in gfc_trans_call (code=, dependency_check=0 '\0') at ../../src/gcc/fortran/trans-stmt.c:356 #14 0x00000000004943c5 in gfc_trans_code (code=0x2738340) at ../../src/gcc/fortran/trans.c:1117 #15 0x00000000004abe6d in gfc_generate_function_code (ns=0x2737200) at ../../src/gcc/fortran/trans-decl.c:3843 #16 0x0000000000493a33 in gfc_generate_module_code (ns=) at ../../src/gcc/fortran/trans.c:1319 #17 0x0000000000461624 in gfc_parse_file () at ../../src/gcc/fortran/parse.c:3855 #18 0x0000000000490c9d in gfc_be_parse_file (set_yydebug=) at ../../src/gcc/fortran/f95-lang.c:236 #19 0x000000000074545d in toplev_main (argc=, argv=) at ../../src/gcc/toplev.c:970 #20 0x00007f6a80694526 in __libc_start_main () from /lib/libc.so.6 #21 0x0000000000405d19 in _start () -- mikael at gcc dot gnu dot org changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Ever Confirmed|0 |1 Last reconfirmed|0000-00-00 00:00:00 |2008-12-16 15:35:45 date| | http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38538