http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58970
--- Comment #18 from Bernd Edlinger <bernd.edlinger at hotmail dot de> --- Well, how about this version? Does'nt it look like a much smaller change? --- expr.c.jj 2013-10-31 14:57:05.000000000 +0100 +++ expr.c 2013-11-04 12:51:55.013931114 +0100 @@ -4582,7 +4582,8 @@ get_bit_range (unsigned HOST_WIDE_INT *b HOST_WIDE_INT adjust = bitoffset - *bitpos; gcc_assert ((adjust % BITS_PER_UNIT) == 0); - gcc_assert (*offset != NULL_TREE); + if (*offset == NULL_TREE) + *offset = size_zero_node; *bitpos += adjust; *offset