public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug fortran/54884] New: [4.8 Regression] Externally used PRIVATE module procedure wrongly marked as TREE_PUBLIC()=0
@ 2012-10-10  7:30 burnus at gcc dot gnu.org
  2012-10-10  7:36 ` [Bug fortran/54884] " dominiq at lps dot ens.fr
                   ` (12 more replies)
  0 siblings, 13 replies; 14+ messages in thread
From: burnus at gcc dot gnu.org @ 2012-10-10  7:30 UTC (permalink / raw)
  To: gcc-bugs


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54884

             Bug #: 54884
           Summary: [4.8 Regression] Externally used PRIVATE module
                    procedure wrongly marked as TREE_PUBLIC()=0
    Classification: Unclassified
           Product: gcc
           Version: 4.8.0
            Status: UNCONFIRMED
          Keywords: wrong-code
          Severity: normal
          Priority: P3
         Component: fortran
        AssignedTo: unassigned@gcc.gnu.org
        ReportedBy: burnus@gcc.gnu.org
                CC: abensonca@gmail.com


As reported by Andrew Benson at
http://gcc.gnu.org/ml/fortran/2012-10/msg00046.html:

Build the FoX library (http://www1.gly.bris.ac.uk/~walker/FoX/), specifically
the version at
http://www1.gly.bris.ac.uk/~walker/FoX/source/FoX-4.1.2-full.tar.gz
leads to link errors:

m_wxml_core.F90:(.text+0x1a2): undefined reference to 
`__m_common_attrs_MOD_get_value_by_index_len'

gfortran 4.8 marks PRIVATE module variables/procedures as TREE_PUBLIC()=0,
however, that shouldn't happen if they are externally visible. In that case,
they shall be marked as attr.public_used - which seemingly doesn't happen in
this case.


In ./common/m_common_attrs.F90 one has:

module m_common_attrs
  private
  !...
  public :: get_key
contains
  pure function get_key_len(dict, i) result(n)
    !...
  end function get_key_len
  ! ...
  function get_key(dict, i) result(key)
    ! ...
    character(len=get_key_len(dict,i)) :: key
  end function get_key
end module m_common_attrs


^ permalink raw reply	[flat|nested] 14+ messages in thread

* [Bug fortran/54884] [4.8 Regression] Externally used PRIVATE module procedure wrongly marked as TREE_PUBLIC()=0
  2012-10-10  7:30 [Bug fortran/54884] New: [4.8 Regression] Externally used PRIVATE module procedure wrongly marked as TREE_PUBLIC()=0 burnus at gcc dot gnu.org
@ 2012-10-10  7:36 ` dominiq at lps dot ens.fr
  2012-10-10  7:42 ` burnus at gcc dot gnu.org
                   ` (11 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: dominiq at lps dot ens.fr @ 2012-10-10  7:36 UTC (permalink / raw)
  To: gcc-bugs


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54884

--- Comment #1 from Dominique d'Humieres <dominiq at lps dot ens.fr> 2012-10-10 07:36:10 UTC ---
Duplicate of pr54221 (see comment #5)?


^ permalink raw reply	[flat|nested] 14+ messages in thread

* [Bug fortran/54884] [4.8 Regression] Externally used PRIVATE module procedure wrongly marked as TREE_PUBLIC()=0
  2012-10-10  7:30 [Bug fortran/54884] New: [4.8 Regression] Externally used PRIVATE module procedure wrongly marked as TREE_PUBLIC()=0 burnus at gcc dot gnu.org
  2012-10-10  7:36 ` [Bug fortran/54884] " dominiq at lps dot ens.fr
@ 2012-10-10  7:42 ` burnus at gcc dot gnu.org
  2012-10-10  8:40 ` rguenth at gcc dot gnu.org
                   ` (10 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: burnus at gcc dot gnu.org @ 2012-10-10  7:42 UTC (permalink / raw)
  To: gcc-bugs


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54884

Tobias Burnus <burnus at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |burnus at gcc dot gnu.org

--- Comment #2 from Tobias Burnus <burnus at gcc dot gnu.org> 2012-10-10 07:42:10 UTC ---
There is the following code in resolve.c's resolve_variable:

  if (specification_expr && sym->attr.access == ACCESS_PRIVATE
      && !sym->attr.function && !sym->attr.use_assoc
      && gfc_current_ns->proc_name && gfc_current_ns->proc_name->attr.function)
    sym->attr.public_used = 1;

I don't have a GCC 4.8 build at hand, but I think the issue is that
  sym->attr.access == ACCESS_PRIVATE
is false. I assume that sym->attr.access == ACCESS_UNKNOWN; one probably needs
to check instead:
          && (sym->ns->default_access == ACCESS_PRIVATE
              || (sym->ns->default_access == ACCESS_UNKNOWN
                  && gfc_option.flag_module_private)))

 * * *

(In reply to comment #1)
> Duplicate of pr54221 (see comment #5)?

Duplicate of PR54221: No, that's a completely separate issue.
Duplicate of PR54221 comment 5: Well, it links to the Andrew's bug-reporting
email, hence, it is a duplicate.


^ permalink raw reply	[flat|nested] 14+ messages in thread

* [Bug fortran/54884] [4.8 Regression] Externally used PRIVATE module procedure wrongly marked as TREE_PUBLIC()=0
  2012-10-10  7:30 [Bug fortran/54884] New: [4.8 Regression] Externally used PRIVATE module procedure wrongly marked as TREE_PUBLIC()=0 burnus at gcc dot gnu.org
  2012-10-10  7:36 ` [Bug fortran/54884] " dominiq at lps dot ens.fr
  2012-10-10  7:42 ` burnus at gcc dot gnu.org
@ 2012-10-10  8:40 ` rguenth at gcc dot gnu.org
  2012-10-10  9:08 ` janus at gcc dot gnu.org
                   ` (9 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: rguenth at gcc dot gnu.org @ 2012-10-10  8:40 UTC (permalink / raw)
  To: gcc-bugs


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54884

Richard Biener <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Target Milestone|---                         |4.8.0


^ permalink raw reply	[flat|nested] 14+ messages in thread

* [Bug fortran/54884] [4.8 Regression] Externally used PRIVATE module procedure wrongly marked as TREE_PUBLIC()=0
  2012-10-10  7:30 [Bug fortran/54884] New: [4.8 Regression] Externally used PRIVATE module procedure wrongly marked as TREE_PUBLIC()=0 burnus at gcc dot gnu.org
                   ` (2 preceding siblings ...)
  2012-10-10  8:40 ` rguenth at gcc dot gnu.org
@ 2012-10-10  9:08 ` janus at gcc dot gnu.org
  2012-10-10 13:24 ` dominiq at lps dot ens.fr
                   ` (8 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: janus at gcc dot gnu.org @ 2012-10-10  9:08 UTC (permalink / raw)
  To: gcc-bugs


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54884

janus at gcc dot gnu.org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |janus at gcc dot gnu.org

--- Comment #3 from janus at gcc dot gnu.org 2012-10-10 09:08:35 UTC ---
(In reply to comment #2)
> (In reply to comment #1)
> > Duplicate of pr54221 (see comment #5)?
> 
> Duplicate of PR54221: No, that's a completely separate issue.
> Duplicate of PR54221 comment 5: Well, it links to the Andrew's bug-reporting
> email, hence, it is a duplicate.

Well, I guess the point is that Dominique claimed that the bug reported by
Andrew is a regression of your commit for PR54221:

http://gcc.gnu.org/ml/fortran/2012-10/msg00047.html


^ permalink raw reply	[flat|nested] 14+ messages in thread

* [Bug fortran/54884] [4.8 Regression] Externally used PRIVATE module procedure wrongly marked as TREE_PUBLIC()=0
  2012-10-10  7:30 [Bug fortran/54884] New: [4.8 Regression] Externally used PRIVATE module procedure wrongly marked as TREE_PUBLIC()=0 burnus at gcc dot gnu.org
                   ` (3 preceding siblings ...)
  2012-10-10  9:08 ` janus at gcc dot gnu.org
@ 2012-10-10 13:24 ` dominiq at lps dot ens.fr
  2012-10-18 17:09 ` burnus at gcc dot gnu.org
                   ` (7 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: dominiq at lps dot ens.fr @ 2012-10-10 13:24 UTC (permalink / raw)
  To: gcc-bugs


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54884

--- Comment #4 from Dominique d'Humieres <dominiq at lps dot ens.fr> 2012-10-10 13:24:42 UTC ---
> Well, I guess the point is that Dominique claimed that the bug reported by
> Andrew is a regression of your commit for PR54221:

The link errors disappear if I revert revision 190325.


^ permalink raw reply	[flat|nested] 14+ messages in thread

* [Bug fortran/54884] [4.8 Regression] Externally used PRIVATE module procedure wrongly marked as TREE_PUBLIC()=0
  2012-10-10  7:30 [Bug fortran/54884] New: [4.8 Regression] Externally used PRIVATE module procedure wrongly marked as TREE_PUBLIC()=0 burnus at gcc dot gnu.org
                   ` (4 preceding siblings ...)
  2012-10-10 13:24 ` dominiq at lps dot ens.fr
@ 2012-10-18 17:09 ` burnus at gcc dot gnu.org
  2012-10-19 10:07 ` burnus at gcc dot gnu.org
                   ` (6 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: burnus at gcc dot gnu.org @ 2012-10-18 17:09 UTC (permalink / raw)
  To: gcc-bugs


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54884

--- Comment #5 from Tobias Burnus <burnus at gcc dot gnu.org> 2012-10-18 17:09:19 UTC ---
Author: burnus
Date: Thu Oct 18 17:09:13 2012
New Revision: 192571

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=192571
Log:
2012-10-18  Tobias Burnus  <burnus@net-b.de>

        PR fortran/54884
        * resolve.c (specification_expr): Change to bool.
        (resolve_formal_arglist, resolve_symbol): Set
        specification_expr to true before resolving the array spec.
        (resolve_variable, resolve_charlen, resolve_fl_variable):
        Properly reset specification_expr.
        (resolve_function): Set public_use when used in
        a specification expr.

2012-10-18  Tobias Burnus  <burnus@net-b.de>

        PR fortran/54884
        * gfortran.dg/public_private_module_7.f90: New.


Added:
    trunk/gcc/testsuite/gfortran.dg/public_private_module_7.f90
Modified:
    trunk/gcc/fortran/ChangeLog
    trunk/gcc/fortran/resolve.c
    trunk/gcc/testsuite/ChangeLog


^ permalink raw reply	[flat|nested] 14+ messages in thread

* [Bug fortran/54884] [4.8 Regression] Externally used PRIVATE module procedure wrongly marked as TREE_PUBLIC()=0
  2012-10-10  7:30 [Bug fortran/54884] New: [4.8 Regression] Externally used PRIVATE module procedure wrongly marked as TREE_PUBLIC()=0 burnus at gcc dot gnu.org
                   ` (5 preceding siblings ...)
  2012-10-18 17:09 ` burnus at gcc dot gnu.org
@ 2012-10-19 10:07 ` burnus at gcc dot gnu.org
  2012-12-19 17:32 ` abensonca at gmail dot com
                   ` (5 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: burnus at gcc dot gnu.org @ 2012-10-19 10:07 UTC (permalink / raw)
  To: gcc-bugs


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54884

Tobias Burnus <burnus at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |RESOLVED
         Resolution|                            |FIXED

--- Comment #6 from Tobias Burnus <burnus at gcc dot gnu.org> 2012-10-19 10:07:23 UTC ---
FIXED on the 4.8 trunk.

Thanks Andrew for the bug report!


^ permalink raw reply	[flat|nested] 14+ messages in thread

* [Bug fortran/54884] [4.8 Regression] Externally used PRIVATE module procedure wrongly marked as TREE_PUBLIC()=0
  2012-10-10  7:30 [Bug fortran/54884] New: [4.8 Regression] Externally used PRIVATE module procedure wrongly marked as TREE_PUBLIC()=0 burnus at gcc dot gnu.org
                   ` (6 preceding siblings ...)
  2012-10-19 10:07 ` burnus at gcc dot gnu.org
@ 2012-12-19 17:32 ` abensonca at gmail dot com
  2012-12-19 18:03 ` abensonca at gmail dot com
                   ` (4 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: abensonca at gmail dot com @ 2012-12-19 17:32 UTC (permalink / raw)
  To: gcc-bugs


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54884

--- Comment #7 from Andrew Benson <abensonca at gmail dot com> 2012-12-19 17:31:47 UTC ---
The fix for this bug has been working for me, but I'm getting reports from
several colleagues (who are trying to install the FoX library so that they can
install my software) that compiling the FoX library fails with what seems to be
the same problem as reported here:

gfortran -g -O2   -o  wxml_example wxml_example.o $(../FoX-config --libs
--wxml)
/home/jlgan/galacticus/soft/FoX-4.1.0/objs/lib/libFoX_wxml.a(m_wxml_core.o): In
function `__m_wxml_core_MOD_write_attributes':
m_wxml_core.F90:(.text+0x1a1): undefined reference to
`__m_common_attrs_MOD_get_value_by_index_len'
m_wxml_core.F90:(.text+0x232): undefined reference to
`__m_common_attrs_MOD_get_key_len'
m_wxml_core.F90:(.text+0x27d): undefined reference to
`__m_common_attrs_MOD_get_value_by_index_len'
m_wxml_core.F90:(.text+0x321): undefined reference to
`__m_common_attrs_MOD_get_key_len'
m_wxml_core.F90:(.text+0x3cc): undefined reference to
`__m_common_attrs_MOD_get_value_by_index_len'
m_wxml_core.F90:(.text+0x431): undefined reference to
`__m_common_attrs_MOD_get_value_by_index_len'
/home/jlgan/galacticus/soft/FoX-4.1.0/objs/lib/libFoX_wxml.a(m_wxml_core.o): In
function `__m_wxml_core_MOD_xml_addattribute_ch':
m_wxml_core.F90:(.text+0x2818): undefined reference to
`__m_common_namespaces_MOD_getprefixindex'
m_wxml_core.F90:(.text+0x2d26): undefined reference to
`__m_common_namespaces_MOD_getprefixindex'
m_wxml_core.F90:(.text+0x3298): undefined reference to
`__m_common_namespaces_MOD_getprefixindex'
/home/jlgan/galacticus/soft/FoX-4.1.0/objs/lib/libFoX_wxml.a(m_wxml_overloads.o):
In function `__m_wxml_overloads_MOD_pseudoattributematrixch':
m_wxml_overloads.F90:(.text+0xc2): undefined reference to
`__fox_m_fsys_format_MOD_str_string_matrix_len'
/home/jlgan/galacticus/soft/FoX-4.1.0/objs/lib/libFoX_wxml.a(m_wxml_overloads.o):
In function `__m_wxml_overloads_MOD_pseudoattributearraych':
m_wxml_overloads.F90:(.text+0xea8): undefined reference to
`__fox_m_fsys_format_MOD_str_string_array_len'
/home/jlgan/galacticus/soft/FoX-4.1.0/objs/lib/libFoX_wxml.a(m_wxml_overloads.o):
In function `__m_wxml_overloads_MOD_attributematrixch':
m_wxml_overloads.F90:(.text+0x2182): undefined reference to
`__fox_m_fsys_format_MOD_str_string_matrix_len'
/home/jlgan/galacticus/soft/FoX-4.1.0/objs/lib/libFoX_wxml.a(m_wxml_overloads.o):
In function `__m_wxml_overloads_MOD_attributearraych':
m_wxml_overloads.F90:(.text+0x2feb): undefined reference to
`__fox_m_fsys_format_MOD_str_string_array_len'
/home/jlgan/galacticus/soft/FoX-4.1.0/objs/lib/libFoX_wxml.a(m_wxml_overloads.o):
In function `__m_wxml_overloads_MOD_charactersmatrixch':
m_wxml_overloads.F90:(.text+0x438e): undefined reference to
`__fox_m_fsys_format_MOD_str_string_matrix_len'
/home/jlgan/galacticus/soft/FoX-4.1.0/objs/lib/libFoX_wxml.a(m_wxml_overloads.o):
In function `__m_wxml_overloads_MOD_charactersarraych':
m_wxml_overloads.F90:(.text+0x4f78): undefined reference to
`__fox_m_fsys_format_MOD_str_string_array_len'
/home/jlgan/galacticus/soft/FoX-4.1.0/objs/lib/libFoX_common.a(m_common_namespaces.o):
In function `__m_common_namespaces_MOD_checknamespaces':
m_common_namespaces.F90:(.text+0x3928): undefined reference to
`__m_common_attrs_MOD_get_key_len'
m_common_namespaces.F90:(.text+0x39b9): undefined reference to
`__m_common_attrs_MOD_get_value_by_index_len'
m_common_namespaces.F90:(.text+0x3f7b): undefined reference to
`__m_common_attrs_MOD_get_key_len'
m_common_namespaces.F90:(.text+0x41a9): undefined reference to
`__m_common_attrs_MOD_get_key_len'
m_common_namespaces.F90:(.text+0x426f): undefined reference to
`__m_common_attrs_MOD_get_value_by_index_len'
collect2: error: ld returned 1 exit status
make[1]: *** [wxml_example] Error 1
make[1]: Leaving directory `/home/jlgan/galacticus/soft/FoX-4.1.0/examples'
make: *** [examples_build] Error 2


These problems have occurred when using the most recent checkout of gcc 4.8.0
(the last case I saw of this happening was yesterday). I've been unable to
reproduce the problem myself, even when using the same revision. 

Manually marking all of the functions that are listed as "undefined reference"
as PUBLIC solves the issue.

In any case, if anyone else is able to reproduce the problem I'd be very
interested to hear!


^ permalink raw reply	[flat|nested] 14+ messages in thread

* [Bug fortran/54884] [4.8 Regression] Externally used PRIVATE module procedure wrongly marked as TREE_PUBLIC()=0
  2012-10-10  7:30 [Bug fortran/54884] New: [4.8 Regression] Externally used PRIVATE module procedure wrongly marked as TREE_PUBLIC()=0 burnus at gcc dot gnu.org
                   ` (7 preceding siblings ...)
  2012-12-19 17:32 ` abensonca at gmail dot com
@ 2012-12-19 18:03 ` abensonca at gmail dot com
  2012-12-19 18:20 ` burnus at gcc dot gnu.org
                   ` (3 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: abensonca at gmail dot com @ 2012-12-19 18:03 UTC (permalink / raw)
  To: gcc-bugs


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54884

--- Comment #8 from Andrew Benson <abensonca at gmail dot com> 2012-12-19 18:02:44 UTC ---
I spoke to soon! I just compiled r194618 of gcc and now I find the same
problem.


^ permalink raw reply	[flat|nested] 14+ messages in thread

* [Bug fortran/54884] [4.8 Regression] Externally used PRIVATE module procedure wrongly marked as TREE_PUBLIC()=0
  2012-10-10  7:30 [Bug fortran/54884] New: [4.8 Regression] Externally used PRIVATE module procedure wrongly marked as TREE_PUBLIC()=0 burnus at gcc dot gnu.org
                   ` (8 preceding siblings ...)
  2012-12-19 18:03 ` abensonca at gmail dot com
@ 2012-12-19 18:20 ` burnus at gcc dot gnu.org
  2012-12-21 12:13 ` rguenth at gcc dot gnu.org
                   ` (2 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: burnus at gcc dot gnu.org @ 2012-12-19 18:20 UTC (permalink / raw)
  To: gcc-bugs


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54884

Tobias Burnus <burnus at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|RESOLVED                    |REOPENED
   Last reconfirmed|                            |2012-12-19
         Resolution|FIXED                       |
     Ever Confirmed|0                           |1

--- Comment #9 from Tobias Burnus <burnus at gcc dot gnu.org> 2012-12-19 18:20:10 UTC ---
First: I think one should add a pass to frontend-passes.c, similar to 
doloop_code. The reason is that resolve comes too early for some checks.
Quoting from resolve.c:

  /* If a PRIVATE variable is used in the specification expression of the
     result variable, it might be accessed from outside the module and can
     thus not be TREE_PUBLIC() = 0.
     TODO: sym->attr.public_used only has to be set for the result variable's
     type-parameter expression and not for dummies or automatic variables.
     Additionally, it only has to be set if the function is either PUBLIC or
     used in a generic interface or TBP; unfortunately,
     proc_name->attr.public_used can get set at a later stage.  */


Secondly, a reducted test case for the FoX issue of comment 7 is the following:

module m
  private
  public :: foo
  interface foo
    module procedure bar
  end interface foo
contains
  pure function mylen()
    integer :: mylen
    mylen = 42
  end function mylen
  subroutine bar(x)
    character(len=mylen()) :: x
  end subroutine bar
end module m


The following line in resolve.c's resolve_function should take care of setting
the public_use attribute, but it doesn't work:

3128      if (sym && specification_expr && sym->attr.function
3129          && gfc_current_ns->proc_name
3130          && gfc_current_ns->proc_name->attr.flavor == FL_MODULE)
3131        sym->attr.public_used = 1;

The reason is that

(gdb) p gfc_current_ns->proc_name->name
$6 = 0x7ffff6725fe0 "bar"


^ permalink raw reply	[flat|nested] 14+ messages in thread

* [Bug fortran/54884] [4.8 Regression] Externally used PRIVATE module procedure wrongly marked as TREE_PUBLIC()=0
  2012-10-10  7:30 [Bug fortran/54884] New: [4.8 Regression] Externally used PRIVATE module procedure wrongly marked as TREE_PUBLIC()=0 burnus at gcc dot gnu.org
                   ` (9 preceding siblings ...)
  2012-12-19 18:20 ` burnus at gcc dot gnu.org
@ 2012-12-21 12:13 ` rguenth at gcc dot gnu.org
  2012-12-23 18:43 ` burnus at gcc dot gnu.org
  2012-12-23 18:45 ` burnus at gcc dot gnu.org
  12 siblings, 0 replies; 14+ messages in thread
From: rguenth at gcc dot gnu.org @ 2012-12-21 12:13 UTC (permalink / raw)
  To: gcc-bugs


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54884

Richard Biener <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Priority|P3                          |P4


^ permalink raw reply	[flat|nested] 14+ messages in thread

* [Bug fortran/54884] [4.8 Regression] Externally used PRIVATE module procedure wrongly marked as TREE_PUBLIC()=0
  2012-10-10  7:30 [Bug fortran/54884] New: [4.8 Regression] Externally used PRIVATE module procedure wrongly marked as TREE_PUBLIC()=0 burnus at gcc dot gnu.org
                   ` (10 preceding siblings ...)
  2012-12-21 12:13 ` rguenth at gcc dot gnu.org
@ 2012-12-23 18:43 ` burnus at gcc dot gnu.org
  2012-12-23 18:45 ` burnus at gcc dot gnu.org
  12 siblings, 0 replies; 14+ messages in thread
From: burnus at gcc dot gnu.org @ 2012-12-23 18:43 UTC (permalink / raw)
  To: gcc-bugs


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54884

--- Comment #10 from Tobias Burnus <burnus at gcc dot gnu.org> 2012-12-23 18:43:36 UTC ---
Author: burnus
Date: Sun Dec 23 18:43:32 2012
New Revision: 194706

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=194706
Log:
2012-12-23  Tobias Burnus  <burnus@net-b.de>

        PR fortran/54884
        * module.c (write_symbol1_recursion): Set attr.public_use.
        * interface.c (check_sym_interfaces, check_uop_interfaces,
        gfc_check_interfaces): Remove attr.public_use code.
        * resolve.c (resolve_function, resolve_variable,
        resolve_typebound_procedure): Ditto.

2012-12-23  Tobias Burnus  <burnus@net-b.de>

        PR fortran/54884
        * gfortran.dg/public_private_module_8.f90: New.


Added:
    trunk/gcc/testsuite/gfortran.dg/public_private_module_8.f90
Modified:
    trunk/gcc/fortran/ChangeLog
    trunk/gcc/fortran/interface.c
    trunk/gcc/fortran/module.c
    trunk/gcc/fortran/resolve.c
    trunk/gcc/testsuite/ChangeLog


^ permalink raw reply	[flat|nested] 14+ messages in thread

* [Bug fortran/54884] [4.8 Regression] Externally used PRIVATE module procedure wrongly marked as TREE_PUBLIC()=0
  2012-10-10  7:30 [Bug fortran/54884] New: [4.8 Regression] Externally used PRIVATE module procedure wrongly marked as TREE_PUBLIC()=0 burnus at gcc dot gnu.org
                   ` (11 preceding siblings ...)
  2012-12-23 18:43 ` burnus at gcc dot gnu.org
@ 2012-12-23 18:45 ` burnus at gcc dot gnu.org
  12 siblings, 0 replies; 14+ messages in thread
From: burnus at gcc dot gnu.org @ 2012-12-23 18:45 UTC (permalink / raw)
  To: gcc-bugs


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54884

Tobias Burnus <burnus at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|REOPENED                    |RESOLVED
         Resolution|                            |FIXED

--- Comment #11 from Tobias Burnus <burnus at gcc dot gnu.org> 2012-12-23 18:44:52 UTC ---
FIXED on the 4.8 trunk.

Thanks Andrew for the report.

(The new patch is much nicer: It's much shorter, should be more reliable and
fixes also some missed-optimization cases :-)


^ permalink raw reply	[flat|nested] 14+ messages in thread

end of thread, other threads:[~2012-12-23 18:45 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-10-10  7:30 [Bug fortran/54884] New: [4.8 Regression] Externally used PRIVATE module procedure wrongly marked as TREE_PUBLIC()=0 burnus at gcc dot gnu.org
2012-10-10  7:36 ` [Bug fortran/54884] " dominiq at lps dot ens.fr
2012-10-10  7:42 ` burnus at gcc dot gnu.org
2012-10-10  8:40 ` rguenth at gcc dot gnu.org
2012-10-10  9:08 ` janus at gcc dot gnu.org
2012-10-10 13:24 ` dominiq at lps dot ens.fr
2012-10-18 17:09 ` burnus at gcc dot gnu.org
2012-10-19 10:07 ` burnus at gcc dot gnu.org
2012-12-19 17:32 ` abensonca at gmail dot com
2012-12-19 18:03 ` abensonca at gmail dot com
2012-12-19 18:20 ` burnus at gcc dot gnu.org
2012-12-21 12:13 ` rguenth at gcc dot gnu.org
2012-12-23 18:43 ` burnus at gcc dot gnu.org
2012-12-23 18:45 ` burnus at gcc dot gnu.org

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).