diff options
author | Doug Evans <dje@gnu.org> | 1997-03-25 21:39:09 +0000 |
---|---|---|
committer | Doug Evans <dje@gnu.org> | 1997-03-25 21:39:09 +0000 |
commit | ae998c9a69a3cfa88fe8157eb72db36036a7a7b2 (patch) | |
tree | dfc1b363d30d0153ba538cc265f85a6f94cd4340 /gcc | |
parent | 9ab8cffd4806fd39b8cc1c276052d90eef7b5c36 (diff) | |
download | gcc-ae998c9a69a3cfa88fe8157eb72db36036a7a7b2.zip gcc-ae998c9a69a3cfa88fe8157eb72db36036a7a7b2.tar.gz gcc-ae998c9a69a3cfa88fe8157eb72db36036a7a7b2.tar.bz2 |
* c-decl.c (grokdeclarator): Pedwarn qualified void function return type.
From-SVN: r13802
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/c-decl.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/gcc/c-decl.c b/gcc/c-decl.c index f4c4a06..f9860e2 100644 --- a/gcc/c-decl.c +++ b/gcc/c-decl.c @@ -5031,6 +5031,13 @@ grokdeclarator (declarator, declspecs, decl_context, initialized) && ! DECL_IN_SYSTEM_HEADER (decl)) pedwarn ("ANSI C forbids const or volatile functions"); + if (pedantic + && TYPE_MAIN_VARIANT (TREE_TYPE (TREE_TYPE (decl))) == void_type_node + && (TYPE_READONLY (TREE_TYPE (TREE_TYPE (decl))) + || TYPE_VOLATILE (TREE_TYPE (TREE_TYPE (decl)))) + && ! DECL_IN_SYSTEM_HEADER (decl)) + pedwarn ("ANSI C forbids const or volatile void function return type"); + if (volatilep && TREE_TYPE (TREE_TYPE (decl)) != void_type_node) warning ("`noreturn' function returns non-void value"); |