$ 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

Reply via email to