summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Biener <rguenther@suse.de>2020-01-30 15:43:09 +0100
committerRichard Biener <rguenther@suse.de>2020-01-30 15:44:24 +0100
commitbba18325a1021ef8690334e349c242cde23ce92a (patch)
tree26b9223f0518bb6bb4f97aa19c91447d10655f30
parentd177c49cd31131c8cededb216da30877d8a3856d (diff)
dump CTORs properly wrapped with _Literal with -gimple
This wraps { ... } in _Literal (type) for consumption by the GIMPLE FE. 2020-01-30 Richard Biener <rguenther@suse.de> * tree-pretty-print.c (dump_generic_node): Wrap VECTOR_CST and CONSTRUCTOR in _Literal (type) with TDF_GIMPLE.
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/tree-pretty-print.c12
2 files changed, 17 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 00d200ecf16..ab1161bf438 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2020-01-30 Richard Biener <rguenther@suse.de>
+
+ * tree-pretty-print.c (dump_generic_node): Wrap VECTOR_CST
+ and CONSTRUCTOR in _Literal (type) with TDF_GIMPLE.
+
2020-01-30 John David Anglin <danglin@gcc.gnu.org>
* config/pa/pa.c (pa_elf_select_rtx_section): Place function pointers
diff --git a/gcc/tree-pretty-print.c b/gcc/tree-pretty-print.c
index fe2e62b31ba..7de8c7b0cb7 100644
--- a/gcc/tree-pretty-print.c
+++ b/gcc/tree-pretty-print.c
@@ -2078,6 +2078,12 @@ dump_generic_node (pretty_printer *pp, tree node, int spc, dump_flags_t flags,
case VECTOR_CST:
{
unsigned i;
+ if (flags & TDF_GIMPLE)
+ {
+ pp_string (pp, "_Literal (");
+ dump_generic_node (pp, TREE_TYPE (node), spc, flags, false);
+ pp_string (pp, ") ");
+ }
pp_string (pp, "{ ");
unsigned HOST_WIDE_INT nunits;
if (!VECTOR_CST_NELTS (node).is_constant (&nunits))
@@ -2315,6 +2321,12 @@ dump_generic_node (pretty_printer *pp, tree node, int spc, dump_flags_t flags,
bool is_struct_init = false;
bool is_array_init = false;
widest_int curidx;
+ if (flags & TDF_GIMPLE)
+ {
+ pp_string (pp, "_Literal (");
+ dump_generic_node (pp, TREE_TYPE (node), spc, flags, false);
+ pp_string (pp, ") ");
+ }
pp_left_brace (pp);
if (TREE_CLOBBER_P (node))
pp_string (pp, "CLOBBER");