egcs 19990228 -O2 internal error

Alexander L. Belikoff abel@bfr.co.il
Thu Mar 4 09:50:00 GMT 1999


Hello everybody -

Here is the story:

1. The machine: Alpha 21264 (ev6) dual-CPU
		RedHat Linux 5.2, kernel 2.2.1 (SMP)


2. The compiler:

$ gcc -v
Reading specs from /bb/abel2/egcs/lib/gcc-lib/alphaev6-unknown-linux-gnu/egcs-2.93.10/specs
gcc version egcs-2.93.10 19990228 (gcc2 ss-980929 experimental)


3. The pristine file (preprocessed version follows):

===============================================
#include <string.h>


typedef struct foo_t {
  double foo, bar;
} foo_t;


void 
foobar(void)
{
  long maddr;
  foo_t payment;

  memcpy(maddr, (long)(&payment), sizeof(foo_t));
}
===============================================


4. The error:

$ gcc -c egcs_crash1.c
egcs_crash1.c: In function `foobar':
egcs_crash1.c:15: warning: passing arg 1 of `memcpy' makes pointer from integer without a cast
egcs_crash1.c:15: warning: passing arg 2 of `memcpy' makes pointer from integer without a cast


$ gcc -O2 -c egcs_crash1.c
egcs_crash1.c: In function `foobar':
egcs_crash1.c:15: warning: passing arg 1 of `memcpy' makes pointer from integer without a cast
egcs_crash1.c:15: warning: passing arg 2 of `memcpy' makes pointer from integer without a cast
./config/alpha/alpha.c:2174: Internal compiler error in function alpha_expand_block_move
Please submit a full bug report to `egcs-bugs@egcs.cygnus.com'.
See <URL: http://egcs.cygnus.com/faq.html#bugreport > for details.


5. The cpp'ed source:



More information about the Gcc-bugs mailing list