ilya-biryukov wrote:

Could you dive a little deeper why this change is necessary? E.g. does the most 
recent redecl have some properties that the canonical declaration (which would 
be the first one) does not?

Also, how do we emulate the old behavior in places that are needed? E.g. in the 
example above, the code prefers the first redeclaration as a heuristic to find 
the public declaration instead of the (implementation detail) definition that 
usually follows later. It's slightly surprising that the call to `func = 
func->getCanonicalDecl();` does not end up with the first redeclaration.
Do you have an idea why that happens and what could be done to restore the old 
behavior?

I understand that Clang APIs are not stable, but we would need some migration 
path for our tools.

https://github.com/llvm/llvm-project/pull/111852
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to