$ cat /home/ryan/ice.i typedef void (*malloc_error_fptr_t)(const char * const __file, unsigned int __lineno, const char * const __msg); extern void (*_malloc_error)(const char *file, unsigned int lineno, const char *msg);
void _malloc_error_internal(const char * const fn); malloc_error_fptr_t _malloc_error = _malloc_error_internal; void malloc_abort(int status) { (*_malloc_error)("mprobe", 1, mcheck_error(status)); } $ ./xgcc -B. ~/ice.i /home/ryan/ice.i:5:1: warning: initialization from incompatible pointer type /home/ryan/ice.i: In function âmalloc_abortâ: /home/ryan/ice.i:8:2: warning: passing argument 3 of â_malloc_errorâ makes pointer from integer without a cast /home/ryan/ice.i:8:2: note: expected âconst char * constâ but argument is of type âintâ /home/ryan/ice.i:9:1: error: non-trivial conversion at assignment void (*<T47e>) (const char * const, unsigned int, const char * const) void (*<T481>) (const char *, unsigned int, const char *) _malloc_error.0 = _malloc_error; /home/ryan/ice.i:9: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. $ ./xgcc -B. -v Reading specs from ./specs Target: i686-pc-linux-gnu Configured with: ../configure --enable-languages=c --disable-bootstrap Thread model: posix gcc version 4.5.0 20090610 (experimental) [trunk revision 148341] (GCC) -- Summary: ICE: verify_gimple failed Product: gcc Version: 4.5.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: middle-end AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: rmansfield at qnx dot com GCC build triplet: i686-pc-linux-gnu GCC host triplet: i686-pc-linux-gnu GCC target triplet: i686-pc-linux-gnu http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40401