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

Reply via email to