From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 14633 invoked by alias); 16 Jul 2010 10:08:25 -0000 Received: (qmail 14510 invoked by uid 48); 16 Jul 2010 10:08:12 -0000 Date: Fri, 16 Jul 2010 10:08:00 -0000 Message-ID: <20100716100812.14509.qmail@sourceware.org> X-Bugzilla-Reason: CC References: Subject: [Bug fortran/44945] [4.6 Regression] Wrong decl for module vars / FAIL: gfortran.dg/char_array_structure_constructor.f90 In-Reply-To: Reply-To: gcc-bugzilla@gcc.gnu.org To: gcc-bugs@gcc.gnu.org From: "jakub 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: 2010-07/txt/msg01689.txt.bz2 ------- Comment #12 from jakub at gcc dot gnu dot org 2010-07-16 10:08 ------- As can be seen on: module mm contains function a () integer :: a, b, c common /blk/ b, c b = 6 c = 7 a = 8 end function end module mm function b () integer :: b, d, e common /blk/ d, e b = d + e end function program qq use mm integer :: d, e common /blk/ d, e interface function b () integer :: b end function b end interface if (a () .ne. 8) call abort if (b () .ne. (d + e)) call abort end with -fdump-tree-original-all, I believe common decls are fine: grep blk a.f90.003t.original static integer(kind=4)D.8 bD.1555 [value-expr: blk_D.1554.bD.1552]; static integer(kind=4)D.8 cD.1556 [value-expr: blk_D.1554.cD.1553]; static integer(kind=4)D.8 dD.1562 [value-expr: blk_D.1554.dD.1560]; static integer(kind=4)D.8 eD.1563 [value-expr: blk_D.1554.eD.1561]; static integer(kind=4)D.8 dD.1569 [value-expr: blk_D.1554.dD.1567]; static integer(kind=4)D.8 eD.1570 [value-expr: blk_D.1554.eD.1568]; -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44945