[PATCH] D112059: Fix inline builtin handling in case of redefinition

serge via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Wed Oct 27 07:48:54 PDT 2021


serge-sans-paille added inline comments.


================
Comment at: clang/test/CodeGen/user-func-gnu-inline-redecl.c:20
+  return some_size(s);
+}
----------------
nickdesaulniers wrote:
> this test passes before this patch is applied; I wonder if we have existing coverage in tree for this case?
> 
> Surprisingly, I don't think we do. Perhaps `gnu-inline-redecl.c` might be a more concise test name?
> 
> I can't help but shake the feeling that the builtin id stuff is a degenerate case of how GCC treats redeclarations of extern inline (gnu_inline) functions and that perhaps by solving just that, fixing the case of builtins might just "fall out" from that.
Clang indeed naturally handles gnu_inline in a decent way. The problem we're trying to solve now is a side effect of the premature renaming of function call site when we think it's a direct call to inline builtin. I've updated the implementation to avoid walking redecls.


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D112059/new/

https://reviews.llvm.org/D112059



More information about the cfe-commits mailing list