aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarek Polacek <polacek@redhat.com>2014-11-25 08:28:45 +0000
committerMarek Polacek <mpolacek@gcc.gnu.org>2014-11-25 08:28:45 +0000
commitb286be940a8231b35ed111f6044b2bf7da471d07 (patch)
treee1a569868b1d22b2f7d1fc6de2c5b6c7ef1e7b7e
parenta5b58b283d4f139da5cca26af936ddb65dd4ad7c (diff)
downloadgcc-b286be940a8231b35ed111f6044b2bf7da471d07.zip
gcc-b286be940a8231b35ed111f6044b2bf7da471d07.tar.gz
gcc-b286be940a8231b35ed111f6044b2bf7da471d07.tar.bz2
re PR c/63877 (- -Wmissing-declarations produces false alarms for C99 inline functions)
PR c/63877 * c-decl.c (start_function): Disable -Wmissing-declarations warning for inline functions. * gcc.dg/pr63877.c: New test. From-SVN: r218039
-rw-r--r--gcc/c/ChangeLog6
-rw-r--r--gcc/c/c-decl.c3
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/gcc.dg/pr63877.c5
4 files changed, 18 insertions, 1 deletions
diff --git a/gcc/c/ChangeLog b/gcc/c/ChangeLog
index 79d4183..e2a9630 100644
--- a/gcc/c/ChangeLog
+++ b/gcc/c/ChangeLog
@@ -1,3 +1,9 @@
+2014-11-25 Marek Polacek <polacek@redhat.com>
+
+ PR c/63877
+ * c-decl.c (start_function): Disable -Wmissing-declarations warning
+ for inline functions.
+
2014-11-21 Jakub Jelinek <jakub@redhat.com>
PR target/63764
diff --git a/gcc/c/c-decl.c b/gcc/c/c-decl.c
index 9288e2c..6413e6f 100644
--- a/gcc/c/c-decl.c
+++ b/gcc/c/c-decl.c
@@ -8353,7 +8353,8 @@ start_function (struct c_declspecs *declspecs, struct c_declarator *declarator,
else if (warn_missing_declarations
&& TREE_PUBLIC (decl1)
&& old_decl == 0
- && !MAIN_NAME_P (DECL_NAME (decl1)))
+ && !MAIN_NAME_P (DECL_NAME (decl1))
+ && !DECL_DECLARED_INLINE_P (decl1))
warning_at (loc, OPT_Wmissing_declarations,
"no previous declaration for %qD",
decl1);
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 147674e..4a8d7cd 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2014-11-25 Marek Polacek <polacek@redhat.com>
+
+ PR c/63877
+ * gcc.dg/pr63877.c: New test.
+
2014-11-25 Markus Trippelsdorf <markus@trippelsdorf.de>
PR ipa/64059
diff --git a/gcc/testsuite/gcc.dg/pr63877.c b/gcc/testsuite/gcc.dg/pr63877.c
new file mode 100644
index 0000000..5969b39
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/pr63877.c
@@ -0,0 +1,5 @@
+/* { dg-do compile } */
+/* { dg-options "-Wmissing-declarations" } */
+
+inline int foo (void) { return 42; } /* { dg-bogus "no previous declaration" } */
+extern int foo (void);