bolshakov-a added a comment.
> Additional levels of nesting append 3's: <unnamed-tag>@3, <unnamed-tag>@33,
> etc.
Yes, but if you have such a code:
struct A {
union {
union {
struct B {};
using T = B;
};
};
};
void f(A::T);
you have `?f@@YAXUB@<unnamed-tag>@2A@@@Z` for `f`, and for such a code:
struct A {
union {
union {
struct B { struct C {}; };
using T = B::C;
};
};
};
void f(A::T);
you'd have `?f@@YAXUC@B@<unnamed-tag>@3A@@@Z`. What are `2` and `3` in general?
I don't know whether the aforementioned code is acceptable according to the
standard, honestly. But if I put a code into the common place, I should figure
out the common algorithm.
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D146386/new/
https://reviews.llvm.org/D146386
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits