Le 13/08/2013 20:23, Janis Johnson a écrit : > On 08/13/2013 04:06 AM, Thomas Schwinge wrote: >> Hi! >> >> I noticed something strange in the libgomp testresults (but not >> necessarily specific to libgomp): an "arbitrary" set of the Fortran >> execution tests are run just for -O, and others for each of the full set >> of torture options: -O0, -O1, -O2, and so on. After some time I realized >> it's the set of tests that contain an explicit »dg-do run« directive that >> are run for all torture levels, and the tests that inherit the default >> »set dg-do-what-default run« from libgomp/testsuite/lib/libgomp.exp are >> only run for -O. This is coming from the special handling in >> gcc/testsuite/lib/gfortran-dg.exp:gfortran-dg-test (which seems to be >> present approximately "forever").
gfortran-dg.exp is (obviously) supposed to handle the gcc/testsuite/gfortran.dg/* tests, which exercise the fortran front-end. The tests come in mostly two flavors: - compile ones checking the error reporting and lack of failed assert, segmentation fault etc. - run ones checking the code generated. Only the run time ones get checked against multiple optimization options because they are the ones concerned with code generation. I suppose the gomp implementers just picked gfortran-dg.exp to have the parsing of error messages coming from fortran tests, and they inherited from the above. >> Should this consider the >> dg-do-what-default case, too? For gfortran.dg, the default is compile IIRC, so it's OK as is. For libgomp, I guess more consistency wouldn't harm. To be honest I would expect the default case to be first resolved to either compile or run and then handled as if it was explicitly specified. That's not how it works, it seems. :-/ Mikael