diff options
Diffstat (limited to 'binutils')
-rw-r--r-- | binutils/ChangeLog | 4 | ||||
-rw-r--r-- | binutils/ieee.c | 26 |
2 files changed, 30 insertions, 0 deletions
diff --git a/binutils/ChangeLog b/binutils/ChangeLog index 9fb146b..269b706 100644 --- a/binutils/ChangeLog +++ b/binutils/ChangeLog @@ -1,5 +1,9 @@ Tue Mar 12 12:09:43 1996 Ian Lance Taylor <ian@cygnus.com> + * ieee.c (ieee_write_undefined_tag): Switch to global_types even + if it is not empty. + (ieee_tag_type): For an enum, look through info->enums. + * configure: Rebuild with autoconf 2.8. * debug.c (debug_type_samep): Don't loop endlessly in diff --git a/binutils/ieee.c b/binutils/ieee.c index 1fe98bf..82f1cef 100644 --- a/binutils/ieee.c +++ b/binutils/ieee.c @@ -3446,6 +3446,9 @@ ieee_regno_to_genreg (abfd, r) 32 to 35 for fp0 to fp3. */ --r; break; + + default: + break; } return r; @@ -3472,6 +3475,9 @@ ieee_genreg_to_regno (abfd, r) 32 to 35 for fp0 to fp3. */ ++r; break; + + default: + break; } return r; @@ -4674,6 +4680,14 @@ ieee_write_undefined_tag (h, p) return false; } } + else + { + if (! ieee_change_buffer (info, &info->global_types)) + { + info->error = true; + return false; + } + } name_indx = info->name_indx; ++info->name_indx; @@ -6449,6 +6463,18 @@ ieee_tag_type (p, name, id, kind) struct ieee_name_type_hash_entry *h; struct ieee_name_type *nt; + if (kind == DEBUG_KIND_ENUM) + { + struct ieee_defined_enum *e; + + if (name == NULL) + abort (); + for (e = info->enums; e != NULL; e = e->next) + if (e->tag != NULL && strcmp (e->tag, name) == 0) + return ieee_push_type (info, e->indx, 0, true, false); + abort (); + } + localp = false; copy = false; |