kamaraju kusumanchi wrote: >> I suspect you have something like >> >> bool overflow_p = false; >> double_int temp; >> if (subtract_p) >> temp = double_int_neg (b->data); >> else >> temp = b->data; >> bool unsigned_p = UNSIGNED_FIXED_POINT_MODE_P (a->mode); >> int i_f_bits = GET_MODE_IBIT (a->mode) + GET_MODE_FBIT (a->mode); >> >> but this won't work because it mixes declarations and code. >> >> This fixes it: >> >> bool overflow_p = false; >> bool unsigned_p; >> int i_f_bits; >> double_int temp; >> if (subtract_p) >> temp = double_int_neg (b->data); >> else >> temp = b->data; >> unsigned_p = UNSIGNED_FIXED_POINT_MODE_P (a->mode); >> i_f_bits = GET_MODE_IBIT (a->mode) + GET_MODE_FBIT (a->mode); >> > > Ok. That fixed it. But now I am stuck with a internal errror. The bug > reports can be found at > http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38124 > http://sourceware.org/bugzilla/show_bug.cgi?id=7032 > > I had to file two bug reports since, the gcc guys think it is a > problem with binutils. The binutils' maintainer thinks it is a problem > with gcc! No, has says "a compiler bug". That means the compiler used to build binutils. > Any suggestions? That's nasty. It looks like your binutils perhaps may have been miscompiled. I'd rebuild binutils with no optimization. See if you still get the internal error when assembling eh_alloc.s. Everyone else can assemble that file, so it's probably not a binutils bug. Andrew.