[Dwarf-discuss] Virtual Methods/Array Of Structs and Anonymous Structs
David Blaikie
dblaikie@gmail.com
Wed Dec 18 19:26:47 GMT 2024
This is probably more of a question for the DWARF producer, like GCC, than
the DWARF workgroup, but let's take a look anyway...
Ah, OK, simplifying things down a bit. You've got this case:
```
struct t1
{
typedef struct
{
} t2;
#ifdef USE_VIRTUAL
virtual void f1();
#endif
};
t1::t2 v1
#ifdef USE_ARRAY
[1]
#endif
;
```
And the observed behavior of GCC is that the type of `v1` is (potentially
array-of) "t1::(anonymous struct)" if USE_VIRTUAL && USE_ARRAY, and
otherwise the type is "t1::t2"
Yeah, seems to be the case ( https://godbolt.org/z/c19PrPx83 ). I'd guess
it's just a minor bug in GCC - seems to still be there today/trunk.
The inconsistency seems to point to it being a bug, and that the expected
behavior would be that the type is `t1::t2` even if it's an array and t1
has virtual functions.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.dwarfstd.org/pipermail/dwarf-discuss/attachments/20241218/a7b67c26/attachment-0001.htm>
More information about the Dwarf-discuss
mailing list