This is the mail archive of the
mailing list for the GCC project.
Re: [patch] cilkplus array notation for C (clean, independent patchset, take 1)
- From: Aldy Hernandez <aldyh at redhat dot com>
- To: Jakub Jelinek <jakub at redhat dot com>
- Cc: Jeff Law <law at redhat dot com>, "Joseph S. Myers" <joseph at codesourcery dot com>, "Iyer, Balaji V" <balaji dot v dot iyer at intel dot com>, gcc-patches <gcc-patches at gcc dot gnu dot org>
- Date: Thu, 21 Mar 2013 08:00:53 -0500
- Subject: Re: [patch] cilkplus array notation for C (clean, independent patchset, take 1)
- References: <5149D62F dot 9070503 at redhat dot com> <5149E4C7 dot 1090206 at redhat dot com> <514A9B12 dot 8050502 at redhat dot com> <20130321060933 dot GQ12913 at tucnak dot redhat dot com>
On 03/21/13 01:09, Jakub Jelinek wrote:
On Wed, Mar 20, 2013 at 11:30:58PM -0600, Jeff Law wrote:
On 03/20/2013 10:33 AM, Aldy Hernandez wrote:
As I'd mentioned, you have .exp files named compile.exp and execute.exp
which seem to be causing ambiguity problems in parallel checks (make
check -jN). For some reason, with this patch, the rest of dg.exp fails
to run after Cilkplus' compile/execute.exp runs. Renaming these to
something less generic does the trick. Do you mind prefixing all the
.exp's with "cilkplus_" or something similar?
Renaming is desirable anyway, people who run make check-gcc
execute.exp=something don't expect to run also some subset of cilk+ tests.
The Makefile runs some execute.exp=2* and similar when parallelized, see
check_gcc_parallelize in gcc/Makefile.in.
Right, that's exactly how I found the problem :).
Anyway, have you tested that without parallelization make check doesn't skip
some tests? Often when a new *.exp file say sets some globals and never
resets them, this could affect following *.exp files.
Balaji, please check the corresponding .sum files before and after your
patch to make sure that the same number of tests are being tested. We
have a nifty script in contrib/compare_tests for this task.
And as Jakub has said, check (with and) without parallelization.