Commit Graph

345 Commits

Author SHA1 Message Date
Steve Ellcey
98cd8256af re PR libfortran/23419 (unformatted complex I/O with kind=10)
PR libfortran/23419
	* io/write.c (extract_int): Use memcpy to access buffer.
	(extract_uint): Ditto.
	(extract_real): Ditto.

From-SVN: r104000
2005-09-07 20:16:47 +00:00
Thomas Koenig
a9390eaf27 list_read.c: Adjust size of of value to 32 (to hold kind=16 complex values).
2005-09-05  Thomas Koenig  <Thomas.Koenig@online.de>

	* io/list_read.c:  Adjust size of of value to 32 (to hold
	kind=16 complex values).

From-SVN: r103918
2005-09-05 21:13:39 +00:00
Thomas Koenig
0ef6349514 re PR libfortran/23321 (Direct unformatted read beyond EOF cores)
2005-09-04  Thomas Koenig  <Thomas.Koenig@online.de>

	PR libfortran/23321
	* io/transfer.c(data_transfer_init):  Check for a too-large
	record number.  Return if sseek failed.

2005-09-04  Thomas Koenig  <Thomas.Koenig@online.de>

	PR libfortran/23321
	* gfortran.dg/direct_io_4.f90:  New test case.

From-SVN: r103835
2005-09-04 20:36:52 +00:00
Jakub Jelinek
36dd4221c5 read.c (read_x): Take int argument instead of fnode * and digging the N from F->u.n.
* io/read.c (read_x): Take int argument instead of fnode * and
	digging the N from F->u.n.
	* io/io.h (read_x): Adjust prototype.
	* io/transfer.c (formatted_transfer): Adjust callers.  Don't clobber
	f->u.n for FMT_T.

	* gfortran.dg/fmt_t_1.f90: New test.

From-SVN: r103811
2005-09-03 20:54:55 +02:00
Francois-Xavier Coudert
8845001b6c unix.c (stream_ttyname): Protect use of ttyname by HAVE_TTYNAME macro.
* io/unix.c (stream_ttyname): Protect use of ttyname by
	HAVE_TTYNAME macro.
	* configure.ac: Add check for ttyname.
	* config.h.in: Regenerate.
	* configure: Regenerate.

From-SVN: r103794
2005-09-02 20:24:49 +00:00
Andreas Jaeger
e55a7487ca libgfortran.h: Add prototype for init_compile_options.
* libgfortran.h: Add prototype for init_compile_options.

	* io/io.h: Add prototype for notify_std.

From-SVN: r103778
2005-09-02 15:29:53 +02:00
Steve Ellcey
af452a2bf9 * io/read.c (set_integer): Use memcpy to fill buffer.
From-SVN: r103687
2005-08-31 17:05:52 +00:00
Steve Ellcey
2efa12b340 re PR target/23556 (FAIL: gfortran.dg/pr18122.f90)
PR target/23556
	* io/read.c (convert_real): Use memcpy to fill buffer.

From-SVN: r103685
2005-08-31 16:58:28 +00:00
Thomas Koenig
827afb8629 [multiple changes]
2005-08-29  Thomas Koenig  <Thomas.Koenig@online.de>

	PR libfortran/23598
	* io/lock.c(library_start):  If ioparm.iostat is present, clear
	it unconditionally.

2005-02-29  Thomas Koenig  <Thomas.Koenig@online.de>

	PR libfortran/23598
	* gfortran.dg/iostat_1.f90:  New test.

From-SVN: r103613
2005-08-29 20:40:02 +00:00
Francois-Xavier Coudert
10c682a0cb acinclude.m4 (LIBGFOR_CHECK_UNLINK_OPEN_FILE): Add check to see if target can unlink open files.
* acinclude.m4 (LIBGFOR_CHECK_UNLINK_OPEN_FILE): Add check to see
	if target can unlink open files.
	* configure.ac: Use this new test.
	* config.h.in: Regenerate.
	* configure: Regenerate.
	* Makefile.in: Regenerate.
	* aclocal.ac: Regenerate.
	* io/io.h: Add prototype for unpack_filename.
	* io/close.c (st_close): Delete file after closing unit if
	HAVE_UNLINK_OPEN_FILE is not defined.
	* io/unix.c (unpack_filename): Unlink scratch file after opening
	it only if HAVE_UNLINK_OPEN_FILE is defined.

From-SVN: r103566
2005-08-27 16:01:54 +00:00
Kelley Cook
fe2ae685a1 All files: Update FSF address.
2005-08-17  Kelley Cook  <kcook@gcc.gnu.org>

	* All files: Update FSF address.

From-SVN: r103194
2005-08-17 02:49:08 +00:00
Thomas Koenig
950ad21d34 re PR libfortran/23428 (inquire(iolength= ) for complex give incorrect value)
2005-08-16  Thomas Koenig  <Thomas.Koenig@online.de>

	PR libfortran/23428
	* io/transfer.c (iolength_transfer):  Remove __attribute__ ((unused))
	from type.  Return correct length for inquire(iolength=)
	for complex variables.

2005-08-16  Thomas Koenig  <Thomas.Koenig@online.de>

	PR libfortran/23428
	* gfortran.dg/inquire-complex.f90:  New test case.

From-SVN: r103168
2005-08-16 20:26:04 +00:00
Andreas Jaeger
5074edf00b Fix date of last entry, remove extra whitespace
From-SVN: r103019
2005-08-12 08:00:46 +02:00
Francois-Xavier Coudert
8b67b708f1 re PR libfortran/20006 ($ format extension doesn't work)
PR libfortran/20006
	* gfortran.h: Add is_main_program member to symbol_attribute.
	* trans-decl: Add a gfor_fndecl_set_std tree.
	(gfc_build_builtin_function_decls): Create it.
	(gfc_generate_function_code): Add this call at the beginning of
	the main program.
	* trans.c (gfc_generate_code): Move main_program and attr.
	* trans.h: Add declaration for gfor_fndecl_set_std.

	* Makefile.am: Add file runtime/compile_options.c.
	* Makefile.in: Regenerate.
	* libgfortran.h: Create structure compile_options_t. Define the
	compile_options variable and GFC_STD_ macros.
	* runtime/compile_options.c: New file.
	* runtime/error.c (notify_std): New function.
	* runtime/main.c (init): Call init_compile_options during
	initialization.
	* io/format.c: Use the new notify_std function for the $
	descriptor extension.

	* gfortran.dg/runtime_warning_1.f90: New test.

Co-Authored-By: Steven Bosscher <stevenb@suse.de>

From-SVN: r102990
2005-08-11 13:50:13 +00:00
François-Xavier Coudert
ae8b87895f check.c (gfc_check_ttynam_sub, [...]): Add check functions for new intrinsics TTYNAM and ISATTY.
* check.c (gfc_check_ttynam_sub, gfc_check_isatty): Add check
	functions for new intrinsics TTYNAM and ISATTY.
	* intrinsic.c (add_functions, add_subroutines): Add new
	intrinsics.
	* intrinsic.h: Add prototypes for new check and resolve
	functions.
	* iresolve.c (gfc_resolve_isatty, gfc_resolve_ttynam_sub): New
	resolve functions for intrinsics TTYNAM and ISATTY.
	* gfortran.h (gfc_generic_isym_id): Add symbol for ISATTY.
	* trans-intrinsic.c: Add case for GFC_ISYM_ISATTY.
	* Makefile.am: Add file intrinsics/tty.c to Makefile process.
	* Makefile.in: Regenerate.
	* io/io.h: Prototypes for new functions stream_isatty and
	stream_ttyname.
	* io/unix (stream_isatty, stream_ttyname): New functions to call
	isatty() and ttyname() on a given unit.
	* intrinsics/tty.c: New file to implement g77 intrinsics TTYNAM
	and ISATTY.

From-SVN: r102915
2005-08-09 17:33:17 +00:00
Jerry DeLisle
3d092c45bf re PR libfortran/23154 (Currupt string and segfault in formatted read.)
2005-08-08  Jerry DeLisle  <jvdelisle@verizon.net>

        PR libfortran/23154
        * io/transfer.c (data_transfer_init): Initialize
        current_unit->bytes_left for a read.

From-SVN: r102893
2005-08-09 01:56:04 +00:00
Janne Blomqvist
6403ec5ff6 [multiple changes]
2005-08-07   Janne Blomqvist <jblomqvi@cc.hut.fi>

        PR fortran/22390
        * dump-parse-tree.c (gfc_show_code_node): Add case for FLUSH.
        * gfortran.h: Add enums for FLUSH.
        * io.c (gfc_free_filepos,match_file_element,match_filepos): Modify
        comment appropriately.  (gfc_match_flush): New function.
        * match.c (gfc_match_if): Add match for flush.
        * match.h: Add prototype.
        * parse.c (decode_statement): Add flush to 'f' case.
        (next_statement): Add case for flush. (gfc_ascii_statement): Likewise.
        * resolve.c (resolve_code): Add flush case.
        * st.c (gfc_free_statement): Add flush case.
        * trans-io.c: Add prototype for flush.
        (gfc_build_io_library_fndecls): Build fndecl for flush.
        (gfc_trans_flush): New function.
        * trans-stmt.h: Add prototype.
        * trans.c (gfc_trans_code): Add case for flush.

2005-08-07  Janne Blomqvist  <jblomqvi@cc.hut.fi>

        PR fortran/22390
        * io/backspace.c: File removed, contents moved to ...
        * io/endfile.c: Ditto.
        * io/rewind.c: Ditto.
        * io/file_pos.c: New file, ... here.
        * Makefile.am: Add file_pos.c to list, remove obsolete files.
        * Makefile.in: Regenerated.

2005-08-07  Janne Blomqvist <jblomqvi@cc.hut.fi>
            Steven G. Kargl <kargls@comcast.net>

        PR fortran/22390
        * gfortran.dg/flush_1.f90: New test.

Co-Authored-By: Steven G. Kargl <kargls@comcast.net>

From-SVN: r102835
2005-08-07 22:56:19 +00:00
Francois-Xavier Coudert
e087fdd81c io.h: Change DEFAULT_TEMPDIR to /tmp instead of /var/tmp.
* io/io.h: Change DEFAULT_TEMPDIR to /tmp instead of /var/tmp.
	* io/unix.c (tempfile): Look at the TEMP environment variable
	to find the temporary files directory. Whitespace correction.

From-SVN: r102822
2005-08-06 22:57:46 +00:00
Francois-Xavier Coudert
2c4a108eec * io/unix.c: Add O_RDWR to open() call.
From-SVN: r102811
2005-08-06 15:38:49 +00:00
Paul Thomas
9427924ef8 transfer.c (data_transfer_init): Truncate file in sequential WRITE when last_record == 0, rather than current_record.
2005-08-04 Paul Thomas  <pault@gcc.gnu.org>

	* transfer.c (data_transfer_init): Truncate file in
	sequential WRITE when last_record == 0, rather than
	current_record.  Cures problem on RH9.

From-SVN: r102746
2005-08-04 20:26:29 +00:00
Francois-Xavier Coudert
06b23b9287 libgfortran.h: When isfinite is not provided by the system...
* libgfortran.h: When isfinite is not provided by the system,
	define it as a macro, so that it can accept any floating point
	type.

From-SVN: r102707
2005-08-03 20:00:00 +00:00
François-Xavier Coudert
5e9d09007d re PR libfortran/23178 (Undefined symbol: __gfortran_flush_i8)
PR libfortran/23178
	* intrinsics/flush.c (flush_i8): Add function flush_i8. Update
	copyright years.

From-SVN: r102641
2005-08-01 21:13:39 +00:00
Francois-Xavier Coudert
d4d145acd4 re PR libfortran/21787 (flush I/O before calling abort())
PR libfortran/21787
	* intrinsics/abort.c (abort): Close units before aborting.
	Updated copyright years.

From-SVN: r102600
2005-07-31 07:30:34 +00:00
Francois-Xavier Coudert
6d56728a75 re PR libfortran/22436 (print *,tiny(1._10) yields asterisks)
PR libfortran/22436
	* io/write.c (write_real): Add default formats for real(10) and
	real(16).

From-SVN: r102590
2005-07-30 20:45:02 +00:00
Paul Thomas
b6f571b7d3 PR fortran/22570 and related issues.
2005-07-30 Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/22570 and related issues.
	* transfer.c (formatted_transfer): Make sure that there
	really is data present before X- or T- editing. Move all
	treatment of tabbing during writes to start of next data
	producing format. Suppress incorrect zeroing of bytes_left
	in slash formating. Insert int cast for assignment of a
	difference of two gfc_offsets.

	PR fortran/22570 an related issues.
	* gfortran.dg/x_slash_1.f: New test.

From-SVN: r102583
2005-07-30 05:33:39 +00:00
Steven Bosscher
75554d5149 whitespace fixes for my scripts
From-SVN: r102333
2005-07-24 10:37:48 +00:00
Jerry DeLisle
35fd722b61 write.c (write_float): Revise output of IEEE exceptional values to comply with F95 and F2003 standards.
2005-07-23  Jerry DeLisle  <jvdelisle@verizon.net>

    * io/write.c (write_float): Revise output of IEEE exceptional
    values to comply with F95 and F2003 standards.

From-SVN: r102324
2005-07-24 02:24:15 +00:00
Jerry DeLisle
d1cc97e081 re PR libfortran/22570 (Null Characters instead of blanks in text output.)
2005-07-22 Jerry DeLisle <jvdelisle@verizon.net>

	PR libfortran/22570
	* io/unit.c (init_units): Replace BLANK_ZERO with
	BLANK_UNSPECIFIED.

From-SVN: r102288
2005-07-22 17:43:31 +00:00
Paul Thomas
94e2b58a28 [multiple changes]
2005-07-22 Jerry DeLisle <jvdelisle@verizon.net>

	PR libfortran/21875  (FM111.f)
	* io/read.c (next_char): Return a ' ' character when BLANK_ZERO
	or BLANK_NULL are active.
	(read_decimal): Interpret ' ' character correctly for BZ or BN.
	(read_radix): Interpret ' ' character correctly for BZ or BN.
	(read_f): Interpret ' ' character correctly for BZ or BN.

2005-07-22 Paul Thomas  <pault@gcc.gnu.org>

	PR libfortran/22570
	* read.c (read_x): Correct the condition for doing the
	x-editing during formatted input.
	* transfer.c (formatted_transfer): Cast offset difference
	as int, clean-up arithmetic with new variable, bytes_used,
	zero counters for FMT_SLASH,
	(data_transfer_init) Zero X- and T-editing counters
	unconditionally.
	(next_record_w) Zero X- and T-editing counters.
	unconditionally.

From-SVN: r102284
2005-07-22 14:07:19 +00:00
Jerry DeLisle
b60f1196cf ChangeLog: Fix date on last commit.
2005-07-17  Jerry DeLisle  <jvdelisle@verizon.net>

    * libfortran/ChangeLog: Fix date on last commit.

From-SVN: r102116
2005-07-17 20:53:18 +00:00
Jerry DeLisle
2c01a7204f write.c (write_float): Fix field width checks for printing 'Infinity' or 'Inf'.
2005-07-14  Jerry DeLisle  <jvdelisle@verizon.net>

    * io/write.c (write_float): Fix field width checks for
    printing 'Infinity' or 'Inf'.
    (output_float): Fix typo in comment.

From-SVN: r102115
2005-07-17 20:28:14 +00:00
Paul Thomas
be0cc7e21c [multiple changes]
2005-07-12 Paul Thomas  <pault@gcc.gnu.org>

	PR libfortran/16435
	* transfer.c (formatted_transfer): Correct the problems
	with X- and T-editting that caused TLs followed by TRs
	to overwrite data, which caused NIST FM908.FOR to fail
	on many tests.
	(data_transfer_init): Zero X- and T-editting counters at
	the start of formatted IO.
	* write.c (write_x): Write specified number of skips with
	specified number of spaces at the end.

2005-07-12  Paul Thomas  <pault@gcc.gnu.org>

	PR libfortran/16435
	* gfortran.dg/tl_editting.f90: New.
	* gfortran.dg/g77/f77-edit-x-out.f: Remove XFAIL.

From-SVN: r102008
2005-07-14 06:21:59 +00:00
Paul Thomas
b125b4cf0f [multiple changes]
2005-07-13 Paul Thomas  <pault@gcc.gnu.org>

	* io/read.c (read_complex): Prevent X formatting during reads
	from going beyond EOR to fix NIST fm908.FOR failure.
	* io/list_read.c (read_complex): Allow complex data in list-
	directed reads to have eols either side of the comma to
	fix NIST FM906.FOR failure.

2005-07-13  Paul Thomas  <pault@gcc.gnu.org>

	* gfortran.dg/past_eor.f90: New.
	* gfortran.dg/complex_read.f90: New.

From-SVN: r101984
2005-07-13 18:43:14 +00:00
Thomas Koenig
0d579784b4 re PR libfortran/21593 ([4.0 only] FAIL: gfortran.dg/dev_null.f90)
2005-07-12  Thomas Koenig  <Thomas.Koenig@online.de>

	PR libfortran/21593
	gfortran.dg/dev_null.f90:  Remove outdated comment about
	PR libfortran/21593.
	libgfortran/ChangeLog:  Add PR to entry.

From-SVN: r101940
2005-07-12 20:39:11 +00:00
Thomas Koenig
5133e4b923 io/unix.c: Add member special_file to type unix_stream.
2005-07-12  Thomas Koenig  <Thomas.Koenig@online.de>

	io/unix.c:  Add member special_file to type unix_stream.
	(fd_truncate):  Don't call ftruncate or chsize if
	s refers to a special file.
	(fd_to_stream):  initialize s->special_file.

2005-07-12  Thomas Koenig  <Thomas.Koenig@online.de>

	gfortran.dg/dev_null.f90:  Remove targets.

From-SVN: r101937
2005-07-12 19:52:19 +00:00
David Edelsohn
4e402b2ce3 re PR libfortran/22412 ([4.0 only] Fortran B edit descriptor error)
PR libgfortran/22412
        * io/write.c (otoa): Bias p by SCRATCH_SIZE, not
        sizeof (SCRATCH_SIZE).
        (btoa): Same.

From-SVN: r101908
2005-07-11 23:27:40 -04:00
Jerry DeLisle
9fa276de85 PR libfortran/21875 (FM111.f)
2005-07-09  Jerry DeLisle  <jvdelisle@verizon.net>

    PR libfortran/21875  (FM111.f)
    * io/read.c (next_char): Return a ' ' character when BLANK_ZERO or
    BLANK_NULL are active.
    (read_decimal): Interpret ' ' character correctly for BZ or BN.
    (read_radix): Interpret ' ' character correctly for BZ or BN.
    (read_f): Interpret ' ' character correctly for BZ or BN.
    * gfortran.dg/test (fmt_read_bz_bn.f90): New test case.

From-SVN: r101837
2005-07-09 23:40:31 +00:00
Thomas Koenig
999a06a0da [multiple changes]
2005-07-07  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
	    Thomas Koenig  <Thomas.Koenig@online.de>

	PR libfortran/22217
	* io/write.c (extract_unit):  New function; extract
	ints as unsigned signed int of the correct size.
	* io/write.c (write_int):  Use it.
	* runtime/error.c:  Adjust copyright years.
	Adjust size of buffer to maximum that can occur.

2005-07-07  Thomas Koenig  <Thomas.Koenig@online.de>

	PR libfortran/22217
	* gfortran.dg/negative-z-descriptor.f90:  New test.

From-SVN: r101829
2005-07-09 09:33:31 +00:00
Tobias Schlüter
efd4dc1a15 libgfortran.h (GFC_ARRAY_DESCRIPTOR): Replace 'type *base' by 'size_t offset'.
* libgfortran.h (GFC_ARRAY_DESCRIPTOR): Replace 'type *base' by
	'size_t offset'.
	* intrinsics/cshift0.c, intrinsics/eoshift0.c,
	intrinsics/eoshift2.c,intrinsics/pack_generic.c,
	intrinsics/reshape_generic.c, intrinsics/spread_generic.c,
	intrinsics/transpose_generic.c, intrinsics/unpack_generic,
	m4/cshift1.m4, m4/eoshift1.m4, m4/eoshift3.m4, m4/iforeach.m4,
	m4/ifunction.m4, m4/matmul.m4, m4/matmull.m4, m4/reshape.m4,
	m4,transpose.m4: Set renamed field 'offset' to zero instead of
	'base'.
	* generated/all_l4.c, generated/all_l8.c,
	generated/any_l4.c, generated/any_l8.c, generated/count_4_l4.c,
	generated/count_4_l8.c, generated/count_8_l4.c,
	generated/count_8_l8.c, generated/chift1_4.c,
	generated/cshift1_8.c, generated/eoshift1_4.c,
	generated/eoshift1_8.c, generated/eoshift3_4.c,
	generated/eoshift3_8.c, generated/matmul_c4.c,
	generated/matmul_c8.c, generated/matmul_i4.c, matmul_i8.c,
	generated/matmul_l4.c, generated/matmul_l8.c,
	generated/matmul_r4.c, generated/matmul_r8.c,
	generated/maxloc0_4_i4.c, generated/maxloc0_4_i8.c,
	generated/maxloc0_4_r4.c, generated/maxloc0_4_r8.c,
	generated/maxloc0_8_i4.c, generated/maxloc0_8_i8.c,
	generated/maxloc0_8_r4.c, generated/maxloc0_8_r8.c,
	generated/maxloc1_4_i4.c, generated/maxloc1_4_i8.c,
	generated/maxloc1_4_r4.c, generated/maxloc1_4_r8.c,
	generated/maxloc1_8_i4.c, generated/maxloc1_8_i8.c,
	generated/maxloc1_8_r4.c, generated/maxloc1_8_r8.c,
	generated/maxval_i4.c, generated/maxval_i8.c,
	generated/maxval_r4.c, generated/maxval_r8.c,
	generated/minloc0_4_i4.c, generated/minloc0_4_i8.c,
	generated/minloc0_4_r4.c, generated/minloc0_4_r8.c,
	generated/minloc0_8_i4.c, generated/minloc0_8_i8.c,
	generated/minloc0_8_r4.c, generated/minloc0_8_r8.c,
	generated/minloc1_4_i4.c, generated/minloc1_4_i8.c,
	generated/minloc1_4_r4.c, generated/minloc1_4_r8.c,
	generated/minloc1_8_i4.c, generated/minloc1_8_i8.c,
	generated/minloc1_8_r4.c, generated/minloc1_8_r8.c,
	generated/minval_i4.c, generated/minval_i8.c,
	generated/minval_r4.c, generated/minval_r8.c,
	generated/product_c4.c, generated/product_c8.c,
	generated/product_i4.c, generated/product_i8.c,
	generated/product_r4.c, generated/product_r8.c,
	generated/reshape_c4.c, generated/reshape_c8.c,
	generated/reshape_i4.c, generated/reshape_i8.c,
	generated/sum_c4.c, generated/sum_c8.c, generated/sum_i4.c,
	generated/sum_i8.c, generated/sum_r4.c, generated/sum_r8.c,
	generated/transpose_c4.c, generated/transpose_c8.c,
	generated/transpose_i4.c, generated/transpose_i8.c: Regenerate:

From-SVN: r101739
2005-07-08 00:08:06 +02:00
Thomas Koenig
47b3a403a5 re PR fortran/21594 ([4.0 only] FAIL: gfortran.dg/eoshift.f90 -O0 execution test)
2005-07-07  Thomas Koenig  <Thomas.Koenig@online.de>

	PR libfortran/21594
	* intrinsics/eoshift0.c:  If abs(shift) > len, fill the
	the whole array with the boundary value, but don't overrun it.
	* intrinsics/eoshift2.c:  Likewise.
	* m4/eoshift1.m4:  Likewise.
	* m4/eoshift3.m4:  Likewise.
	* generated/eoshift1_4.c:  Regenerated.
	* generated/eoshift1_8.c:  Regenerated.
	* generated/eoshift3_4.c:  Regenerated.
	* generated/eoshift3_8.c:  Regenerated.

2005-07-07  Thomas Koenig  <Thomas.Koenig@online.de>

	PR libfortran/21594
	* gfortran.fortran-torture/execute/intrinsic_eoshift.f90:
	Add test cases where the shift length is greater than the
	array length.

From-SVN: r101738
2005-07-07 22:01:41 +00:00
Feng Wang
d3642f893a For the 60th anniversary of Chinese people��s Anti-Japan war victory.
2005-07-07  Feng Wang  <fengwang@nudt.edu.cn>

	PR fortran/16531
	PR fortran/15966
	PR fortran/18781
	* arith.c (gfc_hollerith2int, gfc_hollerith2real,
	gfc_hollerith2complex, gfc_hollerith2character, gfc_hollerith2logical):
	New functions.
	(eval_intrinsic): Don't evaluate if Hollerith constant arguments exist.
	* arith.h (gfc_hollerith2int, gfc_hollerith2real,
	gfc_hollerith2complex, gfc_hollerith2character, gfc_hollerith2logical):
	Add prototypes.
	* expr.c (free_expr0): Free memery allocated for Hollerith constant.
	(gfc_copy_expr): Allocate and copy string if Expr is from Hollerith.
	(gfc_check_assign): Enable conversion from Hollerith to other.
	* gfortran.h (bt): Add BT_HOLLERITH.
	(gfc_expr): Add from_H flag.
	* intrinsic.c (gfc_type_letter): Return 'h' for BT_HOLLERITH.
	(add_conversions): Add conversions from Hollerith constant to other.
	(do_simplify): Don't simplify if  Hollerith constant arguments exist.
	* io.c (resolve_tag): Enable array in FORMAT tag under GFC_STD_GNU.
	* misc.c (gfc_basetype_name): Return "HOLLERITH" for BT_HOLLERITH.
	(gfc_type_name): Print "HOLLERITH" for BT_HOLLERITH.
	* primary.c (match_hollerith_constant): New function.
	(gfc_match_literal_constant): Add match Hollerith before Integer.
	* simplify.c (gfc_convert_constant): Add conversion from Hollerith
	to other.
	* trans-const.c (gfc_conv_constant_to_tree): Use VIEW_CONVERT_EXPR to
	convert Hollerith constant to tree.
	* trans-io.c (gfc_convert_array_to_string): Get array's address and
	length to set string expr.
	(set_string): Deal with array assigned Hollerith constant and character
	array.
	* gfortran.texi: Document Hollerith constants as extention support.

2005-07-07  Feng Wang  <fengwang@nudt.edu.cn>

	PR fortran/16531
	PR fortran/15966
	PR fortran/18781
	* gfortran.dg/hollerith.f90: New.
	* gfortran.dg/hollerith2.f90: New.
	* gfortran.dg/hollerith3.f90: New.
	* gfortran.dg/hollerith4.f90: New.
	* gfortran.dg/hollerith_f95.f90: New.
	* gfortran.dg/hollerith_legacy.f90: New.
	* gfortran.dg/g77/cpp4.F: New. Port from g77.

2005-07-07  Feng Wang  <fengwang@nudt.edu.cn>

	PR fortran/16531
	* io/transfer.c (formatted_transfer): Enable FMT_A on other types to
	support Hollerith constants.

From-SVN: r101688
2005-07-07 07:54:58 +00:00
Andreas Jaeger
a3b6aba29c unpack_generic.c: Remove const from parameter.
* intrinsics/unpack_generic.c: Remove const from parameter.

	* io/transfer.c (formatted_transfer): Remove unused variable.

From-SVN: r101499
2005-07-01 07:44:50 +02:00
Thomas Koenig
7f8f6d5f05 re PR libfortran/22142 ([4.0 only] eoshift: boundary not filled in correctly)
2005-06-28  Thomas Koenig  <Thomas.Koenig@online.de>

        PR libfortran/22142
        * m4/eoshift1.m4:  Correct bstride (it needs to be multiplied
        by size since it's a char pointer).
        * m4/eoshift1_4.c:  Regenerated.
        * m4/eoshift1_8.c:  Regenerated.

2005-06-28  Thomas Koenig  <Thomas.Koenig@online.de>

        PR libfortran/22142
        * gfortran.fortran-torture/execute/intrinsic_eoshift.f90:
        Add testcase also testing eoshift1 for PR 22142.

From-SVN: r101398
2005-06-28 23:07:20 +00:00
Thomas Koenig
0f363a3b8c re PR libfortran/22142 ([4.0 only] eoshift: boundary not filled in correctly)
2005-06-28  Thomas Koenig  <Thomas.Koenig@online.de>

        PR libfortran/22142
        * m4/eoshift3.m4:  Correct bstride (it needs to be multiplied
        by size since it's a char pointer).
        * m4/eoshift3_4.c:  Regenerated.
        * m4/eoshift3_8.c:  Regenerated.

2005-06-28  Thomas Koenig  <Thomas.Koenig@online.de>

        PR libfortran/22142
        * gfortran.fortran-torture/execute/intrinsic_eoshift.f90:
        Add testcase for PR 22142.

From-SVN: r101392
2005-06-28 21:57:45 +00:00
Francois-Xavier Coudert
e082bf48ca re PR libfortran/22170 ([4.0 only] Handle format slash error)
PR libfortran/22170
	* io/transfer.c (formatted_transfer): Do not iterate on the
	repeat count of a FMT_SLASH, since this is already done in
	next_format().

From-SVN: r101377
2005-06-28 10:43:23 +00:00
Jerry DeLisle
dc9207b34e 2005-06-24 Jerry DeLisle <jvdelisle@verizon.net>
libgfortran/ChangeLog: Clean up format for entry of 2005-06-24.

From-SVN: r101346
2005-06-27 01:27:18 +00:00
Thomas Koenig
0e6d033bc8 [multiple changes]
2005-06-25  Thomas Koenig  <Thomas.Koenig@online.de>

        PR libfortran/22144
        * m4/cshift1.m4: Remove const from argument ret.
        Populate return array descriptor if ret->data is NULL.
        * m4/eoshift1.m4: Likewise.
        * m4/eoshift3.m4: Likewise.
        * generated/cshift1_4.c:  Regenerated.
        * generated/cshift1_8.c:  Regenerated.
        * generated/eoshift1_4.c:  Regenerated.
        * generated/eoshift1_8.c:  Regenerated.
        * generated/eoshift3_4.c:  Regenerated.
        * generated/eoshift3_8.c:  Regenerated.

2005-06-25  Thomas Koenig <Thomas.Koenig@online.de>

        PR libfortran/21144
        * gfortran.dg/shift-alloc.f90:  New testcase.

From-SVN: r101318
2005-06-25 09:56:37 +00:00
Jerry DeLisle
f02d008e26 re PR fortran/21915 ([4.0 only] Would like atanh etc. as intrinsics)
2005-06-24  Jerry DeLisle <jvdelisle@verizon.net>

    PR libfortran/21915
    * Makefile.am: include intrinsics/hyper.c
    * c99_protos.h: add prototypes for single precision versions of
    acosh, asinh, and atanh for platforms that do not have these
    * config.h.in: add #undef for wrappers
    * configure.ac: add checks for single precision versions
    * aclocal.m4: generated
    * Makefile.in: generated
    * configure: generated

From-SVN: r101302
2005-06-24 23:07:13 +00:00
Francois-Xavier Coudert
32aa3bffc3 c99_functions.c (log10l): New log10l function for systems where this is not available.
* intrinsics/c99_functions.c (log10l): New log10l function for
	systems where this is not available.
	* c99_protos.h: Prototype for log10l function.
	* libgfortran.h: Use generated kinds.h to define GFC_INTEGER_*,
	GFC_UINTEGER_*, GFC_LOGICAL_*, GFC_REAL_*, GFC_COMPLEX_*. Update
	prototypes for gfc_itoa and xtoa.
	* io/io.h: Update prototypes for set_integer and max_value.
	* io/list_read.c (convert_integer): Use new
	GFC_(INTEGER|REAL)_LARGEST type.
	* io/read.c (set_integer): Likewise.
	(max_value): Likewise.
	(convert_real): Likewise.
	(real_l): Likewise.
	(next_char): Likewise.
	(read_decimal): Likewise.
	(read_radix): Likewise.
	(read_f): Likewise.
	* io/write.c (extract_int): Use new GFC_INTEGER_LARGEST type.
	(extract_real): Use new GFC_REAL_LARGEST type.
	(calculate_exp): Likewise.
	(calculate_G_format): Likewise.
	(output_float): Likewise. Use log10l for long double values.
	Add comment for sprintf format. Use GFC_REAL_LARGEST_FORMAT.
	(write_l): Use new GFC_INTEGER_LARGEST type.
	(write_float): Use new GFC_REAL_LARGEST type.
	(write_int): Remove useless special case for (len < 8).
	(write_decimal): Use GFC_INTEGER_LARGEST.
	(otoa): Use GFC_UINTEGER_LARGEST as argument.
	(btoa): Use GFC_UINTEGER_LARGEST as argument.
	* runtime/error.c (gfc_itoa): Use GFC_INTEGER_LARGEST as
	argument.
	(xtoa): Use GFC_UINTEGER_LARGEST as argument.
	* Makefile.am: Use mk-kinds-h.sh to generate header kinds.h
	with all Fortran kinds available.
	* configure.ac: Check for strtold and log10l.
	* Makefile.in: Regenerate.
	* aclocal.m4: Regenerate.
	* configure: Regenerate.
	* config.h.in: Regenerate.
	* mk-kinds-h.sh: Configuration script for available integer
	and real kinds.
	* lib/target-supports.exp: Add
	check_effective_target_fortran_large_real and
	check_effective_target_fortran_large_int to check for
	corresponding effective targets.
	* gfortran.dg/large_integer_kind_1.f90: New test.
	* gfortran.dg/large_real_kind_1.f90: New test.

From-SVN: r101274
2005-06-23 18:50:25 +00:00
Janne Blomqvist
b68d2bed0d unix.c (stream_at_bof): Don't assume that all non-mmapped files are non-seekable.
* unix.c (stream_at_bof): Don't assume that all non-mmapped files
	are non-seekable.
	(stream_at_eof): Likewise.

From-SVN: r101164
2005-06-18 20:09:28 +00:00
Francois-Xavier Coudert
853a4203b7 re PR libfortran/19155 ([4.0 only] blanks not treated as zeros in 'E' format read (NIST FM110.FOR))
PR libfortran/19155
	* io/read.c (convert_real): strtod can set errno to EINVAL on an
	empty string, but we shouldn't have an error in that case.

From-SVN: r101128
2005-06-17 16:20:29 +00:00
Francois-Xavier Coudert
04d9e6bdd3 re PR libfortran/19216 (list directed read with leading slash (NIST FM923))
PR libfortran/19216
	* io/list_read.c (eat_separator): No need to call next_record,
	even in non-namelist_mode.
	* gfortran.dg/pr19216.f: Add correct space between brackets and
	dg directive.

From-SVN: r101105
2005-06-16 22:50:51 +00:00
Francois-Xavier Coudert
b9297522fd * io/transfer.c (formatted_transfer): Fix typo in error message.
From-SVN: r101102
2005-06-16 22:31:32 +00:00
Francois-Xavier Coudert
2f06ccc69e re PR libfortran/16436 (gfortran TL edit descriptor failure - test f77-edit-t-in.f)
PR libfortran/16436
	* io/transfer.c (read_sf): Correct updating of bytes_left field.
	(formatted_transfer): Correct updating of bytes_left field and
	reformatting code (comments and whitespace).
	* io/unix.c (move_pos_offset): "active" field should not be
	changed here. Whitespace corrections.
	* gfortran.dg/g77/f77-edit-t-in.f: Not XFAIL-ed any more.

From-SVN: r101100
2005-06-16 22:13:26 +00:00
François-Xavier Coudert
ae973d6ae8 re PR libfortran/21950 (All gfortran execution tests fail on Tru64 UNIX V4.0F: scalbn unresolved)
PR libfortran/21950
	* intrinsics/c99_functions.c (scalbn): Provide fallback
	implementation for scalbn.
	* c99_protos.h: Prototype for scalbn.
	* configure.ac: Add check for scalbn.
	* configure: Regenerate.
	* config.h.in: Regenerate.

From-SVN: r100974
2005-06-15 08:40:35 +00:00
Thomas Koenig
5721f015bb eoshift0.c: Removed prototype for eoshift0.
2005-06-14  Thomas Koenig  <Thomas.Koenig@online.de>

        * intrinsics/eoshift0.c:  Removed prototype for eoshift0.
        * intrinsics/eoshift2.c:  Removed prototype for eoshift2.

From-SVN: r100954
2005-06-14 20:45:21 +00:00
Tom Tromey
cd11181329 re PR libgcj/19877 (sometimes reconfiguring leads to incorrect config.h)
config/:
	PR libgcj/19877:
	* no-executables.m4: Call real AC_FUNC_MMAP when cache variable
	is set but not 'no'.
libstdc++-v3/:
	PR libgcj/19877:
	* configure, aclocal.m4: Rebuilt.
	* Makefile.in, include/Makefile.in, libmath/Makefile.in,
	libsupc++/Makefile.in, po/Makefile.in, src/Makefile.in,
	testsuite/Makefile.in: Likewise.
libjava/:
	PR libgcj/19877:
	* configure, aclocal.m4, Makefile.in: Rebuilt.
libgfortran/:
	PR libgcj/19877:
	* configure, aclocal.m4, Makefile.in: Rebuilt.
zlib/:
	PR libgcj/19877:
	* configure, aclocal.m4, Makefile.in: Rebuilt.

From-SVN: r100953
2005-06-14 20:05:59 +00:00
Thomas Koenig
2b5554f3c0 re PR fortran/21594 ([4.0 only] FAIL: gfortran.dg/eoshift.f90 -O0 execution test)
2005-06-12  Thomas Koenig  <Thomas.Koenig@online.de>

        PR libfortran/21594
        * intrinsics/eoshift0.c:  Add prototype for eoshift0.
        * intrinsics/eoshift2.c:  Add prototype for eoshift2.

From-SVN: r100907
2005-06-13 22:37:39 +00:00
Steven G. Kargl
bf0606afc1 PR libfortran/PR21797
2005-06-12  Steven G. Kargl <kargls@comcast.net>
	    Thomas Koenig  <Thomas.Koenig@online.de>

	PR libfortran/PR21797
	* m4/cexp.m4 (csqrt`'q):  Add type qualifyer to
	sqrt and fabs.
	* generated/exp_c4.c:  Regenerated.

Co-Authored-By: Thomas Koenig <Thomas.Koenig@online.de>

From-SVN: r100864
2005-06-12 21:00:57 +00:00
Thomas Koenig
181786a7dd re PR libfortran/21333 ([4.0 only] in_pack / in_unpack alignment issues)
2005-06-12  Thomas Koenig  <Thomas.Koenig@online.de>

	PR libfortran/21333
	* Changelog: Really update.

From-SVN: r100862
2005-06-12 20:27:59 +00:00
Francois-Xavier Coudert
57504df9ee re PR libfortran/19155 ([4.0 only] blanks not treated as zeros in 'E' format read (NIST FM110.FOR))
PR libfortran/19155
	* io/read.c (read_f): Take care of spaces after initial sign.
	* gfortran.dg/pr19155.f: Add test.

From-SVN: r100861
2005-06-12 19:59:17 +00:00
Thomas Koenig
92f5e87c2b re PR fortran/21480 ([4.0 only] trivial reshape operation gives erroneous results)
2005-06-09  Thomas Koenig  <Thomas.Koenig@online.de>

	PR libfortran/21480
	* m4/reshape.m4:  Use sizeof (rtype_name) for sizes to be passed
	to reshape_packed.
	* generated/reshape_c4.c:  Regenerated.
	* generated/reshape_c8.c:  Regenerated.
	* generated/reshape_i4.c:  Regenerated.
	* generated/reshape_i8.c:  Regenerated.

2005-06-09  Thomas Koenig  <Thomas.Koenig@online.de>

	PR libfortran/21480
	* gfortran.dg/reshape-complex.f90:  Add a test for a packed
	complex array.

From-SVN: r100805
2005-06-09 19:43:27 +00:00
Thomas Koenig
ae740ccecd re PR libfortran/21926 ([4.0 only] matmul does not deal with non-packed result)
2005-06-07  Thomas Koenig  <Thomas.Koenig@online.de>

	PR libfortran/21926
	* m4/matmul.m4:  Correct zeroing of result for non-packed
	arrays with lowest stride is one.
	* generated/matmul_c4.c:  Regenerated.
	* generated/matmul_c8.c:  Regenerated.
	* generated/matmul_i4.c:  Regenerated.
	* generated/matmul_i8.c:  Regenerated.
	* generated/matmul_r4.c:  Regenerated.
	* generated/matmul_r8.c:  Regenerated.

2005-06-07  Thomas Koenig  <Thomas.Koenig@online.de>

	PR libfortran/21926
	* gfortran.fortran-torture/execute/intrinsic_matmul.f90:
	Test case where the return array has lowest stride one,
	but isn't packed.

From-SVN: r100721
2005-06-07 20:46:17 +00:00
François-Xavier Coudert
771e816bd8 * libgfortran/ChangeLog: fix date for previous commit.
From-SVN: r100354
2005-05-30 07:41:23 +00:00
Francois-Xavier Coudert
12e59662e3 re PR libfortran/20179 (cannot mix C and Fortran I/O)
PR libfortran/20179
	* io/unix.c (fd_close): Add test so that we don't close()
	stdout and stderr.

From-SVN: r100353
2005-05-30 07:38:36 +00:00
Francois-Xavier Coudert
c9330b0331 re PR libfortran/20006 ($ format extension doesn't work)
PR libfortran/20006
	* io.c (format_item_1): Add check and extension warning for
	$ edit descriptor.
	* io/format.c (parse_format_list): Set repeat count of $ format
	node to 1.
	* io/transfer.c (read_sf): Add g.seen_dollar to the test
	concerning advancing I/O.
	(data_transfer_init): Likewise.
	(finalize_transfer): Likewise.

From-SVN: r100314
2005-05-29 12:22:49 +00:00
Thomas Koenig
f827a7d0f3 in_pack_generic.c: Adjust copyright years.
2005-05-27  Thomas Koenig  <Thomas.Koenig@online.de>

        * runtime/in_pack_generic.c:  Adjust copyright years.
        (in_pack_generic):  Change dimension of auxiliary arrays from
        GFC_MAX_DIMENSION - 1 to GFC_MAX_DIMENSION.
        * runtime/in_unpack_generic.c:  Adjust copyright years.
        (in_unpack_generic):  Change dimension of auxiliary arrays from
        GFC_MAX_DIMENSION - 1 to GFC_MAX_DIMENSION.

From-SVN: r100271
2005-05-27 19:00:50 +00:00
Thomas Koenig
ba4a3d54ba re PR fortran/17283 (UNPACK issues)
2005-05-26  Thomas Koenig  <Thomas.Koenig@online.de>

        PR libfortran/17283
        * gfortran.fortran-torture/execute/intrinsic_unpack.f90:
        Test callee-allocated memory with write statements.

2005-05-26  Thomas Koenig  <Thomas.Koenig@online.de>

        PR libfortran/17283
        * intrinsics/unpack_generic.c:  Fix name of routine
        on top.  Update copyright years.
        (unpack1):  Remove const from return array descriptor.
        rs:  New variable, for calculating return sizes.
        Populate return array descriptor if ret->data is NULL.

From-SVN: r100189
2005-05-26 06:26:17 +00:00
Peter Wainwright
de3e06c62c * libgfortran/ChangeLog: Corrected author name.
From-SVN: r100114
2005-05-24 20:46:54 +00:00
Peter Wainwright
c220bdaec9 re PR libfortran/21376 (libfortran "E" output format causes FPE)
PR libfortran/21376
	* io/write.c (output_float): Rework logic to avoid call to log10
	with argument equal to zero.

From-SVN: r100068
2005-05-22 21:17:42 +00:00
Eric Botcazou
69a2d125d6 configure.ac: Check for trunc and truncf in libm.
* configure.ac: Check for trunc and truncf in libm.
	* configure: Regenerate.
	* config.h.in: Likewise.
	* intrinsics/c99_functions.c (trunc, truncf): New functions.
	* c99_protos.h (trunc, truncf): Declare them.

From-SVN: r100040
2005-05-21 06:44:50 +00:00
Thomas Koenig
5ac7af02ea re PR libfortran/21127 (reshape of complex broken)
2005-05-18  Thomas Koenig  <Thomas.Koenig@online.de>

        PR libfortran/21127
        * Makefile.am:  Really commit.
        * Makefile.in:  Really commit.

From-SVN: r99926
2005-05-18 20:35:25 +00:00
Thomas Koenig
8f4dc7afb1 re PR libfortran/21127 (reshape of complex broken)
2005-05-18  Thomas Koenig  <Thomas.Koenig@online.de>

        PR libfortran/21127
        * Makefile.am:  Add generated/reshape_c4.c and
        generated/reshape_c8.c.
        * Makefile.in:  Regenerated.
        * m4/iparm.m4:  Define rtype_ccode to be c4 or c8 for
        complex types, 4 or 8 otherwise.
        * m4/reshape.m4:  Use rtype_ccode instead of rtype_kind
        in function name.
        * generated/reshape_c4.c: New file.
        * generated/reshape_c8.c: New file.

2005-05-18  Thomas Koenig  <Thomas.Koenig@online.de>

        PR libfortran/21127
        * fortran/iresolve.c (gfc_resolve_reshape): Add
        gfc_type_letter (BT_COMPLEX) for complex to
        to resolved function name.

2005-05-18  Thomas Koenig  <Thomas.Koenig@online.de>

        PR libfortran/21127
        * gfortran.dg/reshape-complex.f90:  New test.

From-SVN: r99925
2005-05-18 20:24:32 +00:00
Andreas Jaeger
8f2a14065c configure.ac: Add additional warning flags.
* configure.ac: Add additional warning flags.
	* configure: Regenerate.

	* io/write.c (calculate_G_format): Remove unused parameter.
	(output_float): Remove unused parameter.
	(write_float): Change callers.
	(nml_write_obj): Avoid signed warning.
	Make variable const to support -Wwrite-strings.

	* io/unix.c (fd_alloc, mmap_open, mmap_sfree, mem_sfree,
	mem_truncate): Mark argument as unused.

	* io/unit.c (get_unit): Mark argument as unused.
	(init_units): Avoid warning about signed comparision.

	* io/transfer.c (next_record_r): Remove unused parameter.
	(next_record_w): Remove unused parameter.
	(next_record): Change callers.
	(iolength_transfer): Mark arguments as unused.

	* io/open.c: Add initializer.

	* io/list_read.c (read_character): Mark argument as unused.
	(nml_match_name): Add const to make compile with -Wwrite-strings.

	* io/format.c: Add initializer.

From-SVN: r99839
2005-05-17 18:54:58 +02:00
Andreas Jaeger
7672ae2082 eoshift1.m4: Initialize variables to avoid warnings.
* m4/eoshift1.m4: Initialize variables to avoid warnings.
	* m4/eoshift3.m4: Initialize variables to avoid warnings.
	* generated/eoshift1_4.c, generated/eoshift1_8.c,
	generated/eoshift3_4.c, generated/eoshift3_8.c: Regenerated.

	* intrinsics/spread_generic.c (spread): Initialize variables to
	avoid warnings.

	* intrinsics/eoshift0.c (eoshift0): Initialize variables to avoid
	warnings.
	* intrinsics/eoshift2.c (eoshift2): Initialize variables to avoid
	warnings.

	* io/list_read.c (nml_get_obj_data): Initialize variables to avoid
	warnings.

From-SVN: r99726
2005-05-15 17:50:09 +02:00
Andreas Jaeger
7d3cdba142 * aclocal.m4: Regenerated.
From-SVN: r99724
2005-05-15 17:38:21 +02:00
Andreas Jaeger
e606fb399e pack_generic.c (pack): Remove unneeded calculation.
* intrinsics/pack_generic.c (pack): Remove unneeded calculation.

	* m4/matmull.m4 (matmul_): Remove unneeded calculations, fix
	pointer cast to avoid warning.
	* generated/matmul_l4.c: Regenerated.
	* generated/matmul_l8.c: Regenerated.

	* Makefile.am: Remove AM_CFLAGS here.
	* configure.ac: Define AM_CFLAGS and AM_FCFLAGS so that warnings
	are set.  Set additionally -Wstrict-prototypes for CFLAGS.
	* Makefile.in: Regenerated
	* configure: Regenerated.

From-SVN: r99723
2005-05-15 17:37:18 +02:00
Andreas Jaeger
6b0215364d system_clock.c (system_clock_4, [...]): Add missing returns, reformat a bit.
* intrinsics/system_clock.c (system_clock_4, system_clock_8): Add
	missing returns, reformat a bit.

	* io/write.c (nml_write_obj): Use %d again - and cast to int,
	st_sprintf does not handle %ld.

From-SVN: r99722
2005-05-15 17:33:12 +02:00
Andreas Jaeger
944e86ee09 unit.c (is_internal_unit): Add void as parameter list.
* io/unit.c (is_internal_unit): Add void as parameter list.

	* io/transfer.c: Move prototype declarations before the functions.

From-SVN: r99721
2005-05-15 15:25:19 +02:00
Andreas Jaeger
4b6903ec2f normalize.c (almostone_r4, [...]): Fix parameter list.
* runtime/normalize.c (almostone_r4, almostone_r8): Fix parameter
	list.

	* intrinsics/random.c (KISS_DEFAULT_SEED): Remove extra semicolon.

	* io/transfer.c: Do not use empty initializers for global objects.
	Add missing initializers.

	* io/lock.c: Do not use empty initializers for global objects.

	* io/close.c: Add missing initializers.

	* runtime/environ.c: Add missing initializers. Do not use empty
	initializers for global object.
	(init_string): Mark argument as unused.

	* runtime/main.c (cleanup): Fix parameter list.

	* io/io.h: Fix parameter lists.

	* m4/transpose.m4, m4/matmul.m4: Fix pointer cast to avoid
	warning.

	* generated/transpose_c4.c, generated/transpose_c8.c,
	generated/transpose_i4.c, generated/transpose_i8.c,
	generated/matmul_c4.c, generated/matmul_c8.c,
	generated/matmul_i4.c, generated/matmul_i8.c,
	generated/matmul_r4.c, generated/matmul_r8.c: Regenerated.

	* io/write.c (nml_write_obj): Fix 64-bit problem.

	* io/list_read.c (nml_get_obj_data): Add missing braces around
	initializer to avoid warnings.

	* intrinsics/etime.c (etime_sub): Remove unused variable.

From-SVN: r99719
2005-05-15 14:44:42 +02:00
Andreas Jaeger
deeab82073 chdir.c, [...]: Include <string.h> for prototypes.
* intrinsics/chdir.c, intrinsics/getlog.c, intrinsics/link.c,
	intrinsics/symlnk.c, intrinsics/perror.c: Include <string.h> for
	prototypes.

	* runtime/string.c (compare0): Remove unused variable.
	* io/unit.c (init_units): Remove unused variables.
	* intrinsics/getcwd.c (getcwd_i4_sub): Remove unused variable.
	* intrinsics/unlink.c (unlink_i4_sub): Remove unused variable.
	* intrinsics/stat.c (stat_i4_sub, fstat_i8_sub, fstat_i4_sub,
	stat_i8_sub): Remove unused variable.

From-SVN: r99716
2005-05-15 10:25:52 +02:00
Thomas Koenig
c42a19d5e3 re PR libfortran/21324 (#undef GFC_CLEAR_MEMORY causes testsuite failures)
2005-05-12  Thomas Koenig  <Thomas.Koenig@online.de>

        PR libfortran/21324
        * runtime/memory.c:  Don't define GFC_CLEAR_MEMORY (it's a
        performance hog).
        * io/open.c (new_unit): Zero freshly allocated memory for
        unit structure.
        * io/unit.c (init_units):  Zero freshly allocated memory for
        STDIN, STDOUT and STDERR.
        * io/unix.c (open_internal):  Zero freshly allocated memory
        for unix_stream.
        (fd_to_stream):  Likewise.

From-SVN: r99619
2005-05-12 17:50:33 +00:00
Bud Davis
802fc8260d re PR libfortran/19478 (reading back from /dev/null)
PR fortran/19478
	* io/unix.c (fd_truncate): update positions when ftruncate
	fails (like writing to /dev/null).
	* gfortran.dg/dev_null.f90: New test.

From-SVN: r99570
2005-05-11 10:34:05 +00:00
Francois-Xavier Coudert
da32fddcb6 re PR libfortran/21471 ('POSITION = "APPEND"' doesn't seem to work)
PR libfortran/21471
	* open.c (new_unit): Take care of the case where POSITION_APPEND
	is specified (sseek to the end, and set u>-endfile).
	* gfortran.dg/append-1.f90: New test.

From-SVN: r99560
2005-05-11 05:56:20 +00:00
Tobias Schlüter
973ff4c052 re PR fortran/20178 (COMPLEX function returns incompatible with g77)
gcc/fortran/
	PR fortran/20178
	* gfortran.h (gfc_option): Add flag_f2c.
	* invoke.texi: Document '-ff2c' command line option.  Adapt
	documentation for '-fno-second-underscore' and '-fno-underscoring'.
	* lang.opt (ff2c): New entry.
	* options.c (gfc-init_options): Set default calling convention
	to -fno-f2c.  Mark -fsecond-underscore unset.
	(gfc_post_options): Set -fsecond-underscore if not explicitly set
	by user.
	(handle_options): Set gfc_option.flag_f2c according to requested
	calling	convention.
	* trans-decl.c (gfc_get_extern_function_decl): Use special f2c
	intrinsics where necessary.
	(gfc_trans_deferred_vars): Change todo error to	assertion.
	* trans-expr.c (gfc_conv_variable): Dereference access
	to hidden result argument.
	(gfc_conv_function_call): Add hidden result argument to argument
	list if f2c calling conventions requested.  Slightly restructure
	tests.  Convert result of default REAL function to requested type
	if f2c calling conventions are used.  Dereference COMPLEX result
	if f2c cc are used.
	* trans-types.c (gfc_sym_type):  Return double for default REAL
	function if f2c cc are used.
	(gfc_return_by_reference): Slightly restructure logic.  Return
	COMPLEX by reference depending on calling conventions.
	(gfc_get_function_type): Correctly make hidden result argument a
	pass-by-reference argument for COMPLEX.  Remove old code which does
	this for derived types.
libgfortran/
	PR fortran/20178
	* Makefile.am (gfor_specific_src): Add 'intrinsics/f2c_intrinsics.F90'
	to dependencies.
	* Makefile.in: Regenerate.
	* intrinsics/f2c_specific.F90: New file.
gcc/testsuite/
	PR fortran/20178
	* gfortran.dg/f2c_1.f90, gfortran.dg/f2c_2.f90,
	gfortran.dg/f2c_3.f90: New tests.

From-SVN: r99544
2005-05-11 00:06:55 +02:00
Francois-Xavier Coudert
8809f6f945 re PR libfortran/20788 (Loading libgfortran.so clobbers C redirection of stdin/stdout/stderr)
PR libfortran/20788
	Missing entry from previous commit:
	* io/unix.c (fd_to_stream): Add an avoid_mmap argument indicating
	we don't we to mmap this stream. Use fd_open instead of mmap_open
	in that case.
	(open_external): Call fd_to_stream with avoid_mmap = 0.
	(input_stream): Call fd_to_stream with avoid_mmap = 1.
	(output_stream): Likewise.
	(error_stream): Likewise.

	Really committing:
	* io/read.c (read_f): Accept 'e', 'E', 'd' and 'D' as first
	non-blank characters of a real number.

From-SVN: r99508
2005-05-10 08:34:58 +00:00
Mike Stump
f4c767fdc2 * configure: Regenerate.
From-SVN: r99498
2005-05-10 01:43:00 +00:00
Francois-Xavier Coudert
4581ba9d4f re PR libfortran/19155 ([4.0 only] blanks not treated as zeros in 'E' format read (NIST FM110.FOR))
PR libfortran/19155
	* io/read.c (read_f): Accept 'e', 'E', 'd' and 'D' as first
	non-blank characters of a real number.
	* gfortran.dg/pr19155.f: New test.

From-SVN: r99424
2005-05-09 11:21:01 +00:00
Thomas Koenig
e33e218bad re PR libfortran/21354 ([4.0 only] Rank 7 not handled correctly)
2005-05-04  Thomas Koenig  <Thomas.Koenig@online.de>

	PR libfortran/21354
	* m4/cshift1.m4: Change dimension of auxiliary arrays from
	GFC_MAX_DIMENSION - 1 to GFC_MAX_DIMENSION.
	* m4/eoshift1.m4: Likewise.
	* m4/eoshift3.m4: Likewise.
	* m4/ifunction.m4: Likewise.
	* m4/in_pack.m4: Likewise.
	* m4/in_unpack.m4: Likewise.
	* intrinsics/cshift0.c: Likewise.
	* intrinsics/eoshift0.c: Likewise.
	* intrinsics/eoshift2.c: Likewise.
	* intrinsics/random.c: Likewise.
	* intrinsics/spread_generic.c: Likewise.
	* intrinsics/stat.c: Likewise.
	* generated/all_l4.c: Regenerated.
	* generated/all_l8.c: Regenerated.
	* generated/any_l4.c: Regenerated.
	* generated/any_l8.c: Regenerated.
	* generated/count_4_l4.c: Regenerated.
	* generated/count_4_l8.c: Regenerated.
	* generated/count_8_l4.c: Regenerated.
	* generated/count_8_l8.c: Regenerated.
	* generated/cshift1_4.c: Regenerated.
	* generated/cshift1_8.c: Regenerated.
	* generated/eoshift1_4.c: Regenerated.
	* generated/eoshift1_8.c: Regenerated.
	* generated/eoshift3_4.c: Regenerated.
	* generated/eoshift3_8.c: Regenerated.
	* generated/in_pack_i4.c: Regenerated.
	* generated/in_pack_i8.c: Regenerated.
	* generated/in_unpack_i4.c: Regenerated.
	* generated/in_unpack_i8.c: Regenerated.
	* generated/maxloc0_4_i4.c: Regenerated.
	* generated/maxloc0_4_i8.c: Regenerated.
	* generated/maxloc0_4_r4.c: Regenerated.
	* generated/maxloc0_4_r8.c: Regenerated.
	* generated/maxloc0_8_i4.c: Regenerated.
	* generated/maxloc0_8_i8.c: Regenerated.
	* generated/maxloc0_8_r4.c: Regenerated.
	* generated/maxloc0_8_r8.c: Regenerated.
	* generated/maxloc1_4_i4.c: Regenerated.
	* generated/maxloc1_4_i8.c: Regenerated.
	* generated/maxloc1_4_r4.c: Regenerated.
	* generated/maxloc1_4_r8.c: Regenerated.
	* generated/maxloc1_8_i4.c: Regenerated.
	* generated/maxloc1_8_i8.c: Regenerated.
	* generated/maxloc1_8_r4.c: Regenerated.
	* generated/maxloc1_8_r8.c: Regenerated.
	* generated/maxval_i4.c: Regenerated.
	* generated/maxval_i8.c: Regenerated.
	* generated/maxval_r4.c: Regenerated.
	* generated/maxval_r8.c: Regenerated.
	* generated/minloc0_4_i4.c: Regenerated.
	* generated/minloc0_4_i8.c: Regenerated.
	* generated/minloc0_4_r4.c: Regenerated.
	* generated/minloc0_4_r8.c: Regenerated.
	* generated/minloc0_8_i4.c: Regenerated.
	* generated/minloc0_8_i8.c: Regenerated.
	* generated/minloc0_8_r4.c: Regenerated.
	* generated/minloc0_8_r8.c: Regenerated.
	* generated/minloc1_4_i4.c: Regenerated.
	* generated/minloc1_4_i8.c: Regenerated.
	* generated/minloc1_4_r4.c: Regenerated.
	* generated/minloc1_4_r8.c: Regenerated.
	* generated/minloc1_8_i4.c: Regenerated.
	* generated/minloc1_8_i8.c: Regenerated.
	* generated/minloc1_8_r4.c: Regenerated.
	* generated/minloc1_8_r8.c: Regenerated.
	* generated/minval_i4.c: Regenerated.
	* generated/minval_i8.c: Regenerated.
	* generated/minval_r4.c: Regenerated.
	* generated/minval_r8.c: Regenerated.
	* generated/product_c4.c: Regenerated.
	* generated/product_c8.c: Regenerated.
	* generated/product_i4.c: Regenerated.
	* generated/product_i8.c: Regenerated.
	* generated/product_r4.c: Regenerated.
	* generated/product_r8.c: Regenerated.
	* generated/sum_c4.c: Regenerated.
	* generated/sum_c8.c: Regenerated.
	* generated/sum_i4.c: Regenerated.
	* generated/sum_i8.c: Regenerated.
	* generated/sum_r4.c: Regenerated.
	* generated/sum_r8.c: Regenerated.

2005-05-04  Thomas Koenig  <Thomas.Koenig@online.de>

	PR libfortran/21354
	gfortran.dg/in_pack_rank7.f90:  New test.

From-SVN: r99232
2005-05-04 21:38:23 +00:00
Thomas Koenig
8e249b232d re PR libfortran/18958 ([4.0 only] eoshift segfaults when shifting off the end of an array)
2005-04-30  Thomas Koenig  <Thomas.Koenig@online.de>

        PR libfortran/18958
        libgfortran.h:  Change typedef of index_type from size_t
        to ssize_t.

2005-04-30  Thomas Koenig  <Thomas.Koenig@online.de>

        PR libfortran/18958
        * gfortran.dg/eoshift.f90:  New test case.

From-SVN: r99047
2005-04-30 20:51:39 +00:00
Paul Thomas
f6c7d65b66 Fix matmul PR18857 and supply testcase
From-SVN: r99041
2005-04-30 18:17:54 +00:00
Francois-Xavier Coudert
1fb2002d69 configure.ac: Check for ftruncate and chsize.
* configure.ac: Check for ftruncate and chsize.
	* io/unix.c (fd_truncate): Provide chsize as alternative to
	ftruncate.
	* config.h.in: Regenerate.
	* configure: Regenerate.

From-SVN: r98989
2005-04-29 14:24:04 +00:00
Tobias Schlüter
d8955e4baf * intrinsics/rename.c: Add missing #includes.
From-SVN: r98961
2005-04-29 02:46:36 +02:00
Tobias Schlüter
0ffcc9e7dd * AUTHORS, COPYING, INSTALL, NEWS, README: Remove.
From-SVN: r98935
2005-04-28 22:25:11 +02:00
David Edelsohn
f5b092e391 Add PR to ChangeLog.
From-SVN: r98796
2005-04-26 18:17:41 -04:00
David Edelsohn
9adcdfb365 rewind.c (st_rewind): Flush the stream when resetting the mode from WRITING to READING.
* io/rewind.c (st_rewind): Flush the stream when resetting the mode
        from WRITING to READING.

From-SVN: r98788
2005-04-26 15:27:11 -04:00
Paul Thomas
bfe936c0c1 Fix bug that causes testsuite failure in namelist_13.f90 on some systems.
Co-Authored-By: Jerry DeLisle <jvdelisle@verizon.net>

From-SVN: r98610
2005-04-23 12:38:08 +00:00
Thomas Koenig
da8f3dcc5b 05-04-22 Thomas Koenig <Thomas.Koenig@online.de>
PR libfortran/20074
        PR libfortran/20436
        PR libfortran/21108
        * gfortran.dg/nested_reshape.f90: new test
        * gfortran.dg/reshape-alloc.f90: new test
        * gfortran.dg/reshape.f90: new test

2005-04-22  Thomas Koenig  <Thomas.Koenig@online.de>

        PR libfortran/20074
        PR libfortran/20436
        PR libfortran/21108
        * m4/reshape.m4 (reshape_`'rtype_kind):  rs, rex:  New
        variables, to be used in calculation of return array sizes.
        Populate return array descriptor if ret->data is NULL.
        Fix condition for early return (it used to test something
        undefined if order was used).
        Remove duplicate check wether pad is used.
        * intrinsics/reshape_generic.c (reshape_generic): Likewise.
        Fix a few places where the wrong variables were set.
        * generated/reshape_i4.c: Regenerated.
        * generated/reshape_i8.c: Regenerated.

From-SVN: r98585
2005-04-22 20:02:44 +00:00
Paul Thomas
883dd42959 correct memory leaks in namelist code for derived types
From-SVN: r98352
2005-04-18 22:19:27 +00:00
Francois-Xavier Coudert
293fcb2e28 re PR libfortran/20950 ([4.0 only] segfault in INQUIRE asking for SEQUENTIAL status)
PR libfortran/20950
	* io/inquire.c (inquire_via_unit): Check for the gfc_unit being
	NULL when setting ioparm.sequential.
	* gfortran.dg/pr20950.f: New test.

From-SVN: r98312
2005-04-18 07:34:32 +00:00