gcc -O2 -finline-functions -c gcc_bug.c gcc_bug.c: In function `main': gcc_bug.c:8: internal compiler error: in convert_move, at expr.c:597 Please submit a full bug report, with preprocessed source if appropriate.
cat gcc_bug.c float Flt (float a) { return a; } int main(void) { typedef void *(*func_t) (float); union { void *ptr; float flt; } ret; ret.ptr = ((func_t) Flt) (3.14); return 0; } gcc -v Reading specs from /usr/lib/gcc-lib/i486-linux/3.3.4/specs Configured with: ../src/configure -v --enable-languages=c,c++,java,f77,pascal,objc,ada,treelang --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-gxx-include-dir=/usr/include/c++/3.3 --enable-shared --with-system-zlib --enable-nls --without-included-gettext --enable-__cxa_atexit --enable-clocale=gnu --enable-debug --enable-java-gc=boehm --enable-java-awt=xlib --enable-objc-gc i486-linux Thread model: posix gcc version 3.3.4 (Debian 1:3.3.4-13) -- Summary: (invalid) convertion of inlined returned floatings Product: gcc Version: 3.3.4 Status: UNCONFIRMED Severity: normal Priority: P2 Component: c AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: laurent dot deniau at cern dot ch CC: gcc-bugs at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18012