This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug fortran/45586] [4.6 Regression] ICE non-trivial conversion at assignment


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

--- Comment #11 from Joost VandeVondele <Joost.VandeVondele at pci dot uzh.ch> 2010-11-25 17:00:19 UTC ---
(In reply to comment #10)
> Thus, isn't what the program does equivalent to
> 
>   REAL(dp), DIMENSION(:, :, :), ALLOCATABLE :: z
>   REAL(dp), DIMENSION(:, :, :), POINTER    :: y
>   y=>z
> 
> which is invalid?  Valid would only be
> 
>   REAL(dp), DIMENSION(:, :, :), ALLOCATABLE, TARGET :: z
>   REAL(dp), DIMENSION(:, :, :), POINTER    :: y
>   y=>z
> 
> ?

no, your example here is different, and is not allowed. The original testcase
is fine. 

so y=>a%b%c%d%z

is allowed as soon as any of a, b, c, or d or z  have the pointer attribute.
That z is allocatable doesn't matter.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]