3 Jul 2024 3:10:14 pm Peter Damianov <peter0...@disroot.org>:
Currently, if a warning references a cloned function, the name of the
cloned
function will be emitted in the "In function 'xyz'" part of the
diagnostic,
which users aren't supposed to see. This patch follows the DECL_ORIGIN
link
to get the name of the original function.
gcc/ChangeLog:
PR diagnostics/102061
* langhooks.cc (lhd_decl_printable_name): Follow DECL_ORIGIN
link
Signed-off-by: Peter Damianov <peter0...@disroot.org>
---
v2: use DECL_ORIGIN instead of DECL_ABSTRACT_ORIGIN and remove loop
gcc/langhooks.cc | 1 +
1 file changed, 1 insertion(+)
diff --git a/gcc/langhooks.cc b/gcc/langhooks.cc
index 61f2b676256..943b8345a95 100644
--- a/gcc/langhooks.cc
+++ b/gcc/langhooks.cc
@@ -223,6 +223,7 @@ lhd_get_alias_set (tree ARG_UNUSED (t))
const char *
lhd_decl_printable_name (tree decl, int ARG_UNUSED (verbosity))
{
+ decl = DECL_ORIGIN(decl);
gcc_assert (decl && DECL_NAME (decl));
return IDENTIFIER_POINTER (DECL_NAME (decl));
}
--
2.39.2
This fails many tests. I will have to examine that some other time.