]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
PR116019: Improve tail call error message
authorAndi Kleen <ak@gcc.gnu.org>
Thu, 25 Jul 2024 20:54:50 +0000 (13:54 -0700)
committerThomas Koenig <tkoenig@gcc.gnu.org>
Sun, 28 Jul 2024 17:06:00 +0000 (19:06 +0200)
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.

gcc/tree-tailcall.cc

index a68079d4f5075bb9e698705f1e7a25476902f960..1901b1a13f9989ff92f988b008fb4f6e42e11e32 100644 (file)
@@ -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;
     }