------- Comment #3 from rguenth at gcc dot gnu dot org  2010-09-08 09:36 -------
Confirmed.  We have two different array3_real(kind=8) record types that are
not considered compatible.  One data pointer member is restrict qualified
while the other one is not.

Why do we have an aggregate assignment of an array descriptor anyway?

  struct array3_real(kind=8) y;
  struct realspace_grid_type * D.2157;

<bb 2>:
  y.data = 0B;
  D.2157_5 = *x_4(D);
  y = D.2157_5->r;
  D.2172_6 = y.data;

The issue here is of course that LTO re-computes TYPE_CANONICAL and the FE
sets it in a way that the above situation is not detected as non-trivial
conversion.


-- 

rguenth at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
     Ever Confirmed|0                           |1
           Keywords|                            |lto
   Last reconfirmed|0000-00-00 00:00:00         |2010-09-08 09:36:18
               date|                            |


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45586

Reply via email to