diff options
| author | Jerry DeLisle <jvdelisle@gcc.gnu.org> | 2006-06-18 06:36:45 +0000 |
|---|---|---|
| committer | Jerry DeLisle <jvdelisle@gcc.gnu.org> | 2006-06-18 06:36:45 +0000 |
| commit | 545548257d8ad0c0663f70c61a1fd189eaf896b8 (patch) | |
| tree | 9f73b7afa27dd254cb18534c5d1ceda6349bf744 /gcc/fortran/options.c | |
| parent | 37b4da102f718345282ca7f9b5c7bf9be857fd47 (diff) | |
| download | gcc-545548257d8ad0c0663f70c61a1fd189eaf896b8.zip gcc-545548257d8ad0c0663f70c61a1fd189eaf896b8.tar.gz gcc-545548257d8ad0c0663f70c61a1fd189eaf896b8.tar.bz2 | |
re PR fortran/19310 ([4.1 Only] unnecessary error for overflowing results)
2006-06-18 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR fortran/19310
* arith.c (gfc_range_check): Return ARITH_OK if -fno-range-check. Add
return of ARITH_NAN, ARITH_UNDERFLOW, and ARITH_OVERFLOW.
(gfc_arith_divide): If -fno-range-check allow mpfr to divide by zero.
* gfortran.h (gfc_option_t): Add new flag.
* invoke.texi: Document new flag.
* lang.opt: Add option -frange-check.
* options.c (gfc_init_options): Initialize new flag.
(gfc_handle_options): Set flag if invoked.
* simplify.c (range_check): Add error messages for
overflow, underflow, and other errors.
* trans-const.c (gfc_conv_mpfr_to_tree): Build NaN and Inf from mpfr
result.
From-SVN: r114752
Diffstat (limited to 'gcc/fortran/options.c')
| -rw-r--r-- | gcc/fortran/options.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/gcc/fortran/options.c b/gcc/fortran/options.c index 6add2b8..cd550d4 100644 --- a/gcc/fortran/options.c +++ b/gcc/fortran/options.c @@ -73,6 +73,7 @@ gfc_init_options (unsigned int argc ATTRIBUTE_UNUSED, gfc_option.flag_max_stack_var_size = 32768; gfc_option.flag_module_access_private = 0; gfc_option.flag_no_backend = 0; + gfc_option.flag_range_check = 1; gfc_option.flag_pack_derived = 0; gfc_option.flag_repack_arrays = 0; gfc_option.flag_preprocessed = 0; @@ -519,6 +520,10 @@ gfc_handle_option (size_t scode, const char *arg, int value) gfc_option.flag_no_backend = value; break; + case OPT_frange_check: + gfc_option.flag_range_check = value; + break; + case OPT_fpack_derived: gfc_option.flag_pack_derived = value; break; |
