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.