From 873bf3e1232f0d68f7b58923242b30f62b9f8c00 Mon Sep 17 00:00:00 2001 From: kyukhin Date: Wed, 22 May 2013 07:48:13 +0000 Subject: [PATCH] * read-rtl.c (copy_rtx_for_iterators): Continue applying iterators while it has any effect. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@199177 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/ChangeLog | 5 +++++ gcc/read-rtl.c | 8 +++++--- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index c43d82034fc..663bfb26933 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2013-05-22 Michael Zolotukhin + + * read-rtl.c (copy_rtx_for_iterators): Continue applying iterators + while it has any effect. + 2013-05-21 Easwaran Raman PR tree-optimization/57322 diff --git a/gcc/read-rtl.c b/gcc/read-rtl.c index cd58b1f8238..2b76c1b9db2 100644 --- a/gcc/read-rtl.c +++ b/gcc/read-rtl.c @@ -380,7 +380,7 @@ apply_iterator_to_string (const char *string) static rtx copy_rtx_for_iterators (rtx original) { - const char *format_ptr; + const char *format_ptr, *p; int i, j; rtx x; @@ -397,12 +397,14 @@ copy_rtx_for_iterators (rtx original) switch (format_ptr[i]) { case 'T': - XTMPL (x, i) = apply_iterator_to_string (XTMPL (x, i)); + while (XTMPL (x, i) != (p = apply_iterator_to_string (XTMPL (x, i)))) + XTMPL (x, i) = p; break; case 'S': case 's': - XSTR (x, i) = apply_iterator_to_string (XSTR (x, i)); + while (XSTR (x, i) != (p = apply_iterator_to_string (XSTR (x, i)))) + XSTR (x, i) = p; break; case 'e': -- 2.11.4.GIT