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

Reply via email to