decl.c (grokdeclarator): Don't make 'main(){}' an error with only -Wreturn-type.
* decl.c (grokdeclarator): Don't make 'main(){}' an error with only -Wreturn-type. Co-Authored-By: Manfred Hollstein <manfred@s-direktnet.de> From-SVN: r24704
This commit is contained in:
parent
db838bb85b
commit
41eff65293
|
@ -1,3 +1,9 @@
|
|||
1999-01-16 Jason Merrill <jason@yorick.cygnus.com>
|
||||
Manfred Hollstein <manfred@s-direktnet.de>
|
||||
|
||||
* decl.c (grokdeclarator): Don't make 'main(){}' an error with only
|
||||
-Wreturn-type.
|
||||
|
||||
1999-01-16 Nathan Sidwell <nathan@acm.org>
|
||||
|
||||
* cp-tree.h (struct lang_type): Added has_mutable flag.
|
||||
|
|
|
@ -9356,16 +9356,22 @@ grokdeclarator (declarator, declspecs, decl_context, initialized, attrlist)
|
|||
}
|
||||
else
|
||||
{
|
||||
if (! pedantic && ! warn_return_type
|
||||
&& funcdef_flag
|
||||
&& MAIN_NAME_P (dname)
|
||||
&& ctype == NULL_TREE
|
||||
&& in_namespace == NULL_TREE
|
||||
&& current_namespace == global_namespace)
|
||||
/* Let `main () { }' slide, since it's so common. */;
|
||||
else
|
||||
/* We handle `main' specially here, because 'main () { }' is so
|
||||
common. With no options, it is allowed. With -Wreturn-type,
|
||||
it is a warning. It is only an error with -pedantic-errors. */
|
||||
int is_main = (funcdef_flag
|
||||
&& MAIN_NAME_P (dname)
|
||||
&& ctype == NULL_TREE
|
||||
&& in_namespace == NULL_TREE
|
||||
&& current_namespace == global_namespace);
|
||||
|
||||
if (pedantic || ! is_main)
|
||||
cp_pedwarn ("ANSI C++ forbids declaration `%D' with no type",
|
||||
dname);
|
||||
else if (warn_return_type)
|
||||
cp_warning ("ANSI C++ forbids declaration `%D' with no type",
|
||||
dname);
|
||||
|
||||
type = integer_type_node;
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue