aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRichard Biener <rguenther@suse.de>2015-08-03 13:20:22 +0000
committerRichard Biener <rguenth@gcc.gnu.org>2015-08-03 13:20:22 +0000
commit1d2fdec6bc1fe203e9df6f5e5edf69f50af0b35d (patch)
tree9ad2a7a272f9a8e1bf4621f0014ca59e6e05cc40 /gcc
parent4c0cca1801ea06ba839f6cb6340ad014b8620423 (diff)
downloadgcc-1d2fdec6bc1fe203e9df6f5e5edf69f50af0b35d.zip
gcc-1d2fdec6bc1fe203e9df6f5e5edf69f50af0b35d.tar.gz
gcc-1d2fdec6bc1fe203e9df6f5e5edf69f50af0b35d.tar.bz2
genmatch.c (dt_simplify::gen): Create captures array with an initializer.
2015-08-03 Richard Biener <rguenther@suse.de> * genmatch.c (dt_simplify::gen): Create captures array with an initializer. From-SVN: r226503
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/genmatch.c17
2 files changed, 13 insertions, 9 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 42b03ce..84084ca 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2015-08-03 Richard Biener <rguenther@suse.de>
+
+ * genmatch.c (dt_simplify::gen): Create captures array
+ with an initializer.
+
2015-08-03 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
* configure.ac: Set aliasing_flags to -fno-strict-aliasing if
diff --git a/gcc/genmatch.c b/gcc/genmatch.c
index a1bc410..f854794 100644
--- a/gcc/genmatch.c
+++ b/gcc/genmatch.c
@@ -3023,16 +3023,15 @@ dt_simplify::gen (FILE *f, int indent, bool gimple)
output_line_directive (f,
s->result ? s->result->location : s->match->location);
if (s->capture_max >= 0)
- fprintf_indent (f, indent, "tree captures[%u] ATTRIBUTE_UNUSED = {};\n",
- s->capture_max + 1);
+ {
+ char opname[20];
+ fprintf_indent (f, indent, "tree captures[%u] ATTRIBUTE_UNUSED = { %s",
+ s->capture_max + 1, indexes[0]->get_name (opname));
- for (int i = 0; i <= s->capture_max; ++i)
- if (indexes[i])
- {
- char opname[20];
- fprintf_indent (f, indent, "captures[%u] = %s;\n",
- i, indexes[i]->get_name (opname));
- }
+ for (int i = 1; i <= s->capture_max; ++i)
+ fprintf (f, ", %s", indexes[i]->get_name (opname));
+ fprintf (f, " };\n");
+ }
/* If we have a split-out function for the actual transform, call it. */
if (info && info->fname)