On Mon, Dec 26, 2011 at 05:14:46PM +0100, Dominique Dhumieres wrote: > > I regression tested the patch on i686-*-freebsd. No problems occurred. > > Can one of the other gfortran reviewers/committers cast a quick glance > > over the patch. I would like to commit this within next day or two. > > I have applied the patch on trunk (incremental update). I did not get any > regression on x86_64-apple-darwin10 with either -m32 or -m64.
Thanks for testing. > I get > > === gfortran Summary for unix/-m32/-finteger-4-integer-8 === > > # of expected passes 37336 > # of unexpected failures 896 > # of expected failures 39 > # of unresolved testcases 1 > # of unsupported tests 570 > > === gfortran Summary for unix/-m64/-finteger-4-integer-8 === > > # of expected passes 37728 > # of unexpected failures 840 > # of expected failures 39 > # of unsupported tests 409 > > related to pr32770. > > I did not have the time to go through the details of the failures, but > (1) there are a few ICEs after error as in > > FAIL: gfortran.dg/coarray/image_index_1.f90 -fcoarray=lib -O2 -lcaf_single > (internal compiler error) > Excess errors: > /opt/gcc/work/gcc/testsuite/gfortran.dg/coarray/image_index_1.f90:14:0:0: > error: mismatching comparison operand types > integer(kind=4) > integer(kind=8) > one = _gfortran_caf_num_images.66 == 1; > ... > /opt/gcc/work/gcc/testsuite/gfortran.dg/coarray/image_index_1.f90:14:0:0: > error: mismatching comparison operand types > integer(kind=8) > integer(kind=4) > D.2567 = D.2100 <= _gfortran_caf_num_images.66; > /opt/gcc/work/gcc/testsuite/gfortran.dg/coarray/image_index_1.f90:14:0:0: > internal compiler error: verify_gimple failed > > These ICEs on invalid occur mostly in coarray tests, but I also see > > FAIL: gfortran.dg/popcnt_poppar_2.F90 -O0 (internal compiler error) > FAIL: gfortran.dg/popcnt_poppar_2.F90 -O0 (test for excess errors) > Excess errors: > /opt/gcc/work/gcc/testsuite/gfortran.dg/popcnt_poppar_2.F90:30:0:0: error: > type mismatch in binary expression > integer(kind=8) > integer(kind=4) > integer(kind=4) > res = D.1935 + D.1938; > /opt/gcc/work/gcc/testsuite/gfortran.dg/popcnt_poppar_2.F90:30:0:0: internal > compiler error: verify_gimple failed > > I think the errors are exepcted, but gfortran should exit without ICE. I'll` > fill a pr when the patch will be committed. This is worrisome. These types of options go from debugging aids to people depending on them for production codes. I'll seee if I can reproduce some of yor observation to try to understand the issues. > The manual could probably lists some expected breakages such as this one. Good point. I'll update the manual to indicate that these options are intended for debugging purposes and that there are known issues. > > The difference between -fdefault-*-8 and -f*-4-*-8 should probably also be > documented. > It is documented for the -freal-* options. The manual has, for example, -freal-4-real-8 Promote REAL(KIND=4) entities to REAL(KIND=8) entities. If KIND=8 is unavail- able, then an error will be issued. All other real kind types are unaffected by this option. The last sentence is the same for the other options. This literally means that only REAL(4) is effected by the -freal-4-real-8 option. If one reads he description of -fdefault-*, one will that -freal-4-real-8 is equivalent to specifying both -fdefault-real-8 and -fdefault-double-8. > Last point for this batch is that using '-freal-8-real-10 -freal-8-real-16' > does not > generate an error, the last option being the one used. Yes, that is correct. Consider it to be similar to '-Os -O -O2 -O0'. The last one wins. Note, there is this combination: '-freal-4-real-8 -freal-8-real-16' which will promote both REAL(4) and (8) to REAL(16). -- Steve