The gcc compiler produces an internal compiler error when the option -mlong-double-128 is used on macosX 10.3.5 with gcc 3.4.1. The program (buggcc040910.c) is : int myprintf(const char * format, ...); void main() { myprintf("s=%d %LE\n",sizeof(long double),(long double)1.E0); } The intermerdiate file (buggcc040910.i) is : # 1 "buggcc040910.c" # 1 "<built-in>" # 1 "<command line>" # 1 "buggcc040910.c" int myprintf(const char * format, ...); void main() { myprintf("s=%d %LE\n",sizeof(long double),(long double)1.E0); } The command line is : $ /Volumes/WORK/gastin/gcc341/bin/gcc -c -v -O0 -save-temps -mlong-double-128 buggcc040910.c Reading specs from /Volumes/WORK/gastin/gcc341/lib/gcc/powerpc-apple-darwin7.5.0/3.4.1/specs Configured with: ./configure --prefix=/Volumes/WORK/gastin/gcc341 Thread model: posix gcc version 3.4.1 /Volumes/WORK/gastin/gcc341/libexec/gcc/powerpc-apple-darwin7.5.0/3.4.1/cc1 -E -quiet -v -D__DYNAMIC__ buggcc040910.c -fPIC -mlong-double-128 -O0 -o buggcc040910.i ignoring nonexistent directory "/usr/local/include" ignoring nonexistent directory "/Volumes/WORK/gastin/gcc341/lib/gcc/powerpc-apple-darwin7.5.0/ 3.4.1/../../../../powerpc-apple-darwin7.5.0/include" #include "..." search starts here: #include <...> search starts here: /Volumes/WORK/gastin/gcc341/include /Volumes/WORK/gastin/gcc341/lib/gcc/powerpc-apple-darwin7.5.0/3.4.1/include /usr/include End of search list. /Volumes/WORK/gastin/gcc341/libexec/gcc/powerpc-apple-darwin7.5.0/3.4.1/cc1 -fpreprocessed buggcc040910.i -fPIC -quiet -dumpbase buggcc040910.c -mlong-double-128 -auxbase buggcc040910 -O0 -version -o buggcc040910.s GNU C version 3.4.1 (powerpc-apple-darwin7.5.0) compiled by GNU C version 3.3 20030304 (Apple Computer, Inc. build 1666). GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096 buggcc040910.c: In function `main': buggcc040910.c:5: warning: return type of 'main' is not `int' buggcc040910.c:7: error: insn does not satisfy its constraints: (insn 14 24 25 (set (reg:DI 33 f1) (mem/u/f:DI (lo_sum:SI (reg:SI 2 r2) (const:SI (minus:SI (symbol_ref/u:SI ("*LC1") [flags 0x2]) (symbol_ref:SI ("<pic base>"))))) [0 S8 A64])) 327 {*movdi_internal32} (nil) (nil)) buggcc040910.c:7: internal compiler error: in final_scan_insn, at final.c:2359 Please submit a full bug report, with preprocessed source if appropriate. See <URL:http://gcc.gnu.org/bugs.html> for instructions.
Fixed on the mainline for 4.0.0, since this is not a regression closing as fixed.