public inbox for gcc@gcc.gnu.org
 help / color / mirror / Atom feed
* egcs/gcc internal errors in the recent snapshot
@ 1999-03-11  2:18 Alexander L. Belikoff
  1999-03-31 23:46 ` Alexander L. Belikoff
  0 siblings, 1 reply; 2+ messages in thread
From: Alexander L. Belikoff @ 1999-03-11  2:18 UTC (permalink / raw)
  To: egcs-bugs; +Cc: egcs

Hello everybody -

This is a followup on my old bug report. Now it is about the recent
snapshot...

I. Hardware/software configuration:

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


2. The compiler:

Reading specs from /bb/abel2/egcs/lib/gcc-lib/alphaev6-unknown-linux-gnu/egcs-2.93.11/specs
gcc version egcs-2.93.11 19990307 (gcc2 ss-980929 experimental)


II. Internal error #1

1. The file:

===============================================

#define MAX_BLOCKS 12

#define true 1

typedef unsigned char boolean;

typedef struct bar_t {
  struct {
    boolean over_allocated;
  } *block[MAX_BLOCKS];
} bar_t;


struct foo_t {
  bar_t **bar;

  struct 
  {
    double p, i;
    boolean oa;
  } ba[MAX_BLOCKS];
} ;


void 
end_tranches(struct foo_t *foo)
{
  long t, num_p, i;
  long forlim;

  for (i = 1; i <= forlim; i++) {
    if (foo->ba[i-1].p - 1.0e0 > 1.0e-8) {
      if (foo->ba[i-1].oa) {
      }
      else {
	error_message(132, 0, 9, true, true, 0, 3);
      }
    }
    if (foo->ba[i-1].i - 1.0e0 > 1.0e-8) {
      if (foo->ba[i-1].oa) {
	(*foo->bar)->block[i-1]->over_allocated = 1;
      }
      else {
	error_message(132, 0, 9, true, true, 0, 3);
      }
    }
  }
}


===============================================


2. The error:

===============================================
$ gcc -O2 -g egcs_crash3.c
egcs_crash3.c: In function `end_tranches':
egcs_crash3.c:49: internal error--insn does not satisfy its constraints:
(insn 309 282 214 (set (reg:QI 36 $f4)
        (reg:QI 3 $3)) 288 {movsi-1} (nil)
    (nil))
toplev.c:1447: Internal compiler error in function fatal_insn
Please submit a full bug report to `egcs-bugs@egcs.cygnus.com'.
See <URL: http://egcs.cygnus.com/faq.html#bugreport > for details.
===============================================




III. Internal error #2

1. 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));
}
===============================================


2. The error:

===============================================
$ gcc -O2 -g 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:2176: 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.



$ gcc -g -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
===============================================


3. The cpp'ed source:

^ permalink raw reply	[flat|nested] 2+ messages in thread

* egcs/gcc internal errors in the recent snapshot
  1999-03-11  2:18 egcs/gcc internal errors in the recent snapshot Alexander L. Belikoff
@ 1999-03-31 23:46 ` Alexander L. Belikoff
  0 siblings, 0 replies; 2+ messages in thread
From: Alexander L. Belikoff @ 1999-03-31 23:46 UTC (permalink / raw)
  To: egcs-bugs; +Cc: egcs

[-- Attachment #1: Type: text/plain, Size: 3039 bytes --]

Hello everybody -

This is a followup on my old bug report. Now it is about the recent
snapshot...

I. Hardware/software configuration:

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


2. The compiler:

Reading specs from /bb/abel2/egcs/lib/gcc-lib/alphaev6-unknown-linux-gnu/egcs-2.93.11/specs
gcc version egcs-2.93.11 19990307 (gcc2 ss-980929 experimental)


II. Internal error #1

1. The file:

===============================================

#define MAX_BLOCKS 12

#define true 1

typedef unsigned char boolean;

typedef struct bar_t {
  struct {
    boolean over_allocated;
  } *block[MAX_BLOCKS];
} bar_t;


struct foo_t {
  bar_t **bar;

  struct 
  {
    double p, i;
    boolean oa;
  } ba[MAX_BLOCKS];
} ;


void 
end_tranches(struct foo_t *foo)
{
  long t, num_p, i;
  long forlim;

  for (i = 1; i <= forlim; i++) {
    if (foo->ba[i-1].p - 1.0e0 > 1.0e-8) {
      if (foo->ba[i-1].oa) {
      }
      else {
	error_message(132, 0, 9, true, true, 0, 3);
      }
    }
    if (foo->ba[i-1].i - 1.0e0 > 1.0e-8) {
      if (foo->ba[i-1].oa) {
	(*foo->bar)->block[i-1]->over_allocated = 1;
      }
      else {
	error_message(132, 0, 9, true, true, 0, 3);
      }
    }
  }
}


===============================================


2. The error:

===============================================
$ gcc -O2 -g egcs_crash3.c
egcs_crash3.c: In function `end_tranches':
egcs_crash3.c:49: internal error--insn does not satisfy its constraints:
(insn 309 282 214 (set (reg:QI 36 $f4)
        (reg:QI 3 $3)) 288 {movsi-1} (nil)
    (nil))
toplev.c:1447: Internal compiler error in function fatal_insn
Please submit a full bug report to `egcs-bugs@egcs.cygnus.com'.
See <URL: http://egcs.cygnus.com/faq.html#bugreport > for details.
===============================================




III. Internal error #2

1. 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));
}
===============================================


2. The error:

===============================================
$ gcc -O2 -g 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:2176: 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.



$ gcc -g -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
===============================================


3. The cpp'ed source:


[-- Attachment #2: egcs_crash1.i.gz --]
[-- Type: application/x-gzip, Size: 949 bytes --]

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~1999-03-31 23:46 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
1999-03-11  2:18 egcs/gcc internal errors in the recent snapshot Alexander L. Belikoff
1999-03-31 23:46 ` Alexander L. Belikoff

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).