On Mon, Feb 10, 2020 at 2:13 PM Christophe Lyon <christophe.l...@linaro.org> wrote:
> On Fri, 7 Feb 2020 at 14:54, Jason Merrill <ja...@redhat.com> wrote: > > > > Here we were swallowing all the syntax errors by parsing tentatively, and > > returning error_mark_node without ever actually giving an error. Fixed > by > > using save_tokens/rollback_tokens instead. > > > > Tested x86_64-pc-linux-gnu, applying to trunk. > > > > PR c++/92517 > > * parser.c (cp_parser_constraint_primary_expression): Do the main > > parse non-tentatively. > > --- > > gcc/cp/parser.c | 17 +++++++---------- > > gcc/testsuite/g++.dg/cpp2a/concepts-syntax1.C | 9 +++++++++ > > 2 files changed, 16 insertions(+), 10 deletions(-) > > create mode 100644 gcc/testsuite/g++.dg/cpp2a/concepts-syntax1.C > > > > Hi, > > This patch is causing several regressions on arm and aarch64. > > For instance on aarch64: > FAIL: g++.dg/vect/pr89653.cc -std=c++2a (test for excess errors) > Excess errors: > /aarch64-none-linux-gnu/libstdc++-v3/include/bits/ranges_algo.h:1254:4: > error: expected primary-expression before '&&' token > > and on arm: > FAIL: g++.dg/cpp0x/lambda/lambda-pass.C -std=c++2a (test for excess > errors) > Excess errors: > /arm-none-linux-gnueabi/libstdc++-v3/include/bits/ranges_algo.h:1254:4: > error: expected primary-expression before '&&' token > > Christophe > This is fixed in r10-6512-ga04f635d1e4df9679caf763f744eb41a938468f4 Jason