On 05/09/2017 08:37 AM, Fritz Reese wrote: > https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80668 > > All, > > The following fixes a bug exposed in PR 80668 in which the compiler > attempted to generate an initializer for components of derived types > with the POINTER attribute when compiling with -finit-derived and > -finit-*=*. It is nonsensical for components with the POINTER > attribute to have initializers generated in this way. The resolution > phase caught the resulting contradictions, resulting in an error for > the testcase given in the PR. > > With the patch all regression tests pass except for the following, > which already fail in the current trunk (r247800): > > Running /data/midas/foreese/src/gcc-dev/gcc/testsuite/gfortran.dg/dg.exp ... > FAIL: gfortran.dg/coarray_lock_7.f90 -O scan-tree-dump-times > original "_gfortran_caf_lock \\(caf_token.., \\(3 - > \\(integer\\(kind=4\\)\\) parm...dim\\[0\\].lbound\\) \\+ > \\(integer\\(kind=4\\)\\) MAX_EXPR <\\(parm...dim\\[0\\].ubound - > parm...dim\\[0\\].lbound\\) \\+ 1, 0> \\* \\(3 - > \\(integer\\(kind=4\\)\\) parm...dim\\[1\\].lbound\\), 0, 0B, &ii, 0B, > 0\\);|_gfortran_caf_lock \\(caf_token.1, \\(3 - > parm...dim\\[0\\].lbound\\) \\+ MAX_EXPR <\\(parm...dim\\[0\\].ubound > - parm...dim\\[0\\].lbound\\) \\+ 1, 0> \\* \\(3 - > parm...dim\\[1\\].lbound\\), 0, 0B, &ii, 0B, 0\\);" 1 > FAIL: gfortran.dg/coarray_lock_7.f90 -O scan-tree-dump-times > original "_gfortran_caf_unlock \\(caf_token.., \\(2 - > \\(integer\\(kind=4\\)\\) parm...dim\\[0\\].lbound\\) \\+ > \\(integer\\(kind=4\\)\\) MAX_EXPR <\\(parm...dim\\[0\\].ubound - > parm...dim\\[0\\].lbound\\) \\+ 1, 0> \\* \\(3 - > \\(integer\\(kind=4\\)\\) parm...dim\\[1\\].lbound\\), 0, &ii, 0B, > 0\\);|_gfortran_caf_unlock \\(caf_token.., \\(2 - > parm...dim\\[0\\].lbound\\) \\+ MAX_EXPR <\\(parm...dim\\[0\\].ubound > - parm...dim\\[0\\].lbound\\) \\+ 1, 0> \\* \\(3 - > parm...dim\\[1\\].lbound\\), 0, &ii, 0B, 0\\);" 1 > FAIL: gfortran.dg/mvbits_7.f90 -O0 (test for warnings, line 28) > > > OK for trunk? >
Looks OK, thanks, Jerry