------- Comment #11 from pault at gcc dot gnu dot org 2010-03-15 17:23 -------
(In reply to comment #10)
> Will check this out as soon as I am back at base.
HJ,
4.4 does not deal with the original problem and so still produces the
unnecessary temporaries.
from the end of internal_pack12.f90...
! { dg-final { scan-tree-dump-times "unpack" 4 "original" } }
! { dg-final { cleanup-tree-dump "original" } }
! { dg-final { cleanup-modules "m" } }
[pa...@localhost pr43243]# /irun4.4/bin/gfortran -static -fdump-tree-original
/svn/trunk/gcc/testsuite/gfortran.dg/internal_pack_12.f90
[pa...@localhost pr43243]# grep unpack *nal
_gfortran_internal_unpack (&a->a, D.1552);
_gfortran_internal_unpack (&parm.0, D.1556);
_gfortran_internal_unpack (&parm.1, D.1561);
_gfortran_internal_unpack (&parm.2, D.1566);
_gfortran_internal_unpack (&parm.3, D.1570);
_gfortran_internal_unpack (&parm.4, D.1575);
_gfortran_internal_unpack (&parm.5, D.1580);
_gfortran_internal_unpack (&parm.6, D.1584);
_gfortran_internal_unpack (&parm.7, D.1589);
_gfortran_internal_unpack (&parm.8, D.1594);
_gfortran_internal_unpack (&parm.9, D.1598);
_gfortran_internal_unpack (&y.b, D.1845);
That's why it's failing. I suggest strongly that the test not be backported to
4.4.
I am resolving this as INVALID although I am a bit unhappy about marking a
sensible, precautionary PR in this way.
Thanks for the report nevertheless!
Paul
--
pault at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |RESOLVED
Resolution| |INVALID
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43243