On Wed, Mar 11, 2020 at 5:07 PM Iain Sandoe <i...@sandoe.co.uk> wrote: > > Bin.Cheng <amker.ch...@gmail.com> wrote: > > > On Thu, Mar 5, 2020 at 10:18 PM Iain Sandoe <i...@sandoe.co.uk> wrote: > > >> With current trunk + Bin’s two approved patches. > >> > >> I see no change in the testcase (lambda-09-capture-object.C) before / after > >> the patch > >> (it fails for me at -O0 only - in both cases). > > > > > I tried exactly what you did, however, the result is different. > > I am a bit concerned that we get different results - yesterday I retested > this on: > Linux : x86_64-linux (cfarm gcc122) > Darwin (x86_64-darwin16), > with the same results on both platforms. > > 1) I applied the two testcases (note I have renamed > lambda-09-capture-object.C => lambda-11-capture-object.C so that the test > numbers are sequential). However, I have not changed the test in any other > way. > > Native configuration is x86_64-pc-linux-gnu > > === g++ tests === > > Schedule of variations: > unix/-m32 > unix/-m64 > > Running target unix/-m32 > Using /usr/share/dejagnu/baseboards/unix.exp as board description file for > target. > Using /usr/share/dejagnu/config/unix.exp as generic interface file for target. > Using /home/iains/gcc-master/src-patched/gcc/testsuite/config/default.exp as > tool-and-target-specific interface file. > Running > /home/iains/gcc-master/src-patched/gcc/testsuite/g++.dg/coroutines/coroutines.exp > ... > FAIL: g++.dg/coroutines/co-await-syntax-10.C (internal compiler error) > FAIL: g++.dg/coroutines/co-await-syntax-10.C (test for excess errors) > FAIL: g++.dg/coroutines/torture/lambda-11-capture-object.C (internal compiler > error) > FAIL: g++.dg/coroutines/torture/lambda-11-capture-object.C (test for excess > errors) > Running > /home/iains/gcc-master/src-patched/gcc/testsuite/g++.dg/coroutines/torture/coro-torture.exp > ... > FAIL: g++.dg/coroutines/torture/lambda-11-capture-object.C -O0 (internal > compiler error) > FAIL: g++.dg/coroutines/torture/lambda-11-capture-object.C -O0 (test for > excess errors) > > Running target unix/-m64 > Using /usr/share/dejagnu/baseboards/unix.exp as board description file for > target. > Using /usr/share/dejagnu/config/unix.exp as generic interface file for target. > Using /home/iains/gcc-master/src-patched/gcc/testsuite/config/default.exp as > tool-and-target-specific interface file. > Running > /home/iains/gcc-master/src-patched/gcc/testsuite/g++.dg/coroutines/coroutines.exp > ... > FAIL: g++.dg/coroutines/co-await-syntax-10.C (internal compiler error) > FAIL: g++.dg/coroutines/co-await-syntax-10.C (test for excess errors) > FAIL: g++.dg/coroutines/torture/lambda-11-capture-object.C (internal compiler > error) > FAIL: g++.dg/coroutines/torture/lambda-11-capture-object.C (test for excess > errors) > Running > /home/iains/gcc-master/src-patched/gcc/testsuite/g++.dg/coroutines/torture/coro-torture.exp > ... > FAIL: g++.dg/coroutines/torture/lambda-11-capture-object.C -O0 (internal > compiler error) > FAIL: g++.dg/coroutines/torture/lambda-11-capture-object.C -O0 (test for > excess errors) > > ^^ so, this shows that both tests fail (co-await-syntax-10.C is expected) > > 2) I apply Bin’s patch (Pickup more CO_AWAIT_EXPR expanding cases) (which is > approved) > > Native configuration is x86_64-pc-linux-gnu > > === g++ tests === > > Schedule of variations: > unix/-m32 > unix/-m64 > > Running target unix/-m32 > Using /usr/share/dejagnu/baseboards/unix.exp as board description file for > target. > Using /usr/share/dejagnu/config/unix.exp as generic interface file for target. > Using /home/iains/gcc-master/src-patched/gcc/testsuite/config/default.exp as > tool-and-target-specific interface file. > Running > /home/iains/gcc-master/src-patched/gcc/testsuite/g++.dg/coroutines/coroutines.exp > ... > FAIL: g++.dg/coroutines/torture/lambda-11-capture-object.C (internal compiler > error) > FAIL: g++.dg/coroutines/torture/lambda-11-capture-object.C (test for excess > errors) > Running > /home/iains/gcc-master/src-patched/gcc/testsuite/g++.dg/coroutines/torture/coro-torture.exp > ... > FAIL: g++.dg/coroutines/torture/lambda-11-capture-object.C -O0 (internal > compiler error) > FAIL: g++.dg/coroutines/torture/lambda-11-capture-object.C -O0 (test for > excess errors) > > Running target unix/-m64 > Using /usr/share/dejagnu/baseboards/unix.exp as board description file for > target. > Using /usr/share/dejagnu/config/unix.exp as generic interface file for target. > Using /home/iains/gcc-master/src-patched/gcc/testsuite/config/default.exp as > tool-and-target-specific interface file. > Running > /home/iains/gcc-master/src-patched/gcc/testsuite/g++.dg/coroutines/coroutines.exp > ... > FAIL: g++.dg/coroutines/torture/lambda-11-capture-object.C (internal compiler > error) > FAIL: g++.dg/coroutines/torture/lambda-11-capture-object.C (test for excess > errors) > Running > /home/iains/gcc-master/src-patched/gcc/testsuite/g++.dg/coroutines/torture/coro-torture.exp > ... > FAIL: g++.dg/coroutines/torture/lambda-11-capture-object.C -O0 (internal > compiler error) > FAIL: g++.dg/coroutines/torture/lambda-11-capture-object.C -O0 (test for > excess errors) > > ^^^ this shows that co-await-syntax-10.C is now OK (which is why I was happy > to have this patch applied). > > 3) I apply JunMa’s patch (Do not strip cleanup_point when promote temporaries > out of current stmt) > > Native configuration is x86_64-pc-linux-gnu > > === g++ tests === > > Schedule of variations: > unix/-m32 > unix/-m64 > > Running target unix/-m32 > Using /usr/share/dejagnu/baseboards/unix.exp as board description file for > target. > Using /usr/share/dejagnu/config/unix.exp as generic interface file for target. > Using /home/iains/gcc-master/src-patched/gcc/testsuite/config/default.exp as > tool-and-target-specific interface file. > Running > /home/iains/gcc-master/src-patched/gcc/testsuite/g++.dg/coroutines/coroutines.exp > ... > FAIL: g++.dg/coroutines/torture/lambda-11-capture-object.C (internal compiler > error) > FAIL: g++.dg/coroutines/torture/lambda-11-capture-object.C (test for excess > errors) > Running > /home/iains/gcc-master/src-patched/gcc/testsuite/g++.dg/coroutines/torture/coro-torture.exp > ... > FAIL: g++.dg/coroutines/torture/lambda-11-capture-object.C -O0 (internal > compiler error) > FAIL: g++.dg/coroutines/torture/lambda-11-capture-object.C -O0 (test for > excess errors) > > Running target unix/-m64 > Using /usr/share/dejagnu/baseboards/unix.exp as board description file for > target. > Using /usr/share/dejagnu/config/unix.exp as generic interface file for target. > Using /home/iains/gcc-master/src-patched/gcc/testsuite/config/default.exp as > tool-and-target-specific interface file. > Running > /home/iains/gcc-master/src-patched/gcc/testsuite/g++.dg/coroutines/coroutines.exp > ... > FAIL: g++.dg/coroutines/torture/lambda-11-capture-object.C (internal compiler > error) > FAIL: g++.dg/coroutines/torture/lambda-11-capture-object.C (test for excess > errors) > Running > /home/iains/gcc-master/src-patched/gcc/testsuite/g++.dg/coroutines/torture/coro-torture.exp > ... > FAIL: g++.dg/coroutines/torture/lambda-11-capture-object.C -O0 (internal > compiler error) > FAIL: g++.dg/coroutines/torture/lambda-11-capture-object.C -O0 (test for > excess errors) > > ^^^ and there is no change to the result. > > ==== > > If it helps, I could push a branch to users/iains/ on the FSF git server with > this sequence. Sorry for being slow replying. This is weird, were you testing against trunk?
Let's put other patches aside and consider only "Do not strip cleanup_point when promote temporaries out of current stmt". Here is what I got: master: 6d44c881286762628afce5169d921a388ae6a1ff Applying patch from: "Do not strip cleanup_point when promote temporaries out of current stmt". Configuring GCC: $ ../gcc/configure --prefix=... --disable-bootstrap --disable-multilib --disable-libasan --disable-libusan --with-isl=... --enable-languages=c,c++ --disable-libsanitizer Run make check: $ make check-gcc RUNTESTFLAGS="coroutines.exp=lambda-09-capture-object.C" The result: Running target unix Running /.../gcc/gcc/testsuite/g++.dg/coroutines/coroutines.exp ... PASS: g++.dg/coroutines/torture/lambda-09-capture-object.C (test for excess errors) Note I can't run following check: $ make check-gcc RUNTESTFLAGS="coro-torture.exp=lambda-09-capture-object.C" because it errors like: Running /.../gcc/gcc/testsuite/g++.dg/coroutines/torture/coro-torture.exp ... ERROR: tcl error sourcing /.../gcc/gcc/testsuite/g++.dg/coroutines/torture/coro-torture.exp. ERROR: can't read "DEFAULT_CXXFLAGS": no such variable while executing "set DEFAULT_COROFLAGS $DEFAULT_CXXFLAGS" (file "/.../gcc/gcc/testsuite/g++.dg/coroutines/torture/coro-torture.exp" line 11) invoked from within "source /.../gcc/gcc/testsuite/g++.dg/coroutines/torture/coro-torture.exp" ("uplevel" body line 1) invoked from within "uplevel #0 source /.../gcc/gcc/testsuite/g++.dg/coroutines/torture/coro-torture.exp" invoked from within "catch "uplevel #0 source $test_file_name"" So I suspect you were testing with local changes? If so, please push the branch. Thanks, bin > > thanks for your patience, > Iain > >