http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48763
Summary: Inliner type ICE Product: gcc Version: 4.6.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: lto AssignedTo: unassig...@gcc.gnu.org ReportedBy: hubi...@gcc.gnu.org Hi, Mozilla now gets the following ICE: jh@evans:~> cat t1.C extern "C" { void StoreSpline(int ax, int ay, int bx, int by, int cx, int cy, int dx, int dy); } static int crash_ax; static int crash_ay; static int crash_bx; static int crash_by; static int crash_cx; static int crash_cy; static int crash_dx; static int crash_dy; void StoreSpline(int ax, int ay, int bx, int by, int cx, int cy, int dx, int dy) { crash_ax = ax; crash_ay = ay; crash_bx = bx; crash_by = by; crash_cx = cx; crash_cy = cy; crash_dx = dx; crash_dy = dy; } jh@evans:~> cat t2.c void StoreSpline(int ax, int ay, int bx, int by, int cx, double cy, int dx, int dy); int a; double b; main(void) { StoreSpline (a,a,a,a,a,b,a,a); } jh@evans:~> /abuild/jh/trunk-install/bin/gcc -O3 -flto t2.c t1.C In file included from :1:0: t2.c: In function 'main': t2.c:4:1: error: conversion of register to a different size VIEW_CONVERT_EXPR<int>(b.1_3); cy_11 = VIEW_CONVERT_EXPR<int>(b.1_3); t2.c:4:1: internal compiler error: verify_gimple failed Please submit a full bug report, with preprocessed source if appropriate. See <http://gcc.gnu.org/bugs.html> for instructions. lto-wrapper: /abuild/jh/trunk-install/bin/gcc returned 1 exit status collect2: lto-wrapper returned 1 exit status Seems the code marking edges uninlinable during type merging doen't quite do the job.