[clang] [Clang] Emit error for duplicate mangled names within a lambda (PR #107581)
Kerry McLaughlin via cfe-commits
cfe-commits at lists.llvm.org
Fri Oct 18 03:54:07 PDT 2024
kmclaughlin-arm wrote:
> Oh, that makes sense... so the issue is generally with functions we emit lazily?
> I'd say it's reasonable to emit an error if we have two definitions for the same symbol, even if we don't end up emitting them because they're deferred.
Yes, I believe so. I've moved the error to EmitGlobal at the point where DeferredDecls is updated if a duplicate mangled name is found. I've tried to exclude the cases where this can be expected (such as for multiversioning where the mangled name may be changed later by UpdateMultiVersionNames), but there is nothing specific to lambdas now.
> I agree that it would be better for the SME attributes to be represented in the type mangling, although changing the mangling at this point would be an ABI break. I'll probe and follow this up!
Following on from this, I am also working on changes to name mangling of types which have SME attributes (https://github.com/ARM-software/abi-aa/pull/290)
https://github.com/llvm/llvm-project/pull/107581
More information about the cfe-commits
mailing list