aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndi Kleen <ak@gcc.gnu.org>2024-07-25 13:54:50 -0700
committerThomas Koenig <tkoenig@gcc.gnu.org>2024-07-28 19:06:00 +0200
commit2477f7c005a0ab42dc76d827fc55776d4f62e654 (patch)
tree514ef522282b186dcb8b9c32122221a9137544c7
parenta2b05b0db407865d8970f1b329ab1f0cb9c529ea (diff)
downloadgcc-2477f7c005a0ab42dc76d827fc55776d4f62e654.zip
gcc-2477f7c005a0ab42dc76d827fc55776d4f62e654.tar.gz
gcc-2477f7c005a0ab42dc76d827fc55776d4f62e654.tar.bz2
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.
-rw-r--r--gcc/tree-tailcall.cc2
1 files changed, 1 insertions, 1 deletions
diff --git a/gcc/tree-tailcall.cc b/gcc/tree-tailcall.cc
index a68079d..1901b1a 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;
}