Compilation of this test file with versions of gcc-4.5 dated 20090528 to 20100107 produce a fatal internal compiler error; comparable versions of gcc-4.3 and gcc-4.4 do not have this problem:
% cat bug003.c extern int (isinfl)(long double); int bugfun(long double x, long double y) { int result; if (isinfl(x)) result = isinfl(y); else { int kx, ky; kx = ky = 1; result = (kx == ky); } return (result); } % gcc-4.5-20100107 -g -c bug003.c bug003.c: In function 'bugfun': bug003.c:9:9: internal compiler error: in expand_builtin_interclass_mathfn, at builtins.c:2313 Please submit a full bug report, with preprocessed source if appropriate. See <http://gcc.gnu.org/bugs.html> for instructions. A test with gcc-4.5-20090528 on IA-32 (triplets i686-pc-linux-gnu) produces a similar report: % gcc-4.5-20090528 -g -c bug003.c bug003.c: In function 'bugfun': bug003.c:9: internal compiler error: in expand_builtin_interclass_mathfn, at builtins.c:2297 -- Summary: internal compiler error: in expand_builtin_interclass_mathfn, at builtins.c:2313 Product: gcc Version: 4.5.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: beebe at math dot utah dot edu GCC build triplet: x86_64-unknown-linux-gnu GCC host triplet: x86_64-unknown-linux-gnu GCC target triplet: x86_64-unknown-linux-gnu http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43730