[clang] [Clang] Emit error for duplicate mangled names within a lambda (PR #107581)

Kerry McLaughlin via cfe-commits cfe-commits at lists.llvm.org
Tue Sep 17 08:24:47 PDT 2024


kmclaughlin-arm wrote:

> For non-lambda methods, the way this works it that we call GetOrCreateLLVMFunction for both methods... for the first method, the `!Entry->isDeclaration()` would be false, but for the second one, it would be true because we've emitted the definition of the first method. What's different for lambda methods?

I don't think lambda methods are any different to what you have described, but I think my previous explanation was unclear. What I found is that IsForDefinition is set only the second time GetOrCreateLLVMFunction is called, where `Entry->isDeclaration()` is also true.

https://github.com/llvm/llvm-project/pull/107581


More information about the cfe-commits mailing list