From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 8928 invoked by alias); 1 May 2012 17:39:47 -0000 Received: (qmail 8919 invoked by uid 22791); 1 May 2012 17:39:46 -0000 X-SWARE-Spam-Status: No, hits=-3.6 required=5.0 tests=ALL_TRUSTED,AWL,BAYES_00,UPPERCASE_50_75 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; Tue, 01 May 2012 17:39:34 +0000 From: "michael.a.richmond at nasa dot gov" To: gcc-bugs@gcc.gnu.org Subject: [Bug fortran/53175] New: Fortran 4.8 undefined reference to a variable in a module Date: Tue, 01 May 2012 17:39: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: michael.a.richmond at nasa dot gov 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-05/txt/msg00017.txt.bz2 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53175 Bug #: 53175 Summary: Fortran 4.8 undefined reference to a variable in a module Classification: Unclassified Product: gcc Version: 4.8.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: fortran AssignedTo: unassigned@gcc.gnu.org ReportedBy: michael.a.richmond@nasa.gov Host: i686-pc-linux-gnu Target: i686-pc-linux-gnu Build: i686-pc-linux-gnu This error occurs only in gnu Fortran 4.8 dated 04/08/2012 or later. If I type "gfortran main.f90 e.f90 s.f90" I get the following error message: /tmp/ccwf6p16.o: In function `default_settings.1813': s.f90:(.text+0x1b): undefined reference to `__energy_function_MOD_dim' /tmp/ccwf6p16.o: In function `set_simplex_options.1815': s.f90:(.text+0x1cd): undefined reference to `__energy_function_MOD_dim' collect2: error: ld returned 1 exit status If I concatenate e.f90 and s.f90 so that they are compiled as a single file, the error goes away. Listed below are the contents of these files: main.f90 PROGRAM main END PROGRAM main e.f90 MODULE ENERGY_FUNCTION IMPLICIT NONE TYPE PARAM PRIVATE INTEGER :: WHICH_VECTOR END TYPE PARAM INTEGER, PRIVATE :: DIM CONTAINS FUNCTION ENERGY_FUNCTION_CURRENT_ARGS() INTEGER, DIMENSION(DIM) :: ENERGY_FUNCTION_CURRENT_ARGS END FUNCTION ENERGY_FUNCTION_CURRENT_ARGS FUNCTION ENERGY_FUNCTION_GET_PARAMS() TYPE(PARAM), DIMENSION(DIM) :: ENERGY_FUNCTION_GET_PARAMS END FUNCTION ENERGY_FUNCTION_GET_PARAMS END MODULE ENERGY_FUNCTION s.f90 MODULE SEARCH_EMIN USE ENERGY_FUNCTION IMPLICIT NONE CONTAINS SUBROUTINE SEARCH_EMIN_START() TYPE(PARAM), DIMENSION(:), ALLOCATABLE :: EF_PARAMS DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: START_PARAMETERS CALL SET_SIMPLEX_OPTIONS CONTAINS SUBROUTINE SET_SIMPLEX_OPTIONS EF_PARAMS = ENERGY_FUNCTION_GET_PARAMS() CALL DEFAULT_SETTINGS END SUBROUTINE SET_SIMPLEX_OPTIONS SUBROUTINE DEFAULT_SETTINGS START_PARAMETERS = ENERGY_FUNCTION_CURRENT_ARGS() END SUBROUTINE DEFAULT_SETTINGS END SUBROUTINE SEARCH_EMIN_START END MODULE SEARCH_EMIN