Remove symbol-related static asserts

commit 3573abe1d added static asserts to ensure that symbol sizes
don't vary.  However, this failed to build on Windows, on at least one
ARM platform (see PR build/25182) and internally at AdaCore for PPC.

So, I think it is probably best to just remove these assertions,
effectively reverting 3573abe1d.

gdb/ChangeLog
2019-11-13  Tom Tromey  <tromey@adacore.com>

	PR build/25182:
	* psympriv.h (partial_symbol): Remove static assert.
	* symtab.h (general_symbol_info, symbol): Remove static assert.

Change-Id: I51940fb2240c474838b48494b5072081701789bb
This commit is contained in:
Tom Tromey 2019-11-11 07:43:13 -07:00
parent 415ed2a175
commit d1aa3cf0bb
3 changed files with 6 additions and 19 deletions

View File

@ -1,3 +1,9 @@
2019-11-13 Tom Tromey <tromey@adacore.com>
PR build/25182:
* psympriv.h (partial_symbol): Remove static assert.
* symtab.h (general_symbol_info, symbol): Remove static assert.
2019-11-12 Andrew Burgess <andrew.burgess@embecosm.com>
* gdbsupport/format.c (format_pieces::format_pieces): Support

View File

@ -82,12 +82,6 @@ struct partial_symbol
ENUM_BITFIELD(address_class) aclass : SYMBOL_ACLASS_BITS;
};
/* This struct is size-critical (see comment at the to of symtab.h), so this
assert makes sure the size doesn't change accidentally. Be careful when
purposely increasing the size. */
gdb_static_assert ((sizeof (void *) == 8 && sizeof (partial_symbol) == 40)
|| (sizeof (void *) == 4 && sizeof (partial_symbol) == 24));
/* A convenience enum to give names to some constants used when
searching psymtabs. This is internal to psymtab and should not be
used elsewhere. */

View File

@ -447,13 +447,6 @@ struct general_symbol_info
short section;
};
/* This struct is size-critical (see comment at the top), so this assert
makes sure the size doesn't change accidentally. Be careful when
purposely increasing the size. */
gdb_static_assert ((sizeof (void *) == 8 && sizeof (general_symbol_info) == 32)
|| (sizeof (void *) == 4
&& sizeof (general_symbol_info) == 20));
extern void symbol_set_demangled_name (struct general_symbol_info *,
const char *,
struct obstack *);
@ -1204,12 +1197,6 @@ struct symbol : public general_symbol_info, public allocate_on_obstack
struct symbol *hash_next = nullptr;
};
/* This struct is size-critical (see comment at the top), so this assert
makes sure the size doesn't change accidentally. Be careful when
purposely increasing the size. */
gdb_static_assert ((sizeof (void *) == 8 && sizeof (symbol) == 72)
|| (sizeof (void *) == 4 && sizeof (symbol) == 40));
/* Several lookup functions return both a symbol and the block in which the
symbol is found. This structure is used in these cases. */