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.