https://gcc.gnu.org/g:899ee4815424a73a2b9d899591fab3fcc4520b61

commit r15-2340-g899ee4815424a73a2b9d899591fab3fcc4520b61
Author: Andi Kleen <a...@gcc.gnu.org>
Date:   Thu Jul 25 13:54:50 2024 -0700

    PR116019: Improve tail call error message
    
    The "tail call must be the same type" message is common on some
    targets with C++, or without optimization. It is generated
    when gcc believes there is an access of the return value
    after the call. However usually it does not actually corespond
    to a type mismatch, but can be caused for other reasons.
    
    Make it slightly more vague to be less misleading.
    
    gcc/ChangeLog:
    
            PR c++/116019
            * tree-tailcall.cc (find_tail_calls): Change tail call
            error message.

Diff:
---
 gcc/tree-tailcall.cc | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/gcc/tree-tailcall.cc b/gcc/tree-tailcall.cc
index a68079d4f507..1901b1a13f99 100644
--- a/gcc/tree-tailcall.cc
+++ b/gcc/tree-tailcall.cc
@@ -632,7 +632,7 @@ find_tail_calls (basic_block bb, struct tailcall **ret, 
bool only_musttail,
       && may_be_aliased (result_decl)
       && ref_maybe_used_by_stmt_p (call, result_decl, false))
     {
-      maybe_error_musttail (call, _("tail call must be same type"));
+      maybe_error_musttail (call, _("return value used after call"));
       return;
     }

Reply via email to