http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48819
--- Comment #7 from rguenther at suse dot de <rguenther at suse dot de> 2011-04-29 12:40:19 UTC --- On Fri, 29 Apr 2011, ro at CeBiTec dot Uni-Bielefeld.DE wrote: > http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48819 > > --- Comment #6 from ro at CeBiTec dot Uni-Bielefeld.DE <ro at CeBiTec dot > Uni-Bielefeld.DE> 2011-04-29 12:32:34 UTC --- > > --- Comment #5 from Richard Guenther <rguenth at gcc dot gnu.org> > > 2011-04-29 10:44:54 UTC --- > > Issues may arise if build_int_cst is called with NULL_TREE and the value > > is using all HOST_WIDE_INT bits (I suppose 64 on sparc-sun-solaris2?) but > > Indeed. > > > I'm not sure what _CD_ArrayStore is. > > It's contructed in gcc/java/constants.c (build_constant_data_ref). > > > If the patch helps the following should point to the bug in the Java > > frontend: > > I get > > In file included from <built-in>:3:0: > ArrayStore.java:51:0: internal compiler error: in build_int_cst, at > tree.c:1017 > > with the following stacktrace: > > #0 fancy_abort (file=0x910608 "/var/gcc/reghunt/trunk/gcc/tree.c", > line=1017, > function=0x912a28 "build_int_cst") > at /var/gcc/reghunt/trunk/gcc/diagnostic.c:893 > #1 0x005fbc18 in build_int_cst (type=0x0, low=562971428257792) > at /var/gcc/reghunt/trunk/gcc/tree.c:1017 > #2 0x000da1cc in build_constants_constructor () > at /var/gcc/reghunt/trunk/gcc/java/constants.c:547 > #3 0x000b57c8 in make_class_data (type=0xfef33620) > at /var/gcc/reghunt/trunk/gcc/java/class.c:2059 > #4 0x000bba4c in finish_class () > at /var/gcc/reghunt/trunk/gcc/java/class.c:2261 > #5 0x000eeed0 in parse_class_file () > at /var/gcc/reghunt/trunk/gcc/java/jcf-parse.c:1662 > #6 0x000ef34c in parse_zip_file_entries () > at /var/gcc/reghunt/trunk/gcc/java/jcf-parse.c:2103 > #7 0x000f021c in java_parse_file () > at /var/gcc/reghunt/trunk/gcc/java/jcf-parse.c:1933 > #8 0x00440868 in compile_file () at /var/gcc/reghunt/trunk/gcc/toplev.c:579 > #9 do_compile () at /var/gcc/reghunt/trunk/gcc/toplev.c:1913 > #10 0x0044137c in toplev_main (argc=22, argv=0xffbff3b4) > at /var/gcc/reghunt/trunk/gcc/toplev.c:1976 > #11 0x000a5744 in _start () Which shows CONSTRUCTOR_PREPEND_VALUE (d, fold_convert (ptr_type_node, (build_int_cst (NULL_TREE, temp)))); ick. So, I suppose CONSTRUCTOR_PREPEND_VALUE (d, build_int_cst (ptr_type_node, temp)); would fix it as well. Patch is obvious if it works for your testcase. Richard.