[gnu.gcc.bug] gcc 1.31 gets fatal signal on Sequent 386

schmidt@BONNIE.ICS.UCI.EDU ("Douglas C. Schmidt") (11/26/88)

[ This is the first of five bug reports for gcc 1.31 on the Sequent
  Symmetry.  I don't have time right now to explore this further, 
  but someone with access to the symmetry may find these useful... ]

Bug Report for GCC:
-------------------
Problem : gcc 1.31 gets a fatal signal on the following input file.
	 

1.) Version : gcc 1.31
-----------

2.) Input Program :
-----------------

struct command_line
{
  struct command_line *next;
  char *line;
};
enum language {language_c};
struct blockvector
{
  int nblocks;
  struct block *block[1159];
};
struct block
{
  int startaddr, endaddr;
  struct symbol *function;
  struct block *superblock;
  int nsyms;
  struct symbol *sym[1];
};

enum namespace
{
  UNDEF_NAMESPACE, VAR_NAMESPACE, STRUCT_NAMESPACE, LABEL_NAMESPACE,
};
enum address_class
{
  LOC_UNDEF,		 
  LOC_CONST,		 
  LOC_STATIC,		 
  LOC_REGISTER,		 
  LOC_ARG,		 
  LOC_REGPARM,		 
  LOC_LOCAL,		 
  LOC_TYPEDEF,		 
  LOC_LABEL,		 
  LOC_BLOCK,		 
  LOC_EXTERNAL,		 
  LOC_CONST_BYTES	 
};
struct symbol
{
  char *name;
  enum namespace namespace;
  enum address_class class;
  struct type *type;
  union
    {
      long value;
      struct block *block;       
      char *bytes;		 
    }
  value;
};

struct sourcevector
{
  int length;			 
  struct source *source[1];	 
};
struct linetable
  {
    int nitems;
    int item[1];
  };
struct source
{
  char *name;			 
  struct linetable contents;
};

struct symtab
  {
    struct symtab *next;
    struct blockvector *blockvector;
    struct linetable *linetable;
    struct typevector *typevector;
    char *filename;
    enum free_code {free_nothing, free_contents, free_linetable}
      free_code;
    char *free_ptr;
    int nlines;
    int *line_charpos;
    enum language language;
    char *version;
    char *compilation;
    int ldsymoff;
    char *fullname;
  };
struct symtab_and_line
{
  struct symtab *symtab;
  int line;
  unsigned int  pc;
  unsigned int  end;
};

struct symtabs_and_lines
{
  struct symtab_and_line *sals;
  int nelts;
};

struct symtab_and_line find_pc_line ();
struct symtabs_and_lines decode_line_spec ();
struct symtabs_and_lines decode_line_1 ();
struct frame_info
  {
    unsigned int   frame;
    unsigned int  pc;
    unsigned int   next_frame;
    unsigned int   next_next_frame;
  };
struct frame_saved_regs
  {
    unsigned int  regs[72 ];
  };
struct breakpoint
{
  struct breakpoint *next;
  int number;
  unsigned int  address;
  int line_number;
  struct symtab *symtab;
  int ignore_count;
  char inserted;
  char duplicate;
  struct command_line *commands;
  unsigned int   frame;
  struct expression *cond;
};

void
set_momentary_breakpoint (sal, frame)
     struct symtab_and_line sal;
     unsigned int   frame;
{
  register struct breakpoint *b;
  b = set_raw_breakpoint (sal);
  b->number = -3;
  b->enable = delete;
  b->frame = frame;
}

3.) Command Used : gcc -v 
----------------

4.) Files used :
--------------
   config.gcc sequent-i386

5.) Machine(s) used :
-------------------
		Sequent Symmetry    DYNIX (TM)V3 (BSD 4.3 features)

6.) Compiler diagnostics :
------------------------

gcc version 1.31
 /usr/public/lib/gcc/gcc-cpp -v -undef -D__GNU__ -D__GNUC__ -Dunix
-Di386 -Dsequent save1.c /tmp/cc010865.cpp GNU CPP version 1.31
 /usr/public/lib/gcc/gcc-cc1 /tmp/cc010865.cpp -quiet -dumpbase
save1.c -version -o /tmp/cc010865.s

save1.c: In function set_momentary_breakpoint:
save1.c:138: warning: assignment of pointer from integer lacks a cast
save1.c:140: structure has no member named `enable'
save1.c:140: undeclared variable `delete' (first use here)
gcc: Program cc1 got fatal signal 4.