I just ran into an unresolved iterator
https://gcc.gnu.org/pipermail/gcc-patches/2024-July/657360.html
which motivated me to dig into genoutput.cc where in process_template()
we already emit an error but only if the new compact syntax is used.
There is probably a reason for limiting the check to the new compact
syntax.  However, after implementing my own check I realized that both
are basically the same.  I also did a quick build while removing the
limitation to the new compact syntax on x86_64, aarch64, powerpc64le,
s390 and it all went through.  Skimming through target MD files I also
couldn't find a reason why a test for angle brackets shouldn't be done
for non-compact syntax but maybe I'm just missing something.

Long story short: would it be fine to perform an unresolved iterator check for
non-compact syntax or would that break any target?
---
 gcc/genoutput.cc | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/gcc/genoutput.cc b/gcc/genoutput.cc
index efd81766bb5..53a0d0790ae 100644
--- a/gcc/genoutput.cc
+++ b/gcc/genoutput.cc
@@ -702,7 +702,7 @@ process_template (class data *d, const char *template_code)
            message_at (d->loc, "trailing whitespace in output template");
 
          /* Check for any unexpanded iterators.  */
-         if (bp[0] != '*' && d->compact_syntax_p)
+         if (bp[0] != '*')
            {
              const char *p = cp;
              const char *last_bracket = nullptr;
-- 
2.45.2

Reply via email to