[gcc(refs/vendors/redhat/heads/gcc-10-branch)] sanopt: Avoid crash on anonymous parameter [PR93436]
Jakub Jelinek
jakub@gcc.gnu.org
Thu Jan 30 20:49:00 GMT 2020
https://gcc.gnu.org/g:ab6cd364eda21d3d24a4df0072c588cc68ff61e0
commit ab6cd364eda21d3d24a4df0072c588cc68ff61e0
Author: Marek Polacek <polacek@redhat.com>
Date: Sat Jan 25 19:02:11 2020 -0500
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 "<anonymous>" in such a case. Or we could avoid printing
that diagnostic altogether.
2020-01-26 Marek Polacek <polacek@redhat.com>
PR tree-optimization/93436
* sanopt.c (sanitize_rewrite_addressable_params): Avoid crash on
null DECL_NAME.
Diff:
---
gcc/ChangeLog | 6 ++++++
gcc/sanopt.c | 9 ++++++---
2 files changed, 12 insertions(+), 3 deletions(-)
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index e983d52..8f6f4ae 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2020-01-26 Marek Polacek <polacek@redhat.com>
+
+ PR tree-optimization/93436
+ * sanopt.c (sanitize_rewrite_addressable_params): Avoid crash on
+ null DECL_NAME.
+
2020-01-26 Jason Merrill <jason@redhat.com>
PR c++/92601
diff --git a/gcc/sanopt.c b/gcc/sanopt.c
index 619aae4..0788eef 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));
More information about the Gcc-cvs
mailing list