This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug fortran/45586] [4.6 Regression] ICE non-trivial conversion at assignment
- From: "Joost.VandeVondele at pci dot uzh.ch" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Thu, 25 Nov 2010 17:00:29 +0000
- Subject: [Bug fortran/45586] [4.6 Regression] ICE non-trivial conversion at assignment
- Auto-submitted: auto-generated
- References: <bug-45586-4@http.gcc.gnu.org/bugzilla/>
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.