[PATCH] D62960: SVE opaque type for C intrinsics demo
Richard Sandiford via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Wed Jun 19 07:15:43 PDT 2019
rsandifo-arm marked an inline comment as done.
rsandifo-arm added inline comments.
================
Comment at: lib/AST/ItaniumMangle.cpp:2680
+ break;
+#include "clang/Basic/AArch64SVEACLETypes.def"
}
----------------
erik.pilkington wrote:
> jfb wrote:
> > @rjmccall you probably should review this part.
> Sorry for the drive by comment, but: All of these mangling should really be using the "vendor extension" production IMO:
>
> `<type> ::= u <source-name>`
>
> As is, these manglings intrude on the users's namespace, (i.e. if they had a type named `objc_selector` or something), and confuse demanglers which incorrectly assume these are substitutable (vendor extension builtin types are substitutable too though, but that should be handled here).
It isn't obvious from the patch, but the SVE names that we're mangling are predefined names like __SVInt8_t. rather than user-facing names like svint8_t The predefined names and their mangling are defined by the platform ABI (https://developer.arm.com/docs/100986/0000), so it wouldn't be valid for another part of the implementation to use those names for something else.
I realise you were making a general point here though, sorry.
Repository:
rC Clang
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D62960/new/
https://reviews.llvm.org/D62960
More information about the cfe-commits
mailing list