* stabsread.c (common_block_end, fix_common_block): Stash the

struct pending * in the SYMBOL_TYPE, not the SYMBOL_NAMESPACE, so
	as to not assume that a pointer fits in an enum.
This commit is contained in:
Jim Kingdon 1994-03-10 03:57:57 +00:00
parent 594eeceb8e
commit fddb9bda70
3 changed files with 11 additions and 4 deletions

View File

@ -1,3 +1,9 @@
Wed Mar 9 15:23:19 1994 Jim Kingdon (kingdon@lioth.cygnus.com)
* stabsread.c (common_block_end, fix_common_block): Stash the
struct pending * in the SYMBOL_TYPE, not the SYMBOL_NAMESPACE, so
as to not assume that a pointer fits in an enum.
Wed Mar 9 18:56:36 1994 Kung Hsu (kung@mexican.cygnus.com)
* os9kread.c (fill_sym): check compiler verion number for pre-
@ -12,7 +18,7 @@ Wed Mar 9 18:56:36 1994 Kung Hsu (kung@mexican.cygnus.com)
* remote-os9k.c: fix bug in 'set remotebaud' function.
* remote-os9k.c (rombug_link): minimize checking so to improve
speed.
* symfile.c (symfile_command): check if failed to link, also make
* symfile.c (symbol_file_command): check if failed to link, also make
the command be able to accept more than one filenames.
* target.c (target_link): check if failed to link with rombug.
* config/i386/tm-i386os9k.h : add #define DECR_PC_AFTER_BREAK 0.

View File

@ -3576,7 +3576,7 @@ common_block_end (objfile)
for (j = common_block_i; j < common_block->nsyms; j++)
add_symbol_to_list (common_block->symbol[j], &new);
SYMBOL_NAMESPACE (sym) = (enum namespace)((long) new);
SYMBOL_TYPE (sym) = (struct type *) new;
/* Should we be putting local_symbols back to what it was?
Does it matter? */
@ -3596,7 +3596,7 @@ fix_common_block (sym, valu)
struct symbol *sym;
int valu;
{
struct pending *next = (struct pending *) SYMBOL_NAMESPACE (sym);
struct pending *next = (struct pending *) SYMBOL_TYPE (sym);
for ( ; next; next = next->next)
{
register int j;

View File

@ -40,7 +40,8 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
have the correct data for that slot yet.
The use of the LOC_BLOCK code in this chain is nonstandard--
it refers to a FORTRAN common block rather than the usual meaning. */
it refers to a FORTRAN common block rather than the usual meaning, and
the such LOC_BLOCK symbols use their fields in nonstandard ways. */
EXTERN struct symbol *global_sym_chain[HASHSIZE];