diff options
author | Joel Brobecker <brobecker@gnat.com> | 2008-04-08 22:09:20 +0000 |
---|---|---|
committer | Joel Brobecker <brobecker@gnat.com> | 2008-04-08 22:09:20 +0000 |
commit | 56953f802daf2dc7b932932e47d40acedf8f7f3e (patch) | |
tree | cb3476d6ba132548e1d81428d45245383e85bea6 | |
parent | 780e49c563bcac5d4dcb4e74ba877ead274d022d (diff) | |
download | gdb-56953f802daf2dc7b932932e47d40acedf8f7f3e.zip gdb-56953f802daf2dc7b932932e47d40acedf8f7f3e.tar.gz gdb-56953f802daf2dc7b932932e47d40acedf8f7f3e.tar.bz2 |
* stabsread.c (cleanup_undefined_types_noname): Manually set the
instance flags of the undefined type before calling replace_type.
-rw-r--r-- | gdb/ChangeLog | 5 | ||||
-rw-r--r-- | gdb/stabsread.c | 9 |
2 files changed, 13 insertions, 1 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 6718f6d..6058b95 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,8 @@ +2008-04-08 Joel Brobecker <brobecker@adacore.com> + + * stabsread.c (cleanup_undefined_types_noname): Manually set the + instance flags of the undefined type before calling replace_type. + 2008-04-08 Vladimir Prus <vladimir@codesourcery.com> * target.h (enum strata): Remove the download_stratum. diff --git a/gdb/stabsread.c b/gdb/stabsread.c index 8e88ea2..3b747b4 100644 --- a/gdb/stabsread.c +++ b/gdb/stabsread.c @@ -4266,7 +4266,14 @@ cleanup_undefined_types_noname (void) type = dbx_lookup_type (nat.typenums); if (nat.type != *type && TYPE_CODE (*type) != TYPE_CODE_UNDEF) - replace_type (nat.type, *type); + { + /* The instance flags of the undefined type are still unset, + and needs to be copied over from the reference type. + Since replace_type expects them to be identical, we need + to set these flags manually before hand. */ + TYPE_INSTANCE_FLAGS (nat.type) = TYPE_INSTANCE_FLAGS (*type); + replace_type (nat.type, *type); + } } noname_undefs_length = 0; |