From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 18582 invoked by alias); 18 Jan 2009 14:28:52 -0000 Received: (qmail 18558 invoked by uid 48); 18 Jan 2009 14:28:40 -0000 Date: Sun, 18 Jan 2009 14:28:00 -0000 Message-ID: <20090118142840.18557.qmail@sourceware.org> X-Bugzilla-Reason: CC References: Subject: [Bug fortran/38883] [4.4 Regression] ICE for MVBITS with derived type argument that has run-time subscripts In-Reply-To: Reply-To: gcc-bugzilla@gcc.gnu.org To: gcc-bugs@gcc.gnu.org From: "burnus 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-01/txt/msg02004.txt.bz2 ------- Comment #3 from burnus at gcc dot gnu dot org 2009-01-18 14:28 ------- Slightly reduced test case below. If the FROM= and TO= arguments ("A()%I") are not the same, the program does not ICE. Neither does it if one changes the bound "N2" to "2" (but it does if one changes the second argument to "(2:1:-1)"). Thus the problem seems to be closely linked with needing to create a copy of the second argument. That is related to PR 38887, where unpacking the copied 2nd argument generated an ICE at run time. module yg0009_stuff implicit none type unseq integer I end type contains SUBROUTINE YG0009(A,N2) TYPE(UNSEQ) A(2) TYPE(UNSEQ) B(2) integer :: N2 CALL MVBITS (A(1:2)%I,1, 1, A(1:N2)%I, 1) END SUBROUTINE end module yg0009_stuff -- burnus at gcc dot gnu dot org changed: What |Removed |Added ---------------------------------------------------------------------------- Summary|[4.4 Regression] Internal |[4.4 Regression] ICE for |Compiler Error for MVBITS |MVBITS with derived type |with derived type argument |argument that has run-time |that has run-time subscripts|subscripts http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38883