Closed compnerd closed 7 years ago
CC: @DHowett-MSFT @DHowett
@compnerd Thanks for reporting this. It looks like it should be PAUobjc_object@@
.
What issue are you seeing because of this? I think PAAUobjc_object@@
should still unmangle as Uobjc_object*
(losing the struct
typekind.)
(source: MicrosoftMangle in llvm-mirror here primes the mangled name with PA
, then calls mangleArtificalTagType
, which should emit U
then the name. The code here looks right.)
Yeah, it does result in Uobjc_object *
. I shall fix clang (upstream) to generate this name properly. However, doing so means that
id
for the root type CatchableType entryIncorrectly decorating this means that compatibility across C++/ObjC++ is lost, so it is something which would be beneficial to address.
SVN r3117617 will now mangle id
, Class
, and @interface
appropriately in the C++ context. I have more questions about the decorations, is this the best channel for them?
clang now generates the right thing.
Currently
id
is decorated asPAAUobjc_object@@
whichundname
is unable to symbolicate. However, It is unclear whether this is accidental and the decorated name should bePAUobjc_object@@
. This properly is undecorated byundname
asstruct objc_object *
.