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.]

Reply via email to