diff options
author | Daniel Franke <franke.daniel@gmail.com> | 2008-02-28 15:22:55 -0500 |
---|---|---|
committer | Daniel Franke <dfranke@gcc.gnu.org> | 2008-02-28 15:22:55 -0500 |
commit | 766d0c8c4401b260163f0895c69dbc88eb421a87 (patch) | |
tree | f84b1022377b8110b6bff00c5391be2d07e74321 /gcc/fortran/options.c | |
parent | 4613543f827f21ebc28da9ba2fba4cee24b43c5e (diff) | |
download | gcc-766d0c8c4401b260163f0895c69dbc88eb421a87.zip gcc-766d0c8c4401b260163f0895c69dbc88eb421a87.tar.gz gcc-766d0c8c4401b260163f0895c69dbc88eb421a87.tar.bz2 |
re PR fortran/31463 ([patch] inconsistent warnings if function return value is not set)
gcc/fortran:
2008-02-28 Daniel Franke <franke.daniel@gmail.com>
PR fortran/31463
PR fortran/33950
PR fortran/34296
* lang.opt: Added -Wreturn-type.
* options.c (gfc_handle_option): Recognize -Wreturn-type.
* trans-decl.c (gfc_trans_deferred_vars): Emit warnings for funtions
where the result value is not set.
(gfc_generate_function_code): Likewise.
(generate_local_decl): Emit warnings for funtions whose RESULT
variable is not set.
gcc/testsuite:
2008-02-28 Daniel Franke <franke.daniel@gmail.com>
PR fortran/31463
PR fortran/33950
PR fortran/34296
* gfortran.dg/arrayio_11.f90: Fixed test.
* gfortran.dg/arrayio_12.f90: Likewise.
* gfortran.dg/module_read_1.f90: Added warning-directives.
* gfortran.dg/pr32242.f90: Likewise.
* gfortran.dg/result_in_spec_3.f90: Likewise.
* gfortran.dg/use_12.f90: Likewise.
* gfortran.dg/warn_function_without_result.f90 : New test.
From-SVN: r132756
Diffstat (limited to 'gcc/fortran/options.c')
-rw-r--r-- | gcc/fortran/options.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/gcc/fortran/options.c b/gcc/fortran/options.c index 7d35fb7..ecab0c5 100644 --- a/gcc/fortran/options.c +++ b/gcc/fortran/options.c @@ -492,6 +492,10 @@ gfc_handle_option (size_t scode, const char *arg, int value) gfc_option.warn_line_truncation = value; break; + case OPT_Wreturn_type: + warn_return_type = value; + break; + case OPT_Wsurprising: gfc_option.warn_surprising = value; break; |