public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug fortran/51056] New: [4.7 Regression][OOP] Bogus "Unused module variable '__vtab_domain_Domain_container'"
@ 2011-11-09 12:46 burnus at gcc dot gnu.org
  2011-11-09 13:04 ` [Bug fortran/51056] " burnus at gcc dot gnu.org
                   ` (9 more replies)
  0 siblings, 10 replies; 11+ messages in thread
From: burnus at gcc dot gnu.org @ 2011-11-09 12:46 UTC (permalink / raw)
  To: gcc-bugs

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

             Bug #: 51056
           Summary: [4.7 Regression][OOP] Bogus "Unused module variable
                    '__vtab_domain_Domain_container'"
    Classification: Unclassified
           Product: gcc
           Version: 4.7.0
            Status: UNCONFIRMED
          Keywords: diagnostic
          Severity: normal
          Priority: P3
         Component: fortran
        AssignedTo: unassigned@gcc.gnu.org
        ReportedBy: burnus@gcc.gnu.org
                CC: janus@gcc.gnu.org


As reported by xarthisius at #gfortran,

the following program gives a bogus warning with -Wall. For one of my local
trees, I get:

Warning: Unused module variable '__vtab_domain_Domain_container' which has been
explicitly imported at (1)

for my other 4.7 tree, I get:

Warning: Unused module variable '__def_init_domain_Domain_container' which has
been explicitly imported at (1)




module domain
   implicit none
   private
   public :: domain_container, dom

   type :: domain_container
      integer :: D_x             !< set to 1 when x-direction exists, 0
otherwise
    contains
      procedure :: init => init_domain_container
   end type domain_container

   type(domain_container) :: dom

   contains
      subroutine init_domain_container(this)
         implicit none
         class(domain_container), intent(inout) :: this
         this%D_x = 0
      end subroutine init_domain_container
end module domain

program ala
   use domain, only: dom
   implicit none
   call dom%init
end program ala


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

* [Bug fortran/51056] [4.7 Regression][OOP] Bogus "Unused module variable '__vtab_domain_Domain_container'"
  2011-11-09 12:46 [Bug fortran/51056] New: [4.7 Regression][OOP] Bogus "Unused module variable '__vtab_domain_Domain_container'" burnus at gcc dot gnu.org
@ 2011-11-09 13:04 ` burnus at gcc dot gnu.org
  2011-11-09 15:12 ` janus at gcc dot gnu.org
                   ` (8 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: burnus at gcc dot gnu.org @ 2011-11-09 13:04 UTC (permalink / raw)
  To: gcc-bugs

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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
      Known to work|                            |4.6.3
   Target Milestone|---                         |4.7.0
      Known to fail|                            |4.7.0


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

* [Bug fortran/51056] [4.7 Regression][OOP] Bogus "Unused module variable '__vtab_domain_Domain_container'"
  2011-11-09 12:46 [Bug fortran/51056] New: [4.7 Regression][OOP] Bogus "Unused module variable '__vtab_domain_Domain_container'" burnus at gcc dot gnu.org
  2011-11-09 13:04 ` [Bug fortran/51056] " burnus at gcc dot gnu.org
@ 2011-11-09 15:12 ` janus at gcc dot gnu.org
  2011-11-09 15:58 ` dominiq at lps dot ens.fr
                   ` (7 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: janus at gcc dot gnu.org @ 2011-11-09 15:12 UTC (permalink / raw)
  To: gcc-bugs

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

janus at gcc dot gnu.org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2011-11-09
     Ever Confirmed|0                           |1

--- Comment #1 from janus at gcc dot gnu.org 2011-11-09 15:02:02 UTC ---
(In reply to comment #0)
> for my other 4.7 tree, I get:
> 
> Warning: Unused module variable '__def_init_domain_Domain_container' which has
> been explicitly imported at (1)

That's what I get here with:

gcc version 4.7.0 20111109 (experimental) [trunk revision 181203] (GCC)



Reduced test case:

module domain
  implicit none
  type :: domain_container
  contains
    procedure, nopass :: init
  end type
  type(domain_container) :: dom
contains
  subroutine init
  end subroutine
end module

program ala
  use domain, only: dom
  implicit none
  call dom%init
end program ala


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

* [Bug fortran/51056] [4.7 Regression][OOP] Bogus "Unused module variable '__vtab_domain_Domain_container'"
  2011-11-09 12:46 [Bug fortran/51056] New: [4.7 Regression][OOP] Bogus "Unused module variable '__vtab_domain_Domain_container'" burnus at gcc dot gnu.org
  2011-11-09 13:04 ` [Bug fortran/51056] " burnus at gcc dot gnu.org
  2011-11-09 15:12 ` janus at gcc dot gnu.org
@ 2011-11-09 15:58 ` dominiq at lps dot ens.fr
  2011-11-09 17:58 ` janus at gcc dot gnu.org
                   ` (6 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: dominiq at lps dot ens.fr @ 2011-11-09 15:58 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #2 from Dominique d'Humieres <dominiq at lps dot ens.fr> 2011-11-09 15:33:05 UTC ---
Revision 177649 is OK.
Revision 178509 gives the warning.


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

* [Bug fortran/51056] [4.7 Regression][OOP] Bogus "Unused module variable '__vtab_domain_Domain_container'"
  2011-11-09 12:46 [Bug fortran/51056] New: [4.7 Regression][OOP] Bogus "Unused module variable '__vtab_domain_Domain_container'" burnus at gcc dot gnu.org
                   ` (2 preceding siblings ...)
  2011-11-09 15:58 ` dominiq at lps dot ens.fr
@ 2011-11-09 17:58 ` janus at gcc dot gnu.org
  2011-11-09 18:39 ` janus at gcc dot gnu.org
                   ` (5 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: janus at gcc dot gnu.org @ 2011-11-09 17:58 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #3 from janus at gcc dot gnu.org 2011-11-09 17:45:58 UTC ---
(In reply to comment #2)
> Revision 177649 is OK.
> Revision 178509 gives the warning.

Well, the culprit is surely this one:

http://gcc.gnu.org/viewcvs?view=revision&revision=177833


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

* [Bug fortran/51056] [4.7 Regression][OOP] Bogus "Unused module variable '__vtab_domain_Domain_container'"
  2011-11-09 12:46 [Bug fortran/51056] New: [4.7 Regression][OOP] Bogus "Unused module variable '__vtab_domain_Domain_container'" burnus at gcc dot gnu.org
                   ` (3 preceding siblings ...)
  2011-11-09 17:58 ` janus at gcc dot gnu.org
@ 2011-11-09 18:39 ` janus at gcc dot gnu.org
  2011-11-15 15:54 ` janus at gcc dot gnu.org
                   ` (4 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: janus at gcc dot gnu.org @ 2011-11-09 18:39 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #4 from janus at gcc dot gnu.org 2011-11-09 18:32:51 UTC ---
Possible fix:

Index: module.c
===================================================================
--- module.c    (revision 181207)
+++ module.c    (working copy)
@@ -4213,7 +4213,7 @@ load_needed (pointer_info *p)

   mio_symbol (sym);
   sym->attr.use_assoc = 1;
-  if (only_flag)
+  if (only_flag && (strncmp (sym->name, "__", 2) != 0))
     sym->attr.use_only = 1;
   if (p->u.rsym.renamed)
     sym->attr.use_rename = 1;


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

* [Bug fortran/51056] [4.7 Regression][OOP] Bogus "Unused module variable '__vtab_domain_Domain_container'"
  2011-11-09 12:46 [Bug fortran/51056] New: [4.7 Regression][OOP] Bogus "Unused module variable '__vtab_domain_Domain_container'" burnus at gcc dot gnu.org
                   ` (4 preceding siblings ...)
  2011-11-09 18:39 ` janus at gcc dot gnu.org
@ 2011-11-15 15:54 ` janus at gcc dot gnu.org
  2011-11-28 16:22 ` jakub at gcc dot gnu.org
                   ` (3 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: janus at gcc dot gnu.org @ 2011-11-15 15:54 UTC (permalink / raw)
  To: gcc-bugs

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

janus at gcc dot gnu.org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |ASSIGNED
         AssignedTo|unassigned at gcc dot       |janus at gcc dot gnu.org
                   |gnu.org                     |

--- Comment #5 from janus at gcc dot gnu.org 2011-11-15 15:22:10 UTC ---
Taking this. The patch in comment #4 is not particularly pretty, but at least
it's simple, it works and shows no testsuite regressions. I should probably
include a small comment, though.


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

* [Bug fortran/51056] [4.7 Regression][OOP] Bogus "Unused module variable '__vtab_domain_Domain_container'"
  2011-11-09 12:46 [Bug fortran/51056] New: [4.7 Regression][OOP] Bogus "Unused module variable '__vtab_domain_Domain_container'" burnus at gcc dot gnu.org
                   ` (5 preceding siblings ...)
  2011-11-15 15:54 ` janus at gcc dot gnu.org
@ 2011-11-28 16:22 ` jakub at gcc dot gnu.org
  2012-01-17  9:57 ` burnus at gcc dot gnu.org
                   ` (2 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: jakub at gcc dot gnu.org @ 2011-11-28 16:22 UTC (permalink / raw)
  To: gcc-bugs

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

Jakub Jelinek <jakub at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Priority|P3                          |P4
                 CC|                            |jakub at gcc dot gnu.org


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

* [Bug fortran/51056] [4.7 Regression][OOP] Bogus "Unused module variable '__vtab_domain_Domain_container'"
  2011-11-09 12:46 [Bug fortran/51056] New: [4.7 Regression][OOP] Bogus "Unused module variable '__vtab_domain_Domain_container'" burnus at gcc dot gnu.org
                   ` (6 preceding siblings ...)
  2011-11-28 16:22 ` jakub at gcc dot gnu.org
@ 2012-01-17  9:57 ` burnus at gcc dot gnu.org
  2012-01-20  9:08 ` burnus at gcc dot gnu.org
  2012-01-20  9:25 ` burnus at gcc dot gnu.org
  9 siblings, 0 replies; 11+ messages in thread
From: burnus at gcc dot gnu.org @ 2012-01-17  9:57 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #6 from Tobias Burnus <burnus at gcc dot gnu.org> 2012-01-17 09:28:24 UTC ---
(In reply to comment #5)
> Taking this. The patch in comment #4 is not particularly pretty, but at least
> it's simple, it works and shows no testsuite regressions. I should probably
> include a small comment, though.

I think a comment would be useful and I'd prefer a

  if (only_flag && sym->name[0] == '_' && sym->name[1] == '_')

I think it affects __vtab, __def_init, __copy - and, in future, __free. (It
might also affect __vtype_ and __class; I don't know whether they can occur in
a .mod file.)


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

* [Bug fortran/51056] [4.7 Regression][OOP] Bogus "Unused module variable '__vtab_domain_Domain_container'"
  2011-11-09 12:46 [Bug fortran/51056] New: [4.7 Regression][OOP] Bogus "Unused module variable '__vtab_domain_Domain_container'" burnus at gcc dot gnu.org
                   ` (7 preceding siblings ...)
  2012-01-17  9:57 ` burnus at gcc dot gnu.org
@ 2012-01-20  9:08 ` burnus at gcc dot gnu.org
  2012-01-20  9:25 ` burnus at gcc dot gnu.org
  9 siblings, 0 replies; 11+ messages in thread
From: burnus at gcc dot gnu.org @ 2012-01-20  9:08 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #7 from Tobias Burnus <burnus at gcc dot gnu.org> 2012-01-20 08:07:06 UTC ---
Author: burnus
Date: Fri Jan 20 08:06:53 2012
New Revision: 183326

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=183326
Log:
2012-01-20  Tobias Burnus  <burnus@net-b.de>
            Janus Weil  <janus@gcc.gnu.org>

        PR fortran/51056
        * module.c (load_needed, read_module): Don't mark __vtab etc.
        as use_only.

2012-01-20  Tobias Burnus  <burnus@net-b.de>
            Janus Weil  <janus@gcc.gnu.org>

        PR fortran/51056
        * gfortran.dg/use_21.f90: New.


Added:
    trunk/gcc/testsuite/gfortran.dg/use_21.f90
Modified:
    trunk/gcc/fortran/ChangeLog
    trunk/gcc/fortran/module.c
    trunk/gcc/testsuite/ChangeLog


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

* [Bug fortran/51056] [4.7 Regression][OOP] Bogus "Unused module variable '__vtab_domain_Domain_container'"
  2011-11-09 12:46 [Bug fortran/51056] New: [4.7 Regression][OOP] Bogus "Unused module variable '__vtab_domain_Domain_container'" burnus at gcc dot gnu.org
                   ` (8 preceding siblings ...)
  2012-01-20  9:08 ` burnus at gcc dot gnu.org
@ 2012-01-20  9:25 ` burnus at gcc dot gnu.org
  9 siblings, 0 replies; 11+ messages in thread
From: burnus at gcc dot gnu.org @ 2012-01-20  9:25 UTC (permalink / raw)
  To: gcc-bugs

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

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

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

--- Comment #8 from Tobias Burnus <burnus at gcc dot gnu.org> 2012-01-20 08:07:47 UTC ---
FIXED on the trunk (4.7).


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

end of thread, other threads:[~2012-01-20  8:15 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-11-09 12:46 [Bug fortran/51056] New: [4.7 Regression][OOP] Bogus "Unused module variable '__vtab_domain_Domain_container'" burnus at gcc dot gnu.org
2011-11-09 13:04 ` [Bug fortran/51056] " burnus at gcc dot gnu.org
2011-11-09 15:12 ` janus at gcc dot gnu.org
2011-11-09 15:58 ` dominiq at lps dot ens.fr
2011-11-09 17:58 ` janus at gcc dot gnu.org
2011-11-09 18:39 ` janus at gcc dot gnu.org
2011-11-15 15:54 ` janus at gcc dot gnu.org
2011-11-28 16:22 ` jakub at gcc dot gnu.org
2012-01-17  9:57 ` burnus at gcc dot gnu.org
2012-01-20  9:08 ` burnus at gcc dot gnu.org
2012-01-20  9:25 ` 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).