re PR c/54113 (-Wmissing-prototypes produces false alarms for C99 inline functions)

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.

From-SVN: r205680
This commit is contained in:
Marek Polacek 2013-12-04 21:15:31 +00:00 committed by Marek Polacek
parent 5f673c6a1c
commit edd280545f
4 changed files with 18 additions and 1 deletions

View File

@ -1,3 +1,9 @@
2013-12-04 Marek Polacek <polacek@redhat.com>
PR c/54113
* c-decl.c (start_function): Don't warn for missing prototype for
inline functions.
2013-12-03 Marek Polacek <polacek@redhat.com>
PR c/59351

View File

@ -7974,7 +7974,8 @@ start_function (struct c_declspecs *declspecs, struct c_declarator *declarator,
&& old_decl != error_mark_node
&& TREE_PUBLIC (decl1)
&& !MAIN_NAME_P (DECL_NAME (decl1))
&& C_DECL_ISNT_PROTOTYPE (old_decl))
&& C_DECL_ISNT_PROTOTYPE (old_decl)
&& !DECL_DECLARED_INLINE_P (decl1))
warning_at (loc, OPT_Wmissing_prototypes,
"no previous prototype for %qD", decl1);
/* Optionally warn of any def with no previous prototype

View File

@ -1,3 +1,8 @@
2013-12-04 Marek Polacek <polacek@redhat.com>
PR c/54113
* gcc.dg/pr54113.c: New test.
2013-12-04 Jakub Jelinek <jakub@redhat.com>
PR c++/59268

View File

@ -0,0 +1,5 @@
/* { dg-do compile } */
/* { dg-options "-Wmissing-prototypes" } */
inline int foo (void) { return 42; } /* { dg-bogus "no previous prototype" } */
extern int foo(void);