Steven Bosscher
4349e29287
re PR libfortran/34669 (libgfortran doesn't build with -pipe)
...
2008-01-16 Steven Bosscher <steven@gcc.gnu.org>
PR libfortran/34669
* mk-kinds-h.sh: Compile with -S to avoid calling the assembler,
to avoid piping the -fdump-parse-tree output to the assembler
when configuring with -pipe.
* mk-sik-inc.sh: Likewise.
* mk-srk-inc.sh: Likewise.
From-SVN: r131567
2008-01-16 10:13:39 +01:00
Thomas Koenig
90469382c0
re PR libfortran/34671 (any(kind=1) and all(kind=1))
...
2008-01-15 Thomas Koenig <tkoenig@gcc.gnu.org>
PR libfortran/34671
* gfortran.am: Added _gfortran_all_l1, _gfortran_all_l2,
_gfortran_any_l1, _gfortran_any_l2, -28,15 _gfortran_count_1_l,
_gfortran_count_16_l, _gfortran_count_2_l, _gfortran_count_4_l and
_gfortran_count_8_l Removed _gfortran_count_16_l16,
_gfortran_count_16_l4, _gfortran_count_16_l8,
_gfortran_count_4_l16, _gfortran_count_4_l4, _gfortran_count_4_l8,
_gfortran_count_8_l16, _gfortran_count_8_l4 and
_gfortran_count_8_l8.
* Makefile.am: Added generated/any_l1.c and generated/any_l2.c to
i_any_c. Added generated/all_l1. and generated/all_l2.c to
i_all_c. Removed generated/count_4_l4.c, generated/count_8_l4.c,
generated/count_16_l4.c, generated/count_4_l8.c,
generated/count_8_l8.c, generated/count_16_l8.c,
generated/count_4_l16.c, generated/count_8_l16.c, and
generated/count_16_l16.c from i_count_c. Added count_1_l.c,
count_2_l.c, count_4_l.c, count_8_l.c and count_16_l.c to
i_count_c. I_M4_DEPS2 depends on ifunction_logical.m4, for
any of the files generated from all.m4, any.m4 and count.m4.
* Makefile.in: Regenerated.
* m4/ifunction_logical.m4: New file. Use
GFC_LOGICAL_1 pointer for access to source arrays.
* m4/any.m4: Include ifunction_logical.m4 instead of
ifunction.m4. Don't check atype_name.
* m4/all.m4: Likewise.
* m4/count.m4: Likewise.
* generated/any_l1.c: New file.
* generated/any_l2.c: New file.
* generated/all_l1.c: New file.
* generated/count_1_l.c: New file.
* generated/count_2_l.c: New file.
* generated/count_4_l.c: New file.
* generated/count_8_l.c: New file.
* generated/count_16_l.c: New file.
* generated/any_l4.c: Regenerated.
* generated/any_l8.c: Regenerated.
* generated/any_l16.c: Regenerated.
* generated/all_l4.c: Regenerated.
* generated/all_l8.c: Regenerated.
* generated/all_l16.c: Regenerated.
* generated/count_4_l4.c: Removed.
* generated/count_4_l8.c: Removed.
* generated/count_4_l16.c: Removed.
* generated/count_8_l4.c: Removed.
* generated/count_8_l8.c: Removed.
* generated/count_8_l16.c: Removed.
* generated/count_16_l4.c: Removed.
* generated/count_16_l8.c: Removed.
* generated/count_16_l16.c: Removed.
2008-01-15 Thomas Koenig <tkoenig@gcc.gnu.org>
PR libfortran/34671
* iresolve.c (gfc_resolve_all): Call resolve_mask_arg.
(gfc_resolve_any): Likewise.
(gfc_resolve_count): Likewise. Don't append kind of
argument to function name.
2008-01-15 Thomas Koenig <tkoenig@gcc.gnu.org>
PR libfortran/34671
* gfortran.dg/anyallcount_1.f90: New test.
From-SVN: r131553
2008-01-15 21:22:07 +00:00
Thomas Koenig
ccacefc7a6
re PR libfortran/34746 (wrong formats in libgfortran's runtime_error)
...
2008-01-13 Thomas Koenig <tkoenig@gcc.gnu.org>
PR libfortran/34746
* m4/iforeach.m4 (name`'rtype_qual`_'atype_code): Use %ld
in printf format for all bounds checking; cast all
integer-like arguments to runtime_error() to long int.
(`m'name`'rtype_qual`_'atype_code): Likewise.
(`s'name`'rtype_qual`_'atype_code): Likewise.
* m4/ifunction.m4 (name`'rtype_qual`_'atype_code): Likewise.
(`m'name`'rtype_qual`_'atype_code): Likewise.
(`s'name`'rtype_qual`_'atype_code): Likewise.
* generated/all_l16.c: Regenerated.
* generated/all_l4.c: Regenerated.
* generated/all_l8.c: Regenerated.
* generated/any_l16.c: Regenerated.
* generated/any_l4.c: Regenerated.
* generated/any_l8.c: Regenerated.
* generated/count_16_l16.c: Regenerated.
* generated/count_16_l4.c: Regenerated.
* generated/count_16_l8.c: Regenerated.
* generated/count_4_l16.c: Regenerated.
* generated/count_4_l4.c: Regenerated.
* generated/count_4_l8.c: Regenerated.
* generated/count_8_l16.c: Regenerated.
* generated/count_8_l4.c: Regenerated.
* generated/count_8_l8.c: Regenerated.
* generated/maxloc0_16_i1.c: Regenerated.
* generated/maxloc0_16_i16.c: Regenerated.
* generated/maxloc0_16_i2.c: Regenerated.
* generated/maxloc0_16_i4.c: Regenerated.
* generated/maxloc0_16_i8.c: Regenerated.
* generated/maxloc0_16_r10.c: Regenerated.
* generated/maxloc0_16_r16.c: Regenerated.
* generated/maxloc0_16_r4.c: Regenerated.
* generated/maxloc0_16_r8.c: Regenerated.
* generated/maxloc0_4_i1.c: Regenerated.
* generated/maxloc0_4_i16.c: Regenerated.
* generated/maxloc0_4_i2.c: Regenerated.
* generated/maxloc0_4_i4.c: Regenerated.
* generated/maxloc0_4_i8.c: Regenerated.
* generated/maxloc0_4_r10.c: Regenerated.
* generated/maxloc0_4_r16.c: Regenerated.
* generated/maxloc0_4_r4.c: Regenerated.
* generated/maxloc0_4_r8.c: Regenerated.
* generated/maxloc0_8_i1.c: Regenerated.
* generated/maxloc0_8_i16.c: Regenerated.
* generated/maxloc0_8_i2.c: Regenerated.
* generated/maxloc0_8_i4.c: Regenerated.
* generated/maxloc0_8_i8.c: Regenerated.
* generated/maxloc0_8_r10.c: Regenerated.
* generated/maxloc0_8_r16.c: Regenerated.
* generated/maxloc0_8_r4.c: Regenerated.
* generated/maxloc0_8_r8.c: Regenerated.
* generated/maxloc1_16_i1.c: Regenerated.
* generated/maxloc1_16_i16.c: Regenerated.
* generated/maxloc1_16_i2.c: Regenerated.
* generated/maxloc1_16_i4.c: Regenerated.
* generated/maxloc1_16_i8.c: Regenerated.
* generated/maxloc1_16_r10.c: Regenerated.
* generated/maxloc1_16_r16.c: Regenerated.
* generated/maxloc1_16_r4.c: Regenerated.
* generated/maxloc1_16_r8.c: Regenerated.
* generated/maxloc1_4_i1.c: Regenerated.
* generated/maxloc1_4_i16.c: Regenerated.
* generated/maxloc1_4_i2.c: Regenerated.
* generated/maxloc1_4_i4.c: Regenerated.
* generated/maxloc1_4_i8.c: Regenerated.
* generated/maxloc1_4_r10.c: Regenerated.
* generated/maxloc1_4_r16.c: Regenerated.
* generated/maxloc1_4_r4.c: Regenerated.
* generated/maxloc1_4_r8.c: Regenerated.
* generated/maxloc1_8_i1.c: Regenerated.
* generated/maxloc1_8_i16.c: Regenerated.
* generated/maxloc1_8_i2.c: Regenerated.
* generated/maxloc1_8_i4.c: Regenerated.
* generated/maxloc1_8_i8.c: Regenerated.
* generated/maxloc1_8_r10.c: Regenerated.
* generated/maxloc1_8_r16.c: Regenerated.
* generated/maxloc1_8_r4.c: Regenerated.
* generated/maxloc1_8_r8.c: Regenerated.
* generated/maxval_i1.c: Regenerated.
* generated/maxval_i16.c: Regenerated.
* generated/maxval_i2.c: Regenerated.
* generated/maxval_i4.c: Regenerated.
* generated/maxval_i8.c: Regenerated.
* generated/maxval_r10.c: Regenerated.
* generated/maxval_r16.c: Regenerated.
* generated/maxval_r4.c: Regenerated.
* generated/maxval_r8.c: Regenerated.
* generated/minloc0_16_i1.c: Regenerated.
* generated/minloc0_16_i16.c: Regenerated.
* generated/minloc0_16_i2.c: Regenerated.
* generated/minloc0_16_i4.c: Regenerated.
* generated/minloc0_16_i8.c: Regenerated.
* generated/minloc0_16_r10.c: Regenerated.
* generated/minloc0_16_r16.c: Regenerated.
* generated/minloc0_16_r4.c: Regenerated.
* generated/minloc0_16_r8.c: Regenerated.
* generated/minloc0_4_i1.c: Regenerated.
* generated/minloc0_4_i16.c: Regenerated.
* generated/minloc0_4_i2.c: Regenerated.
* generated/minloc0_4_i4.c: Regenerated.
* generated/minloc0_4_i8.c: Regenerated.
* generated/minloc0_4_r10.c: Regenerated.
* generated/minloc0_4_r16.c: Regenerated.
* generated/minloc0_4_r4.c: Regenerated.
* generated/minloc0_4_r8.c: Regenerated.
* generated/minloc0_8_i1.c: Regenerated.
* generated/minloc0_8_i16.c: Regenerated.
* generated/minloc0_8_i2.c: Regenerated.
* generated/minloc0_8_i4.c: Regenerated.
* generated/minloc0_8_i8.c: Regenerated.
* generated/minloc0_8_r10.c: Regenerated.
* generated/minloc0_8_r16.c: Regenerated.
* generated/minloc0_8_r4.c: Regenerated.
* generated/minloc0_8_r8.c: Regenerated.
* generated/minloc1_16_i1.c: Regenerated.
* generated/minloc1_16_i16.c: Regenerated.
* generated/minloc1_16_i2.c: Regenerated.
* generated/minloc1_16_i4.c: Regenerated.
* generated/minloc1_16_i8.c: Regenerated.
* generated/minloc1_16_r10.c: Regenerated.
* generated/minloc1_16_r16.c: Regenerated.
* generated/minloc1_16_r4.c: Regenerated.
* generated/minloc1_16_r8.c: Regenerated.
* generated/minloc1_4_i1.c: Regenerated.
* generated/minloc1_4_i16.c: Regenerated.
* generated/minloc1_4_i2.c: Regenerated.
* generated/minloc1_4_i4.c: Regenerated.
* generated/minloc1_4_i8.c: Regenerated.
* generated/minloc1_4_r10.c: Regenerated.
* generated/minloc1_4_r16.c: Regenerated.
* generated/minloc1_4_r4.c: Regenerated.
* generated/minloc1_4_r8.c: Regenerated.
* generated/minloc1_8_i1.c: Regenerated.
* generated/minloc1_8_i16.c: Regenerated.
* generated/minloc1_8_i2.c: Regenerated.
* generated/minloc1_8_i4.c: Regenerated.
* generated/minloc1_8_i8.c: Regenerated.
* generated/minloc1_8_r10.c: Regenerated.
* generated/minloc1_8_r16.c: Regenerated.
* generated/minloc1_8_r4.c: Regenerated.
* generated/minloc1_8_r8.c: Regenerated.
* generated/minval_i1.c: Regenerated.
* generated/minval_i16.c: Regenerated.
* generated/minval_i2.c: Regenerated.
* generated/minval_i4.c: Regenerated.
* generated/minval_i8.c: Regenerated.
* generated/minval_r10.c: Regenerated.
* generated/minval_r16.c: Regenerated.
* generated/minval_r4.c: Regenerated.
* generated/minval_r8.c: Regenerated.
* generated/product_c10.c: Regenerated.
* generated/product_c16.c: Regenerated.
* generated/product_c4.c: Regenerated.
* generated/product_c8.c: Regenerated.
* generated/product_i1.c: Regenerated.
* generated/product_i16.c: Regenerated.
* generated/product_i2.c: Regenerated.
* generated/product_i4.c: Regenerated.
* generated/product_i8.c: Regenerated.
* generated/product_r10.c: Regenerated.
* generated/product_r16.c: Regenerated.
* generated/product_r4.c: Regenerated.
* generated/product_r8.c: Regenerated.
* generated/sum_c10.c: Regenerated.
* generated/sum_c16.c: Regenerated.
* generated/sum_c4.c: Regenerated.
* generated/sum_c8.c: Regenerated.
* generated/sum_i1.c: Regenerated.
* generated/sum_i16.c: Regenerated.
* generated/sum_i2.c: Regenerated.
* generated/sum_i4.c: Regenerated.
* generated/sum_i8.c: Regenerated.
* generated/sum_r10.c: Regenerated.
* generated/sum_r16.c: Regenerated.
* generated/sum_r4.c: Regenerated.
* generated/sum_r8.c: Regenerated.
From-SVN: r131514
2008-01-13 22:13:52 +00:00
Thomas Koenig
fd6590f8c8
re PR libfortran/34670 (bounds checking for array intrinsics)
...
2008-01-11 Thomas Koenig <tkoenig@gcc.gnu.org>
PR libfortran/34670
* m4/iparm.m4 (upcase): New macro (copied from the m4 manual).
(u_name): New macro for the upper case name of the intrinsic.
* m4/iforeach.m4 (name`'rtype_qual`_'atype_code): Add
bounds checking and rank check, depending on
compile_options.bounds_check.
(`m'name`'rtype_qual`_'atype_code): Likewise.
(`s'name`'rtype_qual`_'atype_code): Likewise.
* m4/ifunction.m4 (name`'rtype_qual`_'atype_code): Add
bounds checking and rank check, depending on
compile_options.bounds_check.
(`m'name`'rtype_qual`_'atype_code): Likewise.
(`s'name`'rtype_qual`_'atype_code): Likewise.
* generated/all_l16.c: Regenerated.
* generated/all_l4.c: Regenerated.
* generated/all_l8.c: Regenerated.
* generated/any_l16.c: Regenerated.
* generated/any_l4.c: Regenerated.
* generated/any_l8.c: Regenerated.
* generated/count_16_l16.c: Regenerated.
* generated/count_16_l4.c: Regenerated.
* generated/count_16_l8.c: Regenerated.
* generated/count_4_l16.c: Regenerated.
* generated/count_4_l4.c: Regenerated.
* generated/count_4_l8.c: Regenerated.
* generated/count_8_l16.c: Regenerated.
* generated/count_8_l4.c: Regenerated.
* generated/count_8_l8.c: Regenerated.
* generated/maxloc0_16_i1.c: Regenerated.
* generated/maxloc0_16_i16.c: Regenerated.
* generated/maxloc0_16_i2.c: Regenerated.
* generated/maxloc0_16_i4.c: Regenerated.
* generated/maxloc0_16_i8.c: Regenerated.
* generated/maxloc0_16_r10.c: Regenerated.
* generated/maxloc0_16_r16.c: Regenerated.
* generated/maxloc0_16_r4.c: Regenerated.
* generated/maxloc0_16_r8.c: Regenerated.
* generated/maxloc0_4_i1.c: Regenerated.
* generated/maxloc0_4_i16.c: Regenerated.
* generated/maxloc0_4_i2.c: Regenerated.
* generated/maxloc0_4_i4.c: Regenerated.
* generated/maxloc0_4_i8.c: Regenerated.
* generated/maxloc0_4_r10.c: Regenerated.
* generated/maxloc0_4_r16.c: Regenerated.
* generated/maxloc0_4_r4.c: Regenerated.
* generated/maxloc0_4_r8.c: Regenerated.
* generated/maxloc0_8_i1.c: Regenerated.
* generated/maxloc0_8_i16.c: Regenerated.
* generated/maxloc0_8_i2.c: Regenerated.
* generated/maxloc0_8_i4.c: Regenerated.
* generated/maxloc0_8_i8.c: Regenerated.
* generated/maxloc0_8_r10.c: Regenerated.
* generated/maxloc0_8_r16.c: Regenerated.
* generated/maxloc0_8_r4.c: Regenerated.
* generated/maxloc0_8_r8.c: Regenerated.
* generated/maxloc1_16_i1.c: Regenerated.
* generated/maxloc1_16_i16.c: Regenerated.
* generated/maxloc1_16_i2.c: Regenerated.
* generated/maxloc1_16_i4.c: Regenerated.
* generated/maxloc1_16_i8.c: Regenerated.
* generated/maxloc1_16_r10.c: Regenerated.
* generated/maxloc1_16_r16.c: Regenerated.
* generated/maxloc1_16_r4.c: Regenerated.
* generated/maxloc1_16_r8.c: Regenerated.
* generated/maxloc1_4_i1.c: Regenerated.
* generated/maxloc1_4_i16.c: Regenerated.
* generated/maxloc1_4_i2.c: Regenerated.
* generated/maxloc1_4_i4.c: Regenerated.
* generated/maxloc1_4_i8.c: Regenerated.
* generated/maxloc1_4_r10.c: Regenerated.
* generated/maxloc1_4_r16.c: Regenerated.
* generated/maxloc1_4_r4.c: Regenerated.
* generated/maxloc1_4_r8.c: Regenerated.
* generated/maxloc1_8_i1.c: Regenerated.
* generated/maxloc1_8_i16.c: Regenerated.
* generated/maxloc1_8_i2.c: Regenerated.
* generated/maxloc1_8_i4.c: Regenerated.
* generated/maxloc1_8_i8.c: Regenerated.
* generated/maxloc1_8_r10.c: Regenerated.
* generated/maxloc1_8_r16.c: Regenerated.
* generated/maxloc1_8_r4.c: Regenerated.
* generated/maxloc1_8_r8.c: Regenerated.
* generated/maxval_i1.c: Regenerated.
* generated/maxval_i16.c: Regenerated.
* generated/maxval_i2.c: Regenerated.
* generated/maxval_i4.c: Regenerated.
* generated/maxval_i8.c: Regenerated.
* generated/maxval_r10.c: Regenerated.
* generated/maxval_r16.c: Regenerated.
* generated/maxval_r4.c: Regenerated.
* generated/maxval_r8.c: Regenerated.
* generated/minloc0_16_i1.c: Regenerated.
* generated/minloc0_16_i16.c: Regenerated.
* generated/minloc0_16_i2.c: Regenerated.
* generated/minloc0_16_i4.c: Regenerated.
* generated/minloc0_16_i8.c: Regenerated.
* generated/minloc0_16_r10.c: Regenerated.
* generated/minloc0_16_r16.c: Regenerated.
* generated/minloc0_16_r4.c: Regenerated.
* generated/minloc0_16_r8.c: Regenerated.
* generated/minloc0_4_i1.c: Regenerated.
* generated/minloc0_4_i16.c: Regenerated.
* generated/minloc0_4_i2.c: Regenerated.
* generated/minloc0_4_i4.c: Regenerated.
* generated/minloc0_4_i8.c: Regenerated.
* generated/minloc0_4_r10.c: Regenerated.
* generated/minloc0_4_r16.c: Regenerated.
* generated/minloc0_4_r4.c: Regenerated.
* generated/minloc0_4_r8.c: Regenerated.
* generated/minloc0_8_i1.c: Regenerated.
* generated/minloc0_8_i16.c: Regenerated.
* generated/minloc0_8_i2.c: Regenerated.
* generated/minloc0_8_i4.c: Regenerated.
* generated/minloc0_8_i8.c: Regenerated.
* generated/minloc0_8_r10.c: Regenerated.
* generated/minloc0_8_r16.c: Regenerated.
* generated/minloc0_8_r4.c: Regenerated.
* generated/minloc0_8_r8.c: Regenerated.
* generated/minloc1_16_i1.c: Regenerated.
* generated/minloc1_16_i16.c: Regenerated.
* generated/minloc1_16_i2.c: Regenerated.
* generated/minloc1_16_i4.c: Regenerated.
* generated/minloc1_16_i8.c: Regenerated.
* generated/minloc1_16_r10.c: Regenerated.
* generated/minloc1_16_r16.c: Regenerated.
* generated/minloc1_16_r4.c: Regenerated.
* generated/minloc1_16_r8.c: Regenerated.
* generated/minloc1_4_i1.c: Regenerated.
* generated/minloc1_4_i16.c: Regenerated.
* generated/minloc1_4_i2.c: Regenerated.
* generated/minloc1_4_i4.c: Regenerated.
* generated/minloc1_4_i8.c: Regenerated.
* generated/minloc1_4_r10.c: Regenerated.
* generated/minloc1_4_r16.c: Regenerated.
* generated/minloc1_4_r4.c: Regenerated.
* generated/minloc1_4_r8.c: Regenerated.
* generated/minloc1_8_i1.c: Regenerated.
* generated/minloc1_8_i16.c: Regenerated.
* generated/minloc1_8_i2.c: Regenerated.
* generated/minloc1_8_i4.c: Regenerated.
* generated/minloc1_8_i8.c: Regenerated.
* generated/minloc1_8_r10.c: Regenerated.
* generated/minloc1_8_r16.c: Regenerated.
* generated/minloc1_8_r4.c: Regenerated.
* generated/minloc1_8_r8.c: Regenerated.
* generated/minval_i1.c: Regenerated.
* generated/minval_i16.c: Regenerated.
* generated/minval_i2.c: Regenerated.
* generated/minval_i4.c: Regenerated.
* generated/minval_i8.c: Regenerated.
* generated/minval_r10.c: Regenerated.
* generated/minval_r16.c: Regenerated.
* generated/minval_r4.c: Regenerated.
* generated/minval_r8.c: Regenerated.
* generated/product_c10.c: Regenerated.
* generated/product_c16.c: Regenerated.
* generated/product_c4.c: Regenerated.
* generated/product_c8.c: Regenerated.
* generated/product_i1.c: Regenerated.
* generated/product_i16.c: Regenerated.
* generated/product_i2.c: Regenerated.
* generated/product_i4.c: Regenerated.
* generated/product_i8.c: Regenerated.
* generated/product_r10.c: Regenerated.
* generated/product_r16.c: Regenerated.
* generated/product_r4.c: Regenerated.
* generated/product_r8.c: Regenerated.
* generated/sum_c10.c: Regenerated.
* generated/sum_c16.c: Regenerated.
* generated/sum_c4.c: Regenerated.
* generated/sum_c8.c: Regenerated.
* generated/sum_i1.c: Regenerated.
* generated/sum_i16.c: Regenerated.
* generated/sum_i2.c: Regenerated.
* generated/sum_i4.c: Regenerated.
* generated/sum_i8.c: Regenerated.
* generated/sum_r10.c: Regenerated.
* generated/sum_r16.c: Regenerated.
* generated/sum_r4.c: Regenerated.
* generated/sum_r8.c: Regenerated.
2008-01-11 Thomas Koenig <tkoenig@gcc.gnu.org>
PR libfortran/34670
* all_bounds_1.f90: New test case.
* maxloc_bounds_1.f90: New test case.
* maxloc_bounds_2.f90: New test case.
* maxloc_bounds_3.f90: New test case.
* maxloc_bounds_4.f90: New test case.
* maxloc_bounds_5.f90: New test case.
* maxloc_bounds_6.f90: New test case.
* maxloc_bounds_7.f90: New test case.
* maxloc_bounds_8.f90: New test case.
From-SVN: r131473
2008-01-11 20:21:05 +00:00
Jerry DeLisle
fa347f2232
re PR fortran/34676 (IO error delayed)
...
2008-01-05 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libfortran/34676
* io/list_read.c (next_char): Only save the EOF condition for later if
advance="no".
From-SVN: r131337
2008-01-05 16:00:40 +00:00
Thomas Koenig
9370b3c0f9
re PR fortran/34565 (internal write to string array fails)
...
2008-01-03 Thomas Koenig <tkoenig@gcc.gnu.org>
PR libfortran/34565
* io/io.h: Adjust protoypes for open_internal(),
next_array_record() and init_loop_spec().
* io/list_read.c (next_char): Use argument "finished"
of next_array_record to check for end on internal file.
* io/unit.c: Calculate the offset for an array
internal file and supply this informatin to open_internal().
* io/unix.c (open_internal): Set the offset for the internal
file on open.
* io/transfer.c (init_loop_spec): Calculate the starting
record in case of negative strides. Return size of 0 for
an empty array.
(next_array_record): Use an extra flag to signal that the
array is finished.
(next_record_r): Use the new flag to next_array_record().
(next_record_w): Likewise.
2008-01-03 Thomas Koenig <tkoenig@gcc.gnu.org>
PR libfortran/34565
* gfortran.dg/internal_readwrite_1.f90: New test.
* gfortran.dg/internal_readwrite_2.f90: New test.
From-SVN: r131305
2008-01-03 19:49:38 +00:00
Tobias Schlüter
caf3856072
Rotate Fortran ChangeLogs.
...
From-SVN: r131261
2008-01-02 18:54:50 +01:00
Thomas Koenig
e608204146
re PR libfortran/22423 (Warnings when building libgfortran)
...
2007-12-27 Thomas Koenig <tkoenig@gcc.gnu.org>
PR libfortran/22423
* intrinsics/pack_generic.c (pack): Change type of mask argument
to gfc_array_l1 * in prototype and function.
(pack_char): Likewise.
* intrinsics/unpack_generic.c (unpack1): Likewise.
(unpack1_char): Likewise.
(unpack0): Likewise.
(unpack0_char): Likewise.
From-SVN: r131204
2007-12-27 15:00:10 +00:00
Thomas Koenig
ceac3d59ad
re PR fortran/34594 (On error and END, no jump to ERR=<label>)
...
2007-12-27 Thomas Koenig <tkoenig@gcc.gnu.org>
PR libfortran/34594
* runtime/error.c: If there was a previous error, don't
mask it with another error mesage, EOF or EOR condition.
2007-12-27 Thomas Koenig <tkoenig@gcc.gnu.org>
PR libfortran/34594
* gfortran.dg/direct_io_8.f90: New test case.
From-SVN: r131199
2007-12-27 12:33:52 +00:00
Jerry DeLisle
0283e1ed80
Fix change log, missing PR reference.
...
From-SVN: r131179
2007-12-26 03:43:00 +00:00
Jerry DeLisle
f15db427e1
transfer.c (read_sf): Check if readlen was less than the requested number of bytes to read and if so...
...
2007-12-25 Jerry DeLisle <jvdelisle@gcc.gnu.org>
* io/transfer.c (read_sf): Check if readlen was less than the requested
number of bytes to read and if so, generate error.
From-SVN: r131177
2007-12-26 03:37:01 +00:00
Daniel Franke
a1ba31ced9
re PR fortran/34533 (DTIME returns total process time and not since last invocation)
...
gcc/fortran:
2007-12-25 Daniel Franke <franke.daniel@gmail.com>
PR fortran/34533
* intrinsic.h (gfc_check_etime): Renamed to ...
(gfc_check_dtime_etime): ... this.
(gfc_check_etime_sub): Renamed to ...
(gfc_check_dtime_etime_sub): ... this.
(gfc_resolve_dtime_sub): New prototype.
* check.c (gfc_check_etime): Renamed to ...
(gfc_check_dtime_etime): ... this.
(gfc_check_etime_sub): Renamed to ...
(gfc_check_dtime_etime_sub): ... this.
* iresolve.c (gfc_resolve_dtime_sub): New implementation.
* intrinsic.c (add_functions): Removed alias from ETIME to DTIME,
added stand-alone intrinsic DTIME.
(add_subroutines): Adjusted check and resolve function names for
DTIME and ETIME.
* trans-intrinsic.c (gfc_conv_intrinsic_function): Added DTIME
to known functions in switch.
* intrinsic.texi (DTIME): Added paragraph about thread-safety,
fixed return value section.
(CPU_TIME): Clarified intent and added implementation notes.
libgfortran:
2007-12-25 Daniel Franke <franke.daniel@gmail.com>
PR fortran/34533
* intrinsics/cpu_time.c: Moved code commonly usable for CPU_TIME,
DTIME and ETIME to ...
* intrinsics/time_1.h: ... here.
* intrinsics/dtime.c: New file.
* intrinsics/etime.c: Newly implemented using the common
time-aquisition function from time_1.h.
* gfortran.map (_gfortran_dtime, _gfortran_dtime_sub): New.
* Makefile.am: Added new file.
* Makefile.in: Regenerated.
* configure: Regenerated.
From-SVN: r131168
2007-12-25 05:41:44 -05:00
Thomas Koenig
54a838424e
re PR fortran/34566 (Matmul of logical values)
...
2007-12-25 Thomas Koenig <tkoenig@gcc.gnu.org>
PR libfortran/34566
* m4/matmull.m4: Multiply xstride and ystride by correct kind.
* generated/matmul_l4.c: Regenerated.
* generated/matmul_l8.c: Regenerated.
* generated/matmul_l16.c: Regenerated.
2007-12-25 Thomas Koenig <tkoenig@gcc.gnu.org>
PR libfortran/34566
* gfortran.dg/matmul_6.f90: New test.
From-SVN: r131167
2007-12-25 10:12:41 +00:00
Tobias Burnus
667e20459d
re PR libfortran/34530 (namelist read broken when whitespace after &namelist)
...
2007-12-20 Tobias Burnus <burnus@net-b.de>
PR fortran/34530
* io/list_read.c (eat_line): Move up in the file.
(eat_separator): In namelist mode, skip over comment lines.
2007-12-20 Tobias Burnus <burnus@net-b.de>
PR fortran/34530
* gfortran.dg/namelist_44.f90: New.
From-SVN: r131099
2007-12-20 09:16:48 +01:00
Jerry DeLisle
78a15b1f3f
re PR libfortran/34427 (Revision 130708 breaks namelist input)
...
2007-12-16 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR fortran/34427
* io/list_read.c (read_real): Handle intervening line ends and spaces.
(get_name): Don't push separators to saved_string.
(eat_separator): If in namelist mode eat spaces and line ends as well.
From-SVN: r131003
2007-12-17 00:47:14 +00:00
Thomas Koenig
108bc19009
re PR libfortran/34370 (file positioning after nonadvancing i/o)
...
2007-12-13 Thomas Koenig <tkoenig@gcc.gnu.org>
PR libfortran/34370
PR libfortran/34323
PR libfortran/34405
* io/io.h: Add previous_nonadvancing_write to gfc_unit.
Add prototype for finish_last_advance_record.
* io/file_pos.c (st_backspace): Generate error if backspace is
attempted for direct access or unformatted stream.
If there are bytes left from a previous ADVANCE="no", write
them out before performing the backspace.
(st_endfile): Generate error if endfile is attempted for
direct access.
If there are bytes left from a previous ADVANCE="no", write
them out before performing the endfile.
(st_rewind): Generate error if rewind is attempted for
direct access.
* unit.c (close_unit_1): Move functionality to write
previously written bytes to...
(finish_last_advance_record): ... here.
* transfer.c (data_transfer_init): If reading, reset
previous_nonadvancing_write.
(finalize_transfer): Set the previous_noadvancing_write
flag if we are writing and ADVANCE="no" was specified.
Only call next_record() if advance="no" wasn't specified.
2007-12-13 Thomas Koenig <tkoenig@gcc.gnu.org>
PR libfortran/34370
PR libfortran/34323
PR libfortran/34405
* gfortran.dg/advance_6.f90: New test case.
* gfortran.dg/direct_io_7.f90: New test case.
* gfortran.dg/streamio_13.f90: New test case.
From-SVN: r130912
2007-12-13 19:35:09 +00:00
Tobias Burnus
b446725a8a
re PR libfortran/34427 (Revision 130708 breaks namelist input)
...
2007-12-13 Tobias Burnus <burnus@net-b.de>
PR fortran/34427
* io/list_read.c (read_real): Fix unwinding for namelists.
2007-12-13 Tobias Burnus <burnus@net-b.de>
PR fortran/34427
* gfortran.dg/namelist_42.f90: New.
From-SVN: r130889
2007-12-13 12:01:00 +01:00
Jerry DeLisle
5f026f90f0
re PR fortran/34411 (hang-up during read of non-expected input)
...
2007-12-10 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libfortran/34411
* io/read.c (convert_real, read_l, read_decimal, read_radix, read_f):
Call next_record after bad read or overflow error.
From-SVN: r130767
2007-12-11 03:49:52 +00:00
Tobias Burnus
de80e4f820
[multiple changes]
...
2007-12-09 Tobias Burnus <burnus@net-b.de>
PR fortran/34404
* io/list_read.c (parse_real): Remove superfluous "goto bad;".
2007-12-09 H.J. Lu <hjl@lucon.org>
Tobias Burnus <burnus@net-b.de>
PR fortran/34404
* gfortran.dg/read_2.f90: New.
From-SVN: r130723
2007-12-09 13:58:25 +01:00
Tobias Burnus
c9f7e8258a
re PR fortran/34319 (I/O: Support "NaN", "Infinity" and "INF" as input)
...
2007-12-08 Tobias Burnus <burnus@net-b.de>
PR fortran/34319
* io/list_read.c (parse_real, read_real): Support NaN/Infinity.
2007-12-08 Tobias Burnus <burnus@net-b.de>
PR fortran/34319
* gfortran.dg/nan_3.f90: New.
From-SVN: r130708
2007-12-08 16:51:52 +01:00
Jerry DeLisle
2ea7440786
re PR libfortran/33985 (access="stream",form="unformatted" doesn't buffer)
...
2007-12-02 Jerry DeLisle <jvdelisle@gcc.gnu.org>
Thomas Koenig <tkoenig@gcc.gnu.org>
PR libfortran/33985
* io/transfer.c (read_block, read_block_direct, write_block, write_buf):
Don't seek if file position is already there for STREAM I/O.
(finalize_transfer): For STREAM I/O don't flush unless the file position
has moved past the start position before the transfer.
Co-Authored-By: Thomas Koenig <tkoenig@gcc.gnu.org>
From-SVN: r130574
2007-12-02 23:17:16 +00:00
Francois-Xavier Coudert
101eebdb8a
stat.c (stat_i4_sub_0, [...]): Mark parameter with unused attribute.
...
* intrinsic/stat.c (stat_i4_sub_0, stat_i8_sub_0): Mark parameter
with unused attribute.
* intrinsics/system_clock.c (system_clock_4, system_clock_8):
Remove unused variable.
* intrinsics/umask.c: Include unistd.h.
From-SVN: r130561
2007-12-01 21:16:26 +00:00
Jerry DeLisle
3c55599b1f
re PR libfortran/34291 (Segfault in io/list_read.c handling of end conditions)
...
2007-11-30 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libfortran/34291
* io/list_read.c (read_character): When reading an unquoted string,
return if special characters that could signify the end of the namelist
read are encountered.
From-SVN: r130548
2007-11-30 23:19:34 +00:00
Steven G. Kargl
786a435680
re PR libfortran/33583 (FAIL: gfortran.dg/gamma_1.f90)
...
2007-11-29 Steven G. Kargl <kargls@comcast.net>
PR libfortran/33583
* libgfortran/gfortran.map: Add tgammaf, tgamma, lgamma, and lgammaf.
* gfortran.dg/gamma_5.f90: Remove xfail.
From-SVN: r130531
2007-11-30 04:14:01 +00:00
Francois-Xavier Coudert
fb0a0e1591
re PR libfortran/33583 (FAIL: gfortran.dg/gamma_1.f90)
...
PR libfortran/33583
PR libfortran/33698
* intrinsics/c99_functions.c (tgamma, tgammaf, lgamma, lgammaf):
New fallback functions.
* c99_protos.h (tgamma, tgammaf, lgamma, lgammaf): New prototypes.
* configure.ac: Add checks for tgamma, tgammaf, tgammal, lgamma,
lgammaf and lgammal.
* config.h.in: Regenerate.
* configure: Regenerate.
From-SVN: r130245
2007-11-16 22:31:28 +00:00
Francois-Xavier Coudert
66ec5f8742
* mk-kinds-h.sh: Change sed syntax.
...
From-SVN: r130015
2007-11-08 19:17:19 +00:00
Jerry DeLisle
31de5c748d
re PR libfortran/33985 (access="stream",form="unformatted" doesn't buffer)
...
2007-11-06 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libfortran/33985
* io/transfer.c (finalize_transfer): Revert previous patch.
From-SVN: r129955
2007-11-07 02:43:44 +00:00
Jerry DeLisle
0c70ecbea2
re PR libfortran/33985 (access="stream",form="unformatted" doesn't buffer)
...
2007-11-03 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libfortran/33985
* io/transfer.c (finalize_transfer): Do not flush for
unformatted STREAM I/O.
From-SVN: r129870
2007-11-03 14:57:13 +00:00
Tobias Burnus
094817b070
mk-kinds-h.sh: Change LANG=C to LC_ALL=C.
...
2007-10-27 Tobias Burnus <burnus@net-b.de>
* mk-kinds-h.sh: Change LANG=C to LC_ALL=C.
From-SVN: r129679
2007-10-27 16:07:14 +02:00
Tobias Burnus
84f2b1d168
mk-kinds-h.sh: Add "LANG=C".
...
2007-10-26 Tobias Burnus <burnus@net-b.de>
* mk-kinds-h.sh: Add "LANG=C".
From-SVN: r129658
2007-10-26 21:01:42 +02:00
Francois-Xavier Coudert
1fa6df85b1
libgfortran.h (GFC_REAL_*_HUGE, [...]): Remove.
...
* libgfortran.h (GFC_REAL_*_HUGE, GFC_REAL_*_DIGITS,
GFC_REAL_*_RADIX): Remove.
* mk-kinds-h.sh: Define GFC_REAL_*_HUGE, GFC_REAL_*_DIGITS and
GFC_REAL_*_RADIX. Don't define GFC_REAL_LARGEST_FORMAT and
GFC_REAL_LARGEST.
From-SVN: r129636
2007-10-25 23:32:07 +00:00
Ben Elliston
6525c3f01e
signal.c (alarm_sub_i4): Mark conditionally unused parameters with __attribute__ ((unused)).
...
* intrinsics/signal.c (alarm_sub_i4): Mark conditionally unused
parameters with __attribute__ ((unused)).
(alarm_sub_i8): Likewise.
(alarm_sub_int_i4): Likewise.
(alarm_sub_int_i8): Likewise.
From-SVN: r129486
2007-10-19 22:24:39 +10:00
Francois-Xavier Coudert
1f94e1d88e
re PR fortran/33795 (Environment variable GFORTRAN_UNBUFFERED_<number> not working)
...
2007-10-18 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libfortran/33795
* libgfortran.h: Add unbuffered_preconnected.
* io/unix.c (output_stream): Set stream unbuffered flag if
options.unbuffered_preconnected has been set.
(error_stream): Ditto.
* runtime/environ.c (variable_table): Add to environment variable table
the entry: GFORTRAN_UNBUFFERED_PRECONNECTED.
Co-Authored-By: Jerry DeLisle <jvdelisle@gcc.gnu.org>
From-SVN: r129470
2007-10-19 04:10:58 +00:00
Francois-Xavier Coudert
1cc0507d4c
re PR fortran/32021 (Fix,document,remove GFORTRAN_* environment variables)
...
PR libfortran/32021
* runtime/backtrace.c (local_strcasestr): Protect by appropriate
macros.
* runtime/main.c (cleanup): Cast argument to free.
* intrinsics/spread_generic.c (spread_internal): Match runtime_error
arguments and format.
* intrinsics/signal.c (alarm_sub_int_i4, alarm_sub_int_i8): Cast
pointers to avoid warnings.
From-SVN: r129463
2007-10-18 21:25:21 +00:00
Ben Elliston
9651c2ed93
environ.c (init_choice): Remove unused function.
...
* runtime/environ.c (init_choice): Remove unused function.
(show_choice): Likewise.
(choice): Remove.
(FP_ROUND_NEAREST, FP_ROUND_UP, FP_ROUND_DOWN, FP_ROUND_ZERO):
Remove.
(precision, signal_choices): Remove.
From-SVN: r129423
2007-10-18 09:28:37 +10:00
Christopher D. Rickett
9fd25b5cd5
re PR fortran/32600 ([ISO Bind C] C_F_POINTER w/o SHAPE should not be a library function)
...
2007-10-15 Christopher D. Rickett <crickett@lanl.gov>
PR fortran/32600
* trans-expr.c (gfc_conv_function_call): Generate code to inline
c_associated.
* symbol.c (get_iso_c_sym): Preserve from_intmod and
* intmod_sym_id
attributes in the resolved symbol.
* resolve.c (gfc_iso_c_sub_interface): Remove dead code.
2007-10-15 Christopher D. Rickett <crickett@lanl.gov>
PR fortran/32600
* libgfortran/intrinsics/iso_c_binding.c: Remove c_associated_1
and c_associated_2.
* libgfortran/intrinsics/iso_c_binding.h: Ditto.
* libgfortran/gfortran.map: Ditto.
From-SVN: r129367
2007-10-15 21:58:55 +02:00
Jerry DeLisle
6ae786d29d
re PR libfortran/33055 (Runtime error in INQUIRE unit existance with -fdefault-integer-8)
...
2007-10-15 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libfortran/33055
* io/inquire.c (inquire_via_unit): If inquiring by unit, check for
an error condition from the IOSTAT variable and set EXIST to false if
there was a bad unit number.
From-SVN: r129344
2007-10-15 13:59:02 +00:00
Jerry DeLisle
45dfbe77d2
re PR libfortran/33672 (Additional runtime checks needed for namelist reads)
...
2007-10-14 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libfortran/33672
* io/list_read.c (nml_parse_qualifier): Add character specific error
messages. Check for proper form of sub-string qualifiers. Return the
parsed_rank flag indicating a non-zero rank qualifier.
(nml_get_obj_data): Count the instances of non-zero rank qualifiers.
Issue an error if more that one non-zero rank qualifier is found.
From-SVN: r129309
2007-10-15 01:33:16 +00:00
Jerry DeLisle
fed2a4733b
Fix ChangeLog.
...
From-SVN: r129017
2007-10-04 15:59:54 +00:00
Jerry DeLisle
808a2225f9
re PR libfortran/33253 (namelist: reading back a string with apostrophe)
...
2007-10-04 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libfortran/33253
* io/list_read.c (read_character): Use line_buffer to scan ahead for
object name or string when no delimiter is found.
From-SVN: r129016
2007-10-04 15:57:28 +00:00
François-Xavier Coudert
34e366b39c
re PR fortran/32021 (Fix,document,remove GFORTRAN_* environment variables)
...
PR libfortran/32021
* runtime/environ.c (init_mem, show_mem, init_round, show_round,
init_precision, show_precision, init_signal, show_signal): Remove.
(variable_table): Remove GFORTRAN_MEM_INIT, GFORTRAN_MEM_CHECK,
GFORTRAN_SIGHUP, GFORTRAN_SIGINT, GFORTRAN_FPU_ROUND and
GFORTRAN_FPU_PRECISION.
* libgfortran.h (options_t): Remove mem_check, fpu_round,
fpu_precision, sighup, sigint, allocate_init_flag and
allocate_init_value.
From-SVN: r129014
2007-10-04 15:18:48 +00:00
Jerry DeLisle
af2778d32e
re PR libfortran/33253 (namelist: reading back a string with apostrophe)
...
2007-10-02 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libfortran/33253
* io/list_read.c (read_character): Use DELIM_APOSTROPHE and DELIM_QUOTE
and quote value in check of first character in string.
From-SVN: r128973
2007-10-03 00:33:09 +00:00
Francois-Xavier Coudert
e900e0ca88
re PR libfortran/33469 (Default formats for real input are not precise enough)
...
PR libfortran/33469
* io/write.c (write_real): Widen the default formats.
* gfortran.dg/default_format_1.f90: New test.
* gfortran.dg/default_format_2.f90: New test.
* gfortran.dg/namelist_print_1.f: Adjust expected output.
* gfortran.dg/real_const_3.f90: Adjust expected output.
From-SVN: r128967
2007-10-02 23:27:51 +00:00
Jerry DeLisle
04b6b884cd
re PR fortran/33400 (Formatted read fails if line ends without line break)
...
2007-09-28 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libfortran/33400
* io/list_read.c (next_char): Interpret encountering the end of file the
first time as an end of line. Subsequent reads give EOF error.
From-SVN: r128868
2007-09-28 16:55:07 +00:00
Jerry DeLisle
9a1e025540
re PR libfortran/33421 (Weird quotation of namelist output of character arrays)
...
2007-09-27 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libfortran/33421
* io/list_read.c (read_character): Revert r128057.
From-SVN: r128857
2007-09-28 02:57:41 +00:00
Bernhard Fischer
b808ac33a9
re PR libfortran/31546 (add --enable-intermodule)
...
PR fortran/31546
* (configure.ac): Add --enable-intermodule for onestep build.
* (Makefile.am): Handle onestep build.
* (configure, Makefile.in): Regenerate.
From-SVN: r128654
2007-09-21 19:49:34 +00:00
Francois-Xavier Coudert
b65d72ab86
re PR libfortran/26253 (fallback scalbn doesn't handle denormals correctly)
...
PR libfortran/26253
* intrinsics/c99_functions.c (scalbn): Use ldexp if appopriate.
From-SVN: r128648
2007-09-21 10:54:20 +00:00
Francois-Xavier Coudert
fe046210e2
re PR libfortran/23272 ([mingw32] inquire via filename fails)
...
PR libfortran/23272
* io/unix.c (id_from_handle, id_from_path, id_from_fd): New
functions.
(compare_file_filename, find_file, find_file0): Use the new
functions above.
* gfortran.dg/inquire_10.f90: New test.
From-SVN: r128636
2007-09-20 22:56:48 +00:00
Francois-Xavier Coudert
d36ff2b46b
acinclude.m4 (LIBGFOR_TARGET_ILP32): Remove test.
...
* acinclude.m4 (LIBGFOR_TARGET_ILP32): Remove test.
* configure.ac: Don't call LIBGFOR_TARGET_ILP32.
* configure: Regenerate.
* config.h.in: Regenerate.
From-SVN: r128635
2007-09-20 22:43:39 +00:00
Francois-Xavier Coudert
2515e5a7a0
re PR libfortran/21185 (Improve testsuite results on newlib targets)
...
PR libfortran/21185
* runtime/compile_options.c (set_options): Fix typo.
* runtime/main.c (store_exe_path): If getcwd is not available,
don't use it.
* intrinsics/getcwd.c: Same thing here.
* io/unix.c (fallback_access): New fallback function for access.
(fix_fd): Don't use dup if it's not available.
* configure.ac: Check for dup and getcwd.
* configure: Regenerate.
* config.h.in: Regenerate.
From-SVN: r128512
2007-09-15 14:52:46 +00:00