------- 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