aboutsummaryrefslogtreecommitdiff
path: root/gcc/c-decl.c
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2008-01-30 00:19:07 +0100
committerJakub Jelinek <jakub@gcc.gnu.org>2008-01-30 00:19:07 +0100
commit1033ffa8b312170efeeef1f3e4f58ced8075eaea (patch)
tree851070f24a1e8ac4d3680a5d4b7ec7cfc67ec58b /gcc/c-decl.c
parentbdba22639b5a609adfccc08c74d3c5fb7b87b581 (diff)
downloadgcc-1033ffa8b312170efeeef1f3e4f58ced8075eaea.zip
gcc-1033ffa8b312170efeeef1f3e4f58ced8075eaea.tar.gz
gcc-1033ffa8b312170efeeef1f3e4f58ced8075eaea.tar.bz2
re PR c/35017 (PR11377 pedwarns even about valid code)
PR c/35017 * c-decl.c (start_decl): Don't pedwarn about TREE_READONLY static decls. * c-typeck.c (build_external_ref): Don't pedwarn about static vars in current function's scope. * gcc.dg/inline-25.c: New test. * gcc.dg/inline-26.c: New test. * gcc.dg/inline-27.c: New test. From-SVN: r131945
Diffstat (limited to 'gcc/c-decl.c')
-rw-r--r--gcc/c-decl.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/gcc/c-decl.c b/gcc/c-decl.c
index 860b337..1af84da 100644
--- a/gcc/c-decl.c
+++ b/gcc/c-decl.c
@@ -3320,6 +3320,7 @@ start_decl (struct c_declarator *declarator, struct c_declspecs *declspecs,
if (TREE_CODE (decl) == VAR_DECL
&& current_scope != file_scope
&& TREE_STATIC (decl)
+ && !TREE_READONLY (decl)
&& DECL_DECLARED_INLINE_P (current_function_decl)
&& DECL_EXTERNAL (current_function_decl))
pedwarn ("%q+D is static but declared in inline function %qD "