From ab6cd364eda21d3d24a4df0072c588cc68ff61e0 Mon Sep 17 00:00:00 2001 From: Marek Polacek Date: Sat, 25 Jan 2020 19:02:11 -0500 Subject: [PATCH] sanopt: Avoid crash on anonymous parameter [PR93436] Here we crash when using -fsanitize=address -fdump-tree-sanopt because the dumping code uses IDENTIFIER_POINTER on a null DECL_NAME. Instead, we can print "" in such a case. Or we could avoid printing that diagnostic altogether. 2020-01-26 Marek Polacek PR tree-optimization/93436 * sanopt.c (sanitize_rewrite_addressable_params): Avoid crash on null DECL_NAME. --- gcc/ChangeLog | 6 ++++++ gcc/sanopt.c | 9 ++++++--- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index e983d5233b1..8f6f4ae7b80 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2020-01-26 Marek Polacek + + PR tree-optimization/93436 + * sanopt.c (sanitize_rewrite_addressable_params): Avoid crash on + null DECL_NAME. + 2020-01-26 Jason Merrill PR c++/92601 diff --git a/gcc/sanopt.c b/gcc/sanopt.c index 619aae45a15..0788eef597e 100644 --- a/gcc/sanopt.c +++ b/gcc/sanopt.c @@ -1174,9 +1174,12 @@ sanitize_rewrite_addressable_params (function *fun) continue; if (dump_file) - fprintf (dump_file, - "Rewriting parameter whose address is taken: %s\n", - IDENTIFIER_POINTER (DECL_NAME (arg))); + { + fprintf (dump_file, + "Rewriting parameter whose address is taken: "); + print_generic_expr (dump_file, arg, dump_flags); + fputc ('\n', dump_file); + } SET_DECL_PT_UID (var, DECL_PT_UID (arg)); -- 2.30.2