https://gcc.gnu.org/bugzilla/show_bug.cgi?id=122248

--- Comment #1 from David Faust <david.faust at oracle dot com> ---
Thanks.

The case being handled incorrectly is this:

  extern struct t1 g3 __tag1;
  struct t1 g3 __tag2;

```
      /* Add AT_GNU_annotation referring to the annotation DIE.
         It may have already been added, some global declarations are processed
         twice, but if so it must be the same or we have a bug.  */
      dw_die_ref existing = get_AT_ref (die, DW_AT_GNU_annotation);
      if (existing)
        gcc_checking_assert (existing == tag_die);
```

Need to be a little smarter here in gen_btf_tag_dies when the extern decl and
non-extern decl have differing tags. I am looking at it.

Reply via email to