From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 10837 invoked by alias); 9 May 2012 17:23:01 -0000 Received: (qmail 10826 invoked by uid 22791); 9 May 2012 17:23:00 -0000 X-SWARE-Spam-Status: No, hits=-4.3 required=5.0 tests=ALL_TRUSTED,AWL,BAYES_00,KHOP_THREADED 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; Wed, 09 May 2012 17:22:47 +0000 From: "burnus at gcc dot gnu.org" To: gcc-bugs@gcc.gnu.org Subject: [Bug fortran/53296] Segfault on non-constant character array constructor containing kind spec Date: Wed, 09 May 2012 17:24:00 -0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: fortran X-Bugzilla-Keywords: wrong-code X-Bugzilla-Severity: normal X-Bugzilla-Who: burnus at gcc dot gnu.org 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: Keywords CC Known to fail Message-ID: In-Reply-To: References: 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-05/txt/msg01047.txt.bz2 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53296 Tobias Burnus changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords| |wrong-code CC| |burnus at gcc dot gnu.org Known to fail| |4.6.1, 4.8.0 --- Comment #1 from Tobias Burnus 2012-05-09 17:22:43 UTC --- It also doesn't segfault if one replaces the call by: call rou( [character(len=120) :: "123",uCase("abcde"),uCase("ghij")]) Namely: adding as first item in the constructor list a string literal (which by construction has a known length). According to VALGRIND, the problem is an Invalid free() / delete / delete[] / realloc() in line 10 or, if commented, in line 9. Line 9 is the "call rou" line. With ifort 12.1, the programs seems to work while with cryftn it fails at run time with an illegal instruction. In any case, the program looks valid to me.