From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 30957 invoked by alias); 4 Jul 2009 12:38:19 -0000 Received: (qmail 30857 invoked by uid 48); 4 Jul 2009 12:38:02 -0000 Date: Sat, 04 Jul 2009 12:38:00 -0000 Message-ID: <20090704123802.30856.qmail@sourceware.org> X-Bugzilla-Reason: CC References: Subject: [Bug fortran/40646] ICE assigning array return value from type-bound procedure In-Reply-To: Reply-To: gcc-bugzilla@gcc.gnu.org To: gcc-bugs@gcc.gnu.org From: "janus at gcc dot gnu dot org" Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org X-SW-Source: 2009-07/txt/msg00330.txt.bz2 ------- Comment #2 from janus at gcc dot gnu dot org 2009-07-04 12:38 ------- The same program with procedure pointer components instead of type-bound procedures gives a different ICE: module bugTestMod implicit none type:: boundTest procedure(returnMat), pointer, nopass:: test end type boundTest contains function returnMat( a, b ) result( mat ) integer:: a, b double precision, dimension(a,b):: mat mat = 1d0 end function returnMat end module bugTestMod program bugTest use bugTestMod implicit none !double precision, dimension(2,2):: testCatch type( boundTest ):: testObj testObj%test => returnMat ! ICE in gfc_trans_pointer_assignment, at fortran/trans-expr.c:4108 !write(*,*)testObj%test(2,2) !testCatch = testObj%test(2,2) !write(*,*)testCatch end program bugTest -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40646