public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug fortran/111880] New: [9/10/11/12/13] False positive warning of obsolescent COMMON block with Fortran submodule
@ 2023-10-19 15:11 zed.three at gmail dot com
  2023-10-19 16:06 ` [Bug fortran/111880] " kargl at gcc dot gnu.org
                   ` (11 more replies)
  0 siblings, 12 replies; 13+ messages in thread
From: zed.three at gmail dot com @ 2023-10-19 15:11 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111880

            Bug ID: 111880
           Summary: [9/10/11/12/13] False positive warning of obsolescent
                    COMMON block with Fortran submodule
           Product: gcc
           Version: 13.2.1
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: fortran
          Assignee: unassigned at gcc dot gnu.org
          Reporter: zed.three at gmail dot com
  Target Milestone: ---

Created attachment 56152
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=56152&action=edit
Minimal source code demonstrating issue.

Compiler Explorer link with complete reproducer:
https://godbolt.org/z/dd45enhWe

  module third_party_module
    integer :: some_param
    common /not_my_code/ some_param
  end module third_party_module

  module foo
    use third_party_module
    interface
      module subroutine bar()
      end subroutine bar
    end interface
  end module foo

  submodule (foo) foo_submod
  contains
    module procedure bar
    end procedure bar
  end submodule foo_submod


Compiling the above minimal program like:

  gfortran -std=f2018 -c foo.f90


gives the following warnings:

  foo.f90:3:22:

      3 |   common /not_my_code/ some_param
        |                      1
  Warning: Fortran 2018 obsolescent feature: COMMON block at (1)
  foo.f90:14:14:

     14 | submodule (foo) foo_submod
        |              1
  Warning: Fortran 2018 obsolescent feature: COMMON block at (1)


The first warning is expected, but the second one is a false positive. I came
across this when building with a library outside of my control, so I cannot
remove the problem common block (actually this was with MPI, and it happens
with all the major implementations as the common block is required for
technical reasons).


If the submodule is removed, the extra warning disappears. The warning also
appears when building the submodule separately (in a different file and having
already built the parent module).

It also only appears to be this warning, and not other F2018 obsolescent
feature warnings (e.g. labeled DO statements), or other warnings enabled at
`-Wall` for instance.

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

end of thread, other threads:[~2023-12-01 18:05 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-10-19 15:11 [Bug fortran/111880] New: [9/10/11/12/13] False positive warning of obsolescent COMMON block with Fortran submodule zed.three at gmail dot com
2023-10-19 16:06 ` [Bug fortran/111880] " kargl at gcc dot gnu.org
2023-10-19 17:20 ` zed.three at gmail dot com
2023-10-19 17:32 ` sgk at troutmask dot apl.washington.edu
2023-10-20  6:48 ` [Bug fortran/111880] [11/12/13/14] " rguenth at gcc dot gnu.org
2023-11-23 21:20 ` anlauf at gcc dot gnu.org
2023-11-23 21:42 ` anlauf at gcc dot gnu.org
2023-11-23 22:00 ` anlauf at gcc dot gnu.org
2023-11-26 19:20 ` cvs-commit at gcc dot gnu.org
2023-11-30 21:21 ` cvs-commit at gcc dot gnu.org
2023-12-01 18:00 ` cvs-commit at gcc dot gnu.org
2023-12-01 18:04 ` cvs-commit at gcc dot gnu.org
2023-12-01 18:05 ` anlauf 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).