diff options
author | Janne Blomqvist <jb@gcc.gnu.org> | 2012-05-14 22:39:23 +0300 |
---|---|---|
committer | Janne Blomqvist <jb@gcc.gnu.org> | 2012-05-14 22:39:23 +0300 |
commit | 80b91c0b39e7d65e3d89e49b5bf2ec40927f5a33 (patch) | |
tree | 1b4a3a8d4b65ec8d0a88de4f00b90d28ce493090 /libgfortran/io/io.h | |
parent | f62866740b93747b2d3f1dd4d4637e6890e0fa22 (diff) | |
download | gcc-80b91c0b39e7d65e3d89e49b5bf2ec40927f5a33.zip gcc-80b91c0b39e7d65e3d89e49b5bf2ec40927f5a33.tar.gz gcc-80b91c0b39e7d65e3d89e49b5bf2ec40927f5a33.tar.bz2 |
PR 52428 Range checking when reading integer values.
gcc/fortran ChangeLog:
2012-05-14 Janne Blomqvist <jb@gcc.gnu.org>
PR fortran/52428
* gfortran.texi: Update _gfortran_set_options documentation.
* invoke.texi: Remove runtime behavior description of
-fno-range-check.
* trans-decl.c (create_main_function): Don't pass the range-check
setting to the library.
libgfortran ChangeLog:
2012-05-14 Janne Blomqvist <jb@gcc.gnu.org>
PR fortran/52428
* io/io.h (max_value): Rename to si_max, remove second argument.
* io/list_read.c (convert_integer): Use unsigned types when
parsing the digits, set max value depending on the sign.
* io/read.c (max_value): Rename to si_max, remove second argument,
simplify.
(read_decimal): Set max value depending on sign, always check
overflow.
(read_radix): Calculate max unsigned value directly.
* libgfortran.h (struct compile_options_t): Remove range_check
field.
* runtime/compile_options.c (set_options): Skip handling
options[7].
(init_compile_options): Don't set removed field.
gcc/testsuite ChangeLog:
2012-05-14 Janne Blomqvist <jb@gcc.gnu.org>
PR fortran/52428
* gfortran.dg/int_range_io_1.f90: New test.
From-SVN: r187478
Diffstat (limited to 'libgfortran/io/io.h')
-rw-r--r-- | libgfortran/io/io.h | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/libgfortran/io/io.h b/libgfortran/io/io.h index 06364e1..6b54af1 100644 --- a/libgfortran/io/io.h +++ b/libgfortran/io/io.h @@ -661,8 +661,8 @@ internal_proto(hit_eof); extern void set_integer (void *, GFC_INTEGER_LARGEST, int); internal_proto(set_integer); -extern GFC_UINTEGER_LARGEST max_value (int, int); -internal_proto(max_value); +extern GFC_UINTEGER_LARGEST si_max (int); +internal_proto(si_max); extern int convert_real (st_parameter_dt *, void *, const char *, int); internal_proto(convert_real); |