This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug fortran/54270] [4.8 Regression] spurious warning with -Wunused-function
- From: "burnus at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Wed, 15 Aug 2012 12:38:21 +0000
- Subject: [Bug fortran/54270] [4.8 Regression] spurious warning with -Wunused-function
- Auto-submitted: auto-generated
- References: <bug-54270-4@http.gcc.gnu.org/bugzilla/>
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54270
Tobias Burnus <burnus at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |RESOLVED
CC| |burnus at gcc dot gnu.org
Resolution| |DUPLICATE
--- Comment #1 from Tobias Burnus <burnus at gcc dot gnu.org> 2012-08-15 12:38:21 UTC ---
The actual bug is tracked at PR 54224. The problem is that TREE_USED is not
set; I think that's a middle-end issue, but I might be wrong. My impression is
that all front ends to not set TREE_USED for procedure calls and leave that to
the middle end. (The other question is why inlining doesn't work.)
gfortran since 4.8/April marks module procedures as TREE_PUBLIC() = 0 if the
procedure has been explicitly marked as PRIVATE [PR52751, PR40973, PR52916].
(Ditto for module variables; in both cases exceptions exist like a C binding
name or - for procedures - if they are in a PUBLIC generic interface.)
Since recently [PR 54221], they are also marked as TREE_PUBLIC() = 0 if there
is a "PRIVATE" statement symbol list or -fmodule-private.
Regarding PR middle-end/54224, I am not quite sure whether the FE should do
something or whether to leave it as ME bug. Thus, I kept PR fortran/54221 open
to keep track of it. As it doesn't seem to be a true regression, I didn't flag
the ME bug as regression.
*** This bug has been marked as a duplicate of bug 54224 ***