genmatch.c (dt_simplify::gen): Create captures array with an initializer.
authorRichard Biener <rguenther@suse.de>
Mon, 3 Aug 2015 13:20:22 +0000 (13:20 +0000)
committerRichard Biener <rguenth@gcc.gnu.org>
Mon, 3 Aug 2015 13:20:22 +0000 (13:20 +0000)
2015-08-03  Richard Biener  <rguenther@suse.de>

* genmatch.c (dt_simplify::gen): Create captures array
with an initializer.

From-SVN: r226503

gcc/ChangeLog
gcc/genmatch.c

index 42b03ce9d1885fdceff3bee7432f3dfa5cbd5719..84084caf1e6da02d8189fe5bc9b182eb86cee231 100644 (file)
@@ -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
index a1bc410c39b3b3e558ded5477d67a15527b1f43a..f854794c635b9faf894104fb8af06350a654192e 100644 (file)
@@ -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)