decodetree: Drop check for less than 2 patterns in a group

While it makes little sense for the end product to have a group
containing only a single pattern, avoiding this case within an
incremental patch set is troublesome.

Because this is expected to be a transient condition, do not
bother "optimizing" this case, e.g. by folding away the group.

Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
This commit is contained in:
Richard Henderson 2020-06-08 10:41:49 -07:00
parent 33c0f25bfd
commit fe079aa13d
2 changed files with 13 additions and 2 deletions

View File

@ -1024,8 +1024,6 @@ def parse_file(f, parent_pat):
if name == '}' or name == ']': if name == '}' or name == ']':
if len(toks) != 0: if len(toks) != 0:
error(start_lineno, 'extra tokens after close brace') error(start_lineno, 'extra tokens after close brace')
if len(parent_pat.pats) < 2:
error(lineno, 'less than two patterns within braces')
# Make sure { } and [ ] nest properly. # Make sure { } and [ ] nest properly.
if (name == '}') != isinstance(parent_pat, IncMultiPattern): if (name == '}') != isinstance(parent_pat, IncMultiPattern):

View File

@ -0,0 +1,13 @@
# This work is licensed under the terms of the GNU LGPL, version 2 or later.
# See the COPYING.LIB file in the top-level directory.
# Verify deeper nesting, and a single element in the groups.
{
[
{
[
sub1 00000000 a:8 b:8 c:8
]
}
]
}