http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51483
Bug #: 51483 Summary: [4.7 regression] Ada's cstand.adb:Register_Float_Type makes invalid assumptions about FP representation Classification: Unclassified Product: gcc Version: 4.7.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: ada AssignedTo: unassig...@gcc.gnu.org ReportedBy: mi...@it.uu.se Redirected from PR48835: Attempting to build an Ada-enabled gcc-4.7 cross to m68k-linux fails with: /tmp/objdir/./gcc/xgcc -B/tmp/objdir/./gcc/ -B/home/mikpe/pkgs/linux-x86/cross-m68k/m68k-unknown-linux/bin/ -B/home/mikpe/pkgs/linux-x86/cross-m68k/m68k-unknown-linux/lib/ -isystem /home/mikpe/pkgs/linux-x86/cross-m68k/m68k-unknown-linux/include -isystem /home/mikpe/pkgs/linux-x86/cross-m68k/m68k-unknown-linux/sys-include -c -g -O2 -W -Wall -gnatpg -nostdinc a-assert.adb -o a-assert.o +===========================GNAT BUG DETECTED==============================+ | 4.7.0 20111203 (experimental) (m68k-unknown-linux) GCC error: | | in fp_size_to_prec, at ada/gcc-interface/misc.c:781 | (you don't need the m68k-linux Ada support patch for this, vanilla upstream gcc sources suffice) This worked up to r177136, but broke due to r177137+177141. Eric Botcazou commented: > No, but the new code (cstand.adb:Register_Float_Type) makes an invalid > assumption about the size of a FP mode given its precision and alignment, > instead of using the proper interface. enumerate_modes should probably pass > GET_MODE_BITSIZE to its callback. I'd suggest opening a new regression PR for > this problem.