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 cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits