[prev in list] [next in list] [prev in thread] [next in thread]
List: gcc-fortran
Subject: *ping* Re: [Patch, Fortran] PR48858 - COMMON - Fix global/local identifier issues with C binding
From: Tobias Burnus <burnus () net-b ! de>
Date: 2013-05-18 16:29:14
Message-ID: 5197AC5A.9050908 () net-b ! de
[Download RAW message or body]
* PING *
Patches in this trilogy:
* http://gcc.gnu.org/ml/fortran/2013-05/msg00048.html - COMMON
* http://gcc.gnu.org/ml/fortran/2013-05/msg00051.html - PROCEDURE
* http://gcc.gnu.org/ml/fortran/2013-05/msg00056.html - more on bind
label handling
Especially the first one should be rather simple to review.
Tobias
On May 13, 2013 Tobias Burnus wrote:
> First, it adds a missing -std=f95 check for Fortran 2003's BIND(C)
> statement.
>
>
> Secondly, it honors the COMMON identifier changes of Fortran 2008. In
> Fortran 2003, one has:
>
> "The name of a program unit, common block, or external procedure is a
> global identifier and shall not be the same as the name of any other
> such global entity in the same program." (16.1 Scope of global
> identifiers)
>
> In Fortran 2008 it has been modified to:
>
> "The name of a common block with no binding label, external procedure
> with no binding label, or program unit that is not a submodule is a
> global identifier." (16.2 Scope of global identifiers)
>
> Thus, this patch only generates a "gsym" if a common block either has
> no binding label or -std=f2003 is used. Additionally, it ensures in
> trans-common.c that this is correctly handled.
>
>
> Build and regtested on x86-64-gnu-linux.
> OK for the trunk?
>
> Tobias
>
> PS: Still to be done is a similar change for procedures. Except that
> for procedures even more changes are required, e.g. having two
> identical INTERFACE (with different Fortran name but same binding
> name) is valid.
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic