------- Comment #3 from burnus at gcc dot gnu dot org 2010-03-03 15:53 ------- As it might have not been completely clear from comment 0:
type t [...] integer, pointer :: b(:) end type type(t) :: y y%b => z(::2) call bar(y%b) ! <<< WRONG-CODE: Here a temporary is missing Without the temporary, [1,2,3] instead of [1,3,5] is passed to "bar" and thus the example fails with a call to ABORT. (The rest of example illustrates a missed optimization, which is not a regression.) -- burnus at gcc dot gnu dot org changed: What |Removed |Added ---------------------------------------------------------------------------- Known to fail| |4.5.0 Known to work| |4.3.5 4.4.3 Priority|P3 |P4 Summary|[4.5 Regression] Missing |[4.5 Regression] Wrong-code |array temp for DT with |due to missing array temp |pointer component |for DT with pointer | |component http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43243