On 1/2/19 2:20 PM, Martin Liška wrote:
On 12/30/18 12:41 AM, Martin Jambor wrote:
Any comments welcome,

Hi Martin.

I'll run smoke test for OBS Factory with -flto flags enabled for the patch.
So far I've noticed that current trunk can't profilebootstrap with following
configuration:

$ ../configure --enable-languages=c,c++,d --disable-multilib 
--disable-libsanitizer --disable-werror
...
$ make profiledbootstrap
...
during RTL pass: expand
/home/mliska/Programming/gcc/libphobos/src/std/range/package.d: In function 
‘sanitize’:
/home/mliska/Programming/gcc/libphobos/src/std/range/package.d:10053:5: 
internal compiler error: in make_decl_rtl, at varasm.c:1333
10053 |     return SortedRange!(Unqual!R, pred)(r);
       |     ^
0xa97a21 make_decl_rtl(tree_node*)
        ../../gcc/varasm.c:1333
0x1086da5 expand_expr_real_1(tree_node*, rtx_def*, machine_mode, 
expand_modifier, rtx_def**, bool)
        ../../gcc/expr.c:9938
0x151427c expand_expr
        ../../gcc/expr.h:279
0x151427c expand_expr_addr_expr_1
        ../../gcc/expr.c:7945
0x1086417 expand_expr_addr_expr
        ../../gcc/expr.c:8066
0x1086417 expand_expr_real_1(tree_node*, rtx_def*, machine_mode, 
expand_modifier, rtx_def**, bool)
        ../../gcc/expr.c:11221
0x1085909 expand_expr_real_1(tree_node*, rtx_def*, machine_mode, 
expand_modifier, rtx_def**, bool)
        ../../gcc/expr.c:10303
0x1514648 expand_assignment(tree_node*, tree_node*, bool)
        ../../gcc/expr.c:5352
0x101a32e expand_gimple_stmt_1
        ../../gcc/cfgexpand.c:3746
0x101a32e expand_gimple_stmt
        ../../gcc/cfgexpand.c:3844
0x10185ad expand_gimple_basic_block
        ../../gcc/cfgexpand.c:5880
0x1015e31 execute
        ../../gcc/cfgexpand.c:6502

Martin


Hi.

Much easier to reproduce:

$ ~/Programming/gcc/configure --enable-languages=c,c++,fortran,d 
--prefix=/home/marxin/bin/gcc --disable-bootstrap --disable-multilib 
--without-isl
$ make
...
/bin/sh ../libtool --tag=D   --mode=compile /dev/shm/objdir/./gcc/gdc 
-B/dev/shm/objdir/./gcc/ -B/home/marxin/bin/gcc/x86_64-pc-linux-gnu/bin/ 
-B/home/marxin/bin/gcc/x86_64-pc-linux-gnu/lib/ -isystem 
/home/marxin/bin/gcc/x86_64-pc-linux-gnu/include -isystem 
/home/marxin/bin/gcc/x86_64-pc-linux-gnu/sys-include    -fPIC -g -O2  -nostdinc 
-I /home/marxin/Programming/gcc/libphobos/src -I 
/home/marxin/Programming/gcc/libphobos/libdruntime -I ../libdruntime -I . -c -o 
std/uni.lo /home/marxin/Programming/gcc/libphobos/src/std/uni.d
libtool: compile:  /dev/shm/objdir/./gcc/gdc -B/dev/shm/objdir/./gcc/ 
-B/home/marxin/bin/gcc/x86_64-pc-linux-gnu/bin/ 
-B/home/marxin/bin/gcc/x86_64-pc-linux-gnu/lib/ -isystem 
/home/marxin/bin/gcc/x86_64-pc-linux-gnu/include -isystem 
/home/marxin/bin/gcc/x86_64-pc-linux-gnu/sys-include -fPIC -g -O2 -nostdinc -I 
/home/marxin/Programming/gcc/libphobos/src -I 
/home/marxin/Programming/gcc/libphobos/libdruntime -I ../libdruntime -I . -c 
/home/marxin/Programming/gcc/libphobos/src/std/uni.d -fversion=Shared -o 
std/.libs/uni.o
during RTL pass: expand
/home/marxin/Programming/gcc/libphobos/src/std/range/package.d: In function 
‘sanitize’:
/home/marxin/Programming/gcc/libphobos/src/std/range/package.d:10053:5: 
internal compiler error: in make_decl_rtl, at varasm.c:1337
10053 |     return SortedRange!(Unqual!R, pred)(r);
      |     ^
0x733287 make_decl_rtl(tree_node*)
        /home/marxin/Programming/gcc/gcc/varasm.c:1333
0xa9dcda expand_expr_real_1(tree_node*, rtx_def*, machine_mode, 
expand_modifier, rtx_def**, bool)
        /home/marxin/Programming/gcc/gcc/expr.c:9953
0xaa7b5e expand_expr
        /home/marxin/Programming/gcc/gcc/expr.h:279
0xaa7b5e expand_expr_addr_expr_1
        /home/marxin/Programming/gcc/gcc/expr.c:7960
0xa9c3d4 expand_expr_addr_expr
        /home/marxin/Programming/gcc/gcc/expr.c:8081
0xa9c3d4 expand_expr_real_1(tree_node*, rtx_def*, machine_mode, 
expand_modifier, rtx_def**, bool)
        /home/marxin/Programming/gcc/gcc/expr.c:11236
0xa9d605 expand_expr
        /home/marxin/Programming/gcc/gcc/expr.h:279
0xa9d605 expand_expr_real_1(tree_node*, rtx_def*, machine_mode, 
expand_modifier, rtx_def**, bool)
        /home/marxin/Programming/gcc/gcc/expr.c:10318
0xaa9ae5 expand_expr
        /home/marxin/Programming/gcc/gcc/expr.h:279
0xaa9ae5 expand_assignment(tree_node*, tree_node*, bool)
        /home/marxin/Programming/gcc/gcc/expr.c:5367
0x98b547 expand_gimple_stmt_1
        /home/marxin/Programming/gcc/gcc/cfgexpand.c:3746
0x98b547 expand_gimple_stmt
        /home/marxin/Programming/gcc/gcc/cfgexpand.c:3844
0x98da9f expand_gimple_basic_block
        /home/marxin/Programming/gcc/gcc/cfgexpand.c:5880
0x992837 execute
        /home/marxin/Programming/gcc/gcc/cfgexpand.c:6503

so ICE in D language run-time library.

Martin

Reply via email to