http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59630
Bug ID: 59630 Summary: [4.7/4.8/4.9 Regression] ICE converting the return type of a builtin function Product: gcc Version: 4.9.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: middle-end Assignee: unassigned at gcc dot gnu.org Reporter: reichelt at gcc dot gnu.org The following valid code snippet (compiled with "-std=c99 -O") triggers an ICE since GCC 4.7.0: ============================================================== _Bool foo() { _Bool (*f)(int) = __builtin_abs; return f(0); } ============================================================== bug.c: In function 'foo': bug.c:3:21: warning: initialization from incompatible pointer type [enabled by default] _Bool (*f)(int) = __builtin_abs; ^ bug.c:5:1: error: non-trivial conversion at assignment } ^ _Bool int _4 = 0; bug.c:5:1: internal compiler error: verify_gimple failed 0x9f1726 verify_gimple_in_cfg(function*) ../../gcc/gcc/tree-cfg.c:4854 0x9195f2 execute_function_todo ../../gcc/gcc/passes.c:1850 0x919f43 execute_todo ../../gcc/gcc/passes.c:1884 Please submit a full bug report, [etc.]