March 08, 2007
http://d.puremagic.com/issues/show_bug.cgi?id=1043

           Summary: internal compiler error: in fold_convert, at fold-
                    const.c:1957
           Product: DGCC aka GDC
           Version: 0.23
          Platform: PC
        OS/Version: Linux
            Status: NEW
          Severity: normal
          Priority: P3
         Component: glue layer
        AssignedTo: dvdfrdmn@users.sf.net
        ReportedBy: thomas-dloop@kuehne.cn


# void foo(){
#    int nothing( int delegate(inout int) dg ){
#       return 0;
#    }
#
#    foreach(int x; &nothing){
#       return;
#    }
# }

gdmd-0.23 -O compile/r/return_10_A.d
compile/r/return_10_A.d: In function 'foo':
compile/r/return_10_A.d:18: internal compiler error: in fold_convert, at
fold-const.c:1957
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://bugs.gentoo.org/> for instructions.

Starting program:
/opt/gdc/gdc-0.23/libexec/gcc/x86_64-unknown-linux-gnu/4.1.1/cc1d -O
compile/r/return_10_A.d
 foo nothing __foreachbody1
Analyzing compilation unitPerforming intraprocedural optimizations
Assembling functions:
 foo
Breakpoint 1, fancy_abort (file=0xa60730 "../../gcc-4.1.1/gcc/fold-const.c",
line=1957,
    function=0xa60f01 "fold_convert") at ../../gcc-4.1.1/gcc/diagnostic.c:602
602       internal_error ("in %s, at %s:%d", function, trim_filename (file),
line);
(gdb) bt
#0  fancy_abort (file=0xa60730 "../../gcc-4.1.1/gcc/fold-const.c", line=1957,
    function=0xa60f01 "fold_convert") at ../../gcc-4.1.1/gcc/diagnostic.c:602
#1  0x000000000061557d in fold_convert (type=0x2afe7192d000,
arg=0x2afe719e0370)
    at ../../gcc-4.1.1/gcc/fold-const.c:1956
#2  0x00000000008ae33a in setup_one_parameter (id=0x7fff39a92390,
p=0x2afe71919820, value=0x2afe719e0370,
    fn=0x2afe719d7f00, bb=0x2afe719e4100, vars=0x7fff39a92100) at
../../gcc-4.1.1/gcc/tree-inline.c:1168
#3  0x00000000008ae567 in initialize_inlined_parameters (id=0x7fff39a92390,
args=0x2afe719db930,
    static_chain=0x2afe7191c700, fn=0x2afe719d7f00, bb=0x2afe719e4100)
    at ../../gcc-4.1.1/gcc/tree-inline.c:1226
#4  0x00000000008afc29 in expand_call_inline (bb=0x2afe719e4100,
stmt=0x2afe71918cd0, tp=0x2afe71918d10,
    data=0x7fff39a92390) at ../../gcc-4.1.1/gcc/tree-inline.c:2125
#5  0x00000000008b016d in gimple_expand_calls_inline (bb=0x2afe719e4100,
id=0x7fff39a92390)
    at ../../gcc-4.1.1/gcc/tree-inline.c:2271
#6  0x00000000008b026e in optimize_inline_calls (fn=0x2afe719d7c00) at
../../gcc-4.1.1/gcc/tree-inline.c:2312
#7  0x00000000005053c8 in tree_rest_of_compilation (fndecl=0x2afe719d7c00)
    at ../../gcc-4.1.1/gcc/tree-optimize.c:393
#8  0x00000000004bc28e in d_expand_function (fndecl=0x2afe719d7c00) at
../../gcc-4.1.1/gcc/d/d-lang.cc:1744
#9  0x00000000008b55cd in cgraph_expand_function (node=0x2afe719d8d10)
    at ../../gcc-4.1.1/gcc/cgraphunit.c:1055
#10 0x00000000008b5795 in cgraph_expand_all_functions () at
../../gcc-4.1.1/gcc/cgraphunit.c:1121
#11 0x00000000008b5d1f in cgraph_optimize () at
../../gcc-4.1.1/gcc/cgraphunit.c:1278
#12 0x00000000004bc1dc in d_write_global_declarations () at
../../gcc-4.1.1/gcc/d/d-lang.cc:783
#13 0x0000000000833c27 in compile_file () at ../../gcc-4.1.1/gcc/toplev.c:1004
#14 0x000000000083553d in do_compile () at ../../gcc-4.1.1/gcc/toplev.c:1949
#15 0x00000000008355a1 in toplev_main (argc=3, argv=0x7fff39a926a8) at
../../gcc-4.1.1/gcc/toplev.c:1981
#16 0x000000000050121b in main (argc=3, argv=0x7fff39a926a8) at
../../gcc-4.1.1/gcc/main.c:35

test case:
http://dstress.kuehne.cn/compile/r/return_10_A.d


-- 

July 22, 2007
http://d.puremagic.com/issues/show_bug.cgi?id=1043


dvdfrdmn@users.sf.net changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|                            |FIXED




------- Comment #1 from dvdfrdmn@users.sf.net  2007-07-22 11:07 -------
Fixed as of svn r132 / release 0.24 by earlier changes


--