http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53826
Bug #: 53826 Summary: [4.8 Regression] [alpha]: ICE in fold_convert_loc, at fold-const.c:2008 Classification: Unclassified Product: gcc Version: 4.8.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: middle-end AssignedTo: unassig...@gcc.gnu.org ReportedBy: ubiz...@gmail.com Host: x86_64-pc-linux-gnu Target: alpha-linux-gnu Created attachment 27728 --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=27728 Preprocessed source Recent regression, triggered with libstdc++ testcase: crosscompiler from x86_64-pc-linux-gnu to alpha-linux-gnu: ~/gcc-build-alpha/gcc/cc1plus -O2 -std=gnu++0x -quiet tuple_cat.ii /home/uros/gcc-svn/trunk/libstdc++-v3/testsuite/20_util/tuple/creation_functions/tuple_cat.cc: In function ‘int main()’: /home/uros/gcc-svn/trunk/libstdc++-v3/testsuite/20_util/tuple/creation_functions/tuple_cat.cc:131:1: internal compiler error: in fold_convert_loc, at fold-const.c:2008 } ^ Please submit a full bug report, (gdb) bt #0 internal_error (gmsgid=gmsgid@entry=0xee36c5 "in %s, at %s:%d") at ../../gcc-svn/trunk/gcc/diagnostic.c:951 #1 0x0000000000d3e614 in fancy_abort (file=file@entry=0xe0cbc8 "../../gcc-svn/trunk/gcc/fold-const.c", line=line@entry=2008, function=function@entry=0xe0bba0 "fold_convert_loc") at ../../gcc-svn/trunk/gcc/diagnostic.c:1011 #2 0x000000000082d6be in fold_convert_loc (loc=loc@entry=0, type=0x7ffff146d348, arg=<optimized out>) at ../../gcc-svn/trunk/gcc/fold-const.c:2008 #3 0x0000000000bbc2e6 in build_zero_cst (type=<optimized out>) at ../../gcc-svn/trunk/gcc/tree.c:1668 #4 0x0000000000a783c9 in init_subtree_with_zero (access=access@entry=0x1579060, gsi=gsi@entry=0x7fffffffda50, insert_after=insert_after@entry=0 '\000', loc=loc@entry=2329653) at ../../gcc-svn/trunk/gcc/tree-sra.c:2521 #5 0x0000000000a783a9 in init_subtree_with_zero (access=<optimized out>, gsi=gsi@entry=0x7fffffffda50, insert_after=insert_after@entry=0 '\000', loc=2329653) at ../../gcc-svn/trunk/gcc/tree-sra.c:2532 #6 0x0000000000a80af1 in sra_modify_constructor_assign (gsi=0x7fffffffda50, stmt=<synthetic pointer>) at ../../gcc-svn/trunk/gcc/tree-sra.c:2815 #7 sra_modify_assign (gsi=0x7fffffffda50, stmt=<synthetic pointer>) at ../../gcc-svn/trunk/gcc/tree-sra.c:2906 #8 sra_modify_function_body () at ../../gcc-svn/trunk/gcc/tree-sra.c:3141 #9 perform_intra_sra () at ../../gcc-svn/trunk/gcc/tree-sra.c:3247 (gdb) f 2 #2 0x000000000082d6be in fold_convert_loc (loc=loc@entry=0, type=0x7ffff146d348, arg=<optimized out>) at ../../gcc-svn/trunk/gcc/fold-const.c:2008 2008 gcc_unreachable (); (gdb) p debug_tree (type) <nullptr_type 0x7ffff146d348 decltype(nullptr) sizes-gimplified public unsigned type_6 DI size <integer_cst 0x7ffff1345700 type <integer_type 0x7ffff13530a8 bitsizetype> constant 64> unit size <integer_cst 0x7ffff1345720 type <integer_type 0x7ffff1353000 sizetype> constant 8> align 8 symtab 0 alias set 20 canonical type 0x7ffff146d348 pointer_to_this <pointer_type 0x7fffeeda4348> reference_to_this <reference_type 0x7fffef114b28>> $3 = void (gdb) p debug_tree (orig) <integer_type 0x7ffff13535e8 int sizes-gimplified public type_6 SI size <integer_cst 0x7ffff1345a80 type <integer_type 0x7ffff13530a8 bitsizetype> constant 32> unit size <integer_cst 0x7ffff1345aa0 type <integer_type 0x7ffff1353000 sizetype> constant 4> align 32 symtab 0 alias set 2 canonical type 0x7ffff13535e8 precision 32 min <integer_cst 0x7ffff1345a20 -2147483648> max <integer_cst 0x7ffff1345a40 2147483647> pointer_to_this <pointer_type 0x7ffff13602a0> reference_to_this <reference_type 0x7ffff04bf2a0>> $4 = void gcc needs to handle NULLPTR_TYPE here.