[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