public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug c/54113] New: -Wmissing-prototypes cries wolf for C99 inline functions
@ 2012-07-28 13:47 eggert at gnu dot org
2012-08-14 4:08 ` [Bug c/54113] " eggert at gnu dot org
` (3 more replies)
0 siblings, 4 replies; 5+ messages in thread
From: eggert at gnu dot org @ 2012-07-28 13:47 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54113
Bug #: 54113
Summary: -Wmissing-prototypes cries wolf for C99 inline
functions
Classification: Unclassified
Product: gcc
Version: 4.7.1
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c
AssignedTo: unassigned@gcc.gnu.org
ReportedBy: eggert@gnu.org
-Wmissing-prototypes produces false alarms for C99-style
inline functions. Here's a simple example, taken from
<http://www.drdobbs.com/the-new-c-inline-functions/184401540>.
Suppose foo.h contains this:
inline float square(float x) {return x*x;}
inline float cube(float x) {return x*x*x;}
and foo.c contains this:
#include "foo.h"
extern float square(float x);
extern float cube(float x);
Then the command:
gcc -c -Wmissing-prototypes foo.c
outputs:
In file included from foo.c:1:0:
foo.h:1:14: warning: no previous prototype for 'square'
[-Wmissing-prototypes]
foo.h:2:14: warning: no previous prototype for 'cube' [-Wmissing-prototypes]
The diagnostics should not be output, as this is the normal
way to use inline functions in C.
The simplest way to work around the problem is to avoid
the use of -Wmissing-prototypes, but that disables the
diagnostic for non-inline functions, where it's useful.
To fix this, I suggest that the diagnostic be suppressed
for inline functions, at least for C99 mode.
^ permalink raw reply [flat|nested] 5+ messages in thread
* [Bug c/54113] -Wmissing-prototypes cries wolf for C99 inline functions
2012-07-28 13:47 [Bug c/54113] New: -Wmissing-prototypes cries wolf for C99 inline functions eggert at gnu dot org
@ 2012-08-14 4:08 ` eggert at gnu dot org
2013-12-04 17:00 ` [Bug c/54113] -Wmissing-prototypes produces false alarms " mpolacek at gcc dot gnu.org
` (2 subsequent siblings)
3 siblings, 0 replies; 5+ messages in thread
From: eggert at gnu dot org @ 2012-08-14 4:08 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54113
--- Comment #1 from eggert at gnu dot org 2012-08-14 04:08:17 UTC ---
In <http://lists.gnu.org/archive/html/bug-gnulib/2012-08/msg00038.html> Jim
Meyering reports that GCC 4.8.0 20120803 issues a different (but still bogus)
warning for this program. It reports "error: no previous declaration for 'FOO'
[-Werror=missing-declarations]" if FOO is an inline function. This warning
should not be emitted either.
^ permalink raw reply [flat|nested] 5+ messages in thread
* [Bug c/54113] -Wmissing-prototypes produces false alarms for C99 inline functions
2012-07-28 13:47 [Bug c/54113] New: -Wmissing-prototypes cries wolf for C99 inline functions eggert at gnu dot org
2012-08-14 4:08 ` [Bug c/54113] " eggert at gnu dot org
@ 2013-12-04 17:00 ` mpolacek at gcc dot gnu.org
2013-12-04 21:15 ` mpolacek at gcc dot gnu.org
2013-12-04 21:18 ` mpolacek at gcc dot gnu.org
3 siblings, 0 replies; 5+ messages in thread
From: mpolacek at gcc dot gnu.org @ 2013-12-04 17:00 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54113
Marek Polacek <mpolacek at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |ASSIGNED
Last reconfirmed| |2013-12-04
CC| |mpolacek at gcc dot gnu.org
Assignee|unassigned at gcc dot gnu.org |mpolacek at gcc dot gnu.org
Ever confirmed|0 |1
--- Comment #2 from Marek Polacek <mpolacek at gcc dot gnu.org> ---
I have a patch for disabling the diagnostic for inline functions in C99 mode.
^ permalink raw reply [flat|nested] 5+ messages in thread
* [Bug c/54113] -Wmissing-prototypes produces false alarms for C99 inline functions
2012-07-28 13:47 [Bug c/54113] New: -Wmissing-prototypes cries wolf for C99 inline functions eggert at gnu dot org
2012-08-14 4:08 ` [Bug c/54113] " eggert at gnu dot org
2013-12-04 17:00 ` [Bug c/54113] -Wmissing-prototypes produces false alarms " mpolacek at gcc dot gnu.org
@ 2013-12-04 21:15 ` mpolacek at gcc dot gnu.org
2013-12-04 21:18 ` mpolacek at gcc dot gnu.org
3 siblings, 0 replies; 5+ messages in thread
From: mpolacek at gcc dot gnu.org @ 2013-12-04 21:15 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54113
--- Comment #3 from Marek Polacek <mpolacek at gcc dot gnu.org> ---
Author: mpolacek
Date: Wed Dec 4 21:15:31 2013
New Revision: 205680
URL: http://gcc.gnu.org/viewcvs?rev=205680&root=gcc&view=rev
Log:
PR c/54113
c/
* c-decl.c (start_function): Don't warn for missing prototype for
inline functions.
testsuite/
* gcc.dg/pr54113.c: New test.
Added:
trunk/gcc/testsuite/gcc.dg/pr54113.c
Modified:
trunk/gcc/c/ChangeLog
trunk/gcc/c/c-decl.c
trunk/gcc/testsuite/ChangeLog
^ permalink raw reply [flat|nested] 5+ messages in thread
* [Bug c/54113] -Wmissing-prototypes produces false alarms for C99 inline functions
2012-07-28 13:47 [Bug c/54113] New: -Wmissing-prototypes cries wolf for C99 inline functions eggert at gnu dot org
` (2 preceding siblings ...)
2013-12-04 21:15 ` mpolacek at gcc dot gnu.org
@ 2013-12-04 21:18 ` mpolacek at gcc dot gnu.org
3 siblings, 0 replies; 5+ messages in thread
From: mpolacek at gcc dot gnu.org @ 2013-12-04 21:18 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54113
Marek Polacek <mpolacek at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|ASSIGNED |RESOLVED
Resolution|--- |FIXED
--- Comment #4 from Marek Polacek <mpolacek at gcc dot gnu.org> ---
Fixed on trunk.
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2013-12-04 21:18 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-07-28 13:47 [Bug c/54113] New: -Wmissing-prototypes cries wolf for C99 inline functions eggert at gnu dot org
2012-08-14 4:08 ` [Bug c/54113] " eggert at gnu dot org
2013-12-04 17:00 ` [Bug c/54113] -Wmissing-prototypes produces false alarms " mpolacek at gcc dot gnu.org
2013-12-04 21:15 ` mpolacek at gcc dot gnu.org
2013-12-04 21:18 ` mpolacek 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).