On Thu, 10 Oct 2019 at 23:38, Jason Merrill <ja...@redhat.com> wrote:
> On Thu, Oct 10, 2019 at 3:55 PM Christophe Lyon < > christophe.l...@linaro.org> wrote: > >> On Thu, 10 Oct 2019 at 01:44, Romain Geissler <romain.geiss...@gmail.com> >> wrote: >> >>> Le mer. 9 oct. 2019 à 19:20, Jason Merrill <ja...@redhat.com> a écrit : >>> > >>> > Andrew has done a lot of work to update the GCC implementation of C++ >>> > concepts to conform to the upcoming C++20 standard, which clarifies, >>> > removes, and changes various aspects of the earlier concepts TS. It >>> can >>> > still use some polishing, but other stage 1 projects are waiting for it >>> > to land on trunk and it's already a big improvement from what's >>> > currently there, so I'm going to go ahead and merge it now. >>> > >>> > Tested x86_64-pc-linux-gnu, applying to trunk. >>> >>> Hi Jason, >>> >>> This is a very good news to see preliminary concept support being >>> merged in the trunk :) >>> >>> However for me, this caused the following bootstrap failure: >>> >>> In file included from /workdir/src/gcc-10.0.0/gcc/cp/cp-lang.c:24: >>> /workdir/src/gcc-10.0.0/gcc/cp/cp-tree.h: In function 'tree_node* >>> template_info_decl_check(const_tree, const char*, int, const char*)': >>> /workdir/src/gcc-10.0.0/gcc/cp/cp-tree.h:3368:3: error: >>> 'tree_check_failed' was not declared in this scope >>> tree_check_failed (t, f, l, fn, >>> ^~~~~~~~~~~~~~~~~ >>> /workdir/src/gcc-10.0.0/gcc/cp/cp-tree.h:3368:3: note: suggested >>> alternative: 'vec_check_alloc' >>> tree_check_failed (t, f, l, fn, >>> ^~~~~~~~~~~~~~~~~ >>> vec_check_alloc >>> make[2]: *** [Makefile:1118: cp/cp-lang.o] Error 1 >>> >>> >> On arm, this is causing: >> FAIL: g++.dg/ext/arm-fp16/arm-fp16-ops-1.C -std=gnu++2a (test for >> excess errors) >> Excess errors: >> /gcc/testsuite/g++.dg/ext/arm-fp16/arm-fp16-ops.h:31:10: warning: '++' >> expression of 'volatile'-qualified type is deprecated [-Wvolatile] >> > > These would be due to > > 2019-08-28 Marek Polacek <pola...@redhat.com> > > Implement P1152R4: Deprecating some uses of volatile. > PR c++/91361 > * cp-gimplify.c (cp_fold): Set TREE_THIS_VOLATILE. > * decl.c (grokdeclarator): Warn about a volatile-qualified > structured > binding and return type. > (grokparms): Warn about a volatile-qualified function parameter. > * expr.c (mark_use) <case MODIFY_EXPR>: Emit a -Wvolatile warning. > * typeck.c (cp_build_unary_op): Emit a -Wvolatile warning for pre > and > post ++/-- on a volatile operand. > (genericize_compound_lvalue): Use a better location. Don't lose > TREE_THIS_VOLATILE. > (cp_build_modify_expr): Emit a -Wvolatile warning for a compound > assignment whose LHS is volatile-qualified. Build the assignment > with > a more precise location. > > You are probably right. I replied here because gisect flagged your patch. > and not the concepts merge. You probably want to turn off -Wvolatile for > affected tests. > Isn't the warning valid in this case? (ie. shouldn't we fix arm-fp16-ops.h instead?) > > and also: > >> FAIL: g++.dg/cpp2a/constexpr-dtor3.C -std=c++2a (test for excess errors) >> Excess errors: >> /gcc/testsuite/g++.dg/cpp2a/constexpr-dtor3.C:152:12: in 'constexpr' >> expansion of '(& w13)->W7::~W7()' >> > > This also seems unrelated, but I'll take a look. > > Thanks, I must confess I didn't bisect for this one. It appeared in the same range of commits as the other regressions above: between r276750 and r276786 included. Thanks Christophe > Jason > >