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
This commit is contained in:
Richard Biener 2015-08-03 13:20:22 +00:00 committed by Richard Biener
parent 4c0cca1801
commit 1d2fdec6bc
2 changed files with 13 additions and 9 deletions

View 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

View 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)