PR 52428 Range checking when reading integer values.
authorJanne Blomqvist <jb@gcc.gnu.org>
Mon, 14 May 2012 19:39:23 +0000 (22:39 +0300)
committerJanne Blomqvist <jb@gcc.gnu.org>
Mon, 14 May 2012 19:39:23 +0000 (22:39 +0300)
commit80b91c0b39e7d65e3d89e49b5bf2ec40927f5a33
tree1b4a3a8d4b65ec8d0a88de4f00b90d28ce493090
parentf62866740b93747b2d3f1dd4d4637e6890e0fa22
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
12 files changed:
gcc/fortran/ChangeLog
gcc/fortran/gfortran.texi
gcc/fortran/invoke.texi
gcc/fortran/trans-decl.c
gcc/testsuite/ChangeLog
gcc/testsuite/gfortran.dg/int_range_io_1.f90 [new file with mode: 0644]
libgfortran/ChangeLog
libgfortran/io/io.h
libgfortran/io/list_read.c
libgfortran/io/read.c
libgfortran/libgfortran.h
libgfortran/runtime/compile_options.c