diff options
author | Joseph Myers <jsm28@cam.ac.uk> | 2000-07-27 13:51:41 -0600 |
---|---|---|
committer | Jeff Law <law@gcc.gnu.org> | 2000-07-27 13:51:41 -0600 |
commit | 98be7846ad96810018215b97a636fa7777a8478f (patch) | |
tree | 30aa08c7b5cf92c2a814de3b61e98151d8891475 | |
parent | c1445f3dec950ad12b0c9bb6570950134fbc61fa (diff) | |
download | gcc-98be7846ad96810018215b97a636fa7777a8478f.zip gcc-98be7846ad96810018215b97a636fa7777a8478f.tar.gz gcc-98be7846ad96810018215b97a636fa7777a8478f.tar.bz2 |
c-decl.c (finish_function): Don't treat 'main' specially unless flag_hosted.
* c-decl.c (finish_function): Don't treat 'main' specially unless
flag_hosted. In C99 mode, return 0 from 'main' unless
DEFAULT_MAIN_RETURN is otherwise defined.
From-SVN: r35300
-rw-r--r-- | gcc/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/c-decl.c | 6 |
2 files changed, 9 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 0cc077e..6cc96ac 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -10,6 +10,10 @@ 2000-07-27 Joseph S. Myers <jsm28@cam.ac.uk> + * c-decl.c (finish_function): Don't treat 'main' specially unless + flag_hosted. In C99 mode, return 0 from 'main' unless + DEFAULT_MAIN_RETURN is otherwise defined. + * c-decl.c (store_parm_decls): In C99 mode, pedwarn for function parameters defaulting to int in an old-style function definition. diff --git a/gcc/c-decl.c b/gcc/c-decl.c index 0b8621f..5f69e36 100644 --- a/gcc/c-decl.c +++ b/gcc/c-decl.c @@ -6589,7 +6589,8 @@ finish_function (nested) setjmp_protect_args (); } - if (! strcmp (IDENTIFIER_POINTER (DECL_NAME (fndecl)), "main")) + if (! strcmp (IDENTIFIER_POINTER (DECL_NAME (fndecl)), "main") + && flag_hosted) { if (TYPE_MAIN_VARIANT (TREE_TYPE (TREE_TYPE (fndecl))) != integer_type_node) @@ -6604,6 +6605,9 @@ finish_function (nested) #ifdef DEFAULT_MAIN_RETURN /* Make it so that `main' always returns success by default. */ DEFAULT_MAIN_RETURN; +#else + if (flag_isoc99) + c_expand_return (integer_zero_node); #endif } } |