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