From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 8915 invoked by alias); 15 Jun 2012 14:35:34 -0000 Received: (qmail 8750 invoked by uid 22791); 15 Jun 2012 14:35:32 -0000 X-SWARE-Spam-Status: No, hits=-3.6 required=5.0 tests=ALL_TRUSTED,AWL,BAYES_00 X-Spam-Check-By: sourceware.org Received: from localhost (HELO gcc.gnu.org) (127.0.0.1) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Fri, 15 Jun 2012 14:35:16 +0000 From: "ajmay81 at googlemail dot com" To: gcc-bugs@gcc.gnu.org Subject: [Bug fortran/53685] New: surprising warns about transfer with explicit character range Date: Fri, 15 Jun 2012 14:35:00 -0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: new X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: fortran X-Bugzilla-Keywords: X-Bugzilla-Severity: normal X-Bugzilla-Who: ajmay81 at googlemail dot com X-Bugzilla-Status: UNCONFIRMED X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Changed-Fields: Message-ID: X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/ Auto-Submitted: auto-generated Content-Type: text/plain; charset="UTF-8" MIME-Version: 1.0 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: 2012-06/txt/msg01020.txt.bz2 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53685 Bug #: 53685 Summary: surprising warns about transfer with explicit character range Classification: Unclassified Product: gcc Version: 4.7.1 Status: UNCONFIRMED Severity: normal Priority: P3 Component: fortran AssignedTo: unassigned@gcc.gnu.org ReportedBy: ajmay81@googlemail.com Fortran code: subroutine test() implicit none character(len=4) :: record_type integer :: i i=transfer(record_type,i) ! no warning i=transfer(record_type(1:4),i) ! warning return end gfortran -c -Wsurprising test.f test.f:6.17: i=transfer(record_type(1:4),i) ! warning 1 Warning: Intrinsic TRANSFER at (1) has partly undefined result: source size 0 < result size 4 When the string length is explicitly given the compiler thinks it is length 0, even though it is the same length as the previous instance. Seen with 4.7.1 built from source.