xref: /netbsd-src/external/gpl3/gcc/dist/libgfortran/ChangeLog-2005 (revision 181254a7b1bdde6873432bffef2d2decc4b5c22f)
1*181254a7Smrg2005-12-31  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
2*181254a7Smrg
3*181254a7Smrg	PR libfortran/25594
4*181254a7Smrg	PR libfortran/25419
5*181254a7Smrg	* io/list_read.c (list_formatted_read_scalar): Test for comma to return
6*181254a7Smrg	a null value (default). Revert patch of 25419 on 2005-12-28.
7*181254a7Smrg
8*181254a7Smrg2005-12-28  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
9*181254a7Smrg
10*181254a7Smrg	PR libfortran/25139
11*181254a7Smrg	* io/unix.c (fd_truncate): Set s->active to zero.
12*181254a7Smrg	PR libfortran/25510
13*181254a7Smrg	* libgfortran.h: Add ERROR_INTERNAL and ERROR_INTERNAL_UNIT.
14*181254a7Smrg	* runtime/error.c (translate_error): Add messages for new errors.
15*181254a7Smrg	* io/list_read.c (next_char): Use new errors.
16*181254a7Smrg	* io/transfer.c (next_record_r) (next_record_w): Use new errors.
17*181254a7Smrg
18*181254a7Smrg2005-12-28  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
19*181254a7Smrg
20*181254a7Smrg	PR libfortran/25550
21*181254a7Smrg	* io/file_pos.c (st_rewind): Reset bytes left so no error occurs in
22*181254a7Smrg	next_record_r.
23*181254a7Smrg
24*181254a7Smrg2005-12-28  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
25*181254a7Smrg
26*181254a7Smrg	PR libfortran/25419
27*181254a7Smrg	* io/list_read.c (list_formatted_read_scalar): Allow comma to return a
28*181254a7Smrg	null value (default).
29*181254a7Smrg
30*181254a7Smrg2005-12-21  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
31*181254a7Smrg
32*181254a7Smrg	PR libfortran/25307
33*181254a7Smrg	* io/list_read.c (next_char): Handle end-of-file conditions for
34*181254a7Smrg	internal units and add support for internal character array units.
35*181254a7Smrg
36*181254a7Smrg2005-12-18  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
37*181254a7Smrg
38*181254a7Smrg	PR libfortran/25463
39*181254a7Smrg	* io/transfer.c (finalize_transfer): Fix execution order so that
40*181254a7Smrg	next_record is set to zero in all cases.
41*181254a7Smrg
42*181254a7Smrg2005-12-16  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
43*181254a7Smrg
44*181254a7Smrg	PR libfortran/25264
45*181254a7Smrg	PR libfortran/25349
46*181254a7Smrg	* io/unit.c (get_unit): Delete code that cleared the string when the
47*181254a7Smrg	unit was opened, which is too soon.
48*181254a7Smrg	* io/transfer.c (next_record_w): Pass done flag in.  Change logic for
49*181254a7Smrg	setting max_pos.  Add code to position unit and pad record as needed.
50*181254a7Smrg
51*181254a7Smrg2005-12-13  Richard Sandiford  <richard@codesourcery.com>
52*181254a7Smrg	    Victor Leikehman  <LEI@il.ibm.com>
53*181254a7Smrg
54*181254a7Smrg	* m4/matmul.m4: Use a different order in the special case of a
55*181254a7Smrg	transposed first argument.
56*181254a7Smrg	* generated/matmul_c4.c, generated/matmul_c8.c, generated/matmul_c10.c,
57*181254a7Smrg	* generated/matmul_c16.c, generated/matmul_i4.c, generated/matmul_i8.c,
58*181254a7Smrg	* generated/matmul_i10.c, generated/matmul_r4.c, generated/matmul_r8.c
59*181254a7Smrg	* generated/matmul_r10.c, generated/matmul_r16.c: Regenerated.
60*181254a7Smrg
61*181254a7Smrg2005-12-10  Janne Blomqvist  <jb@gcc.gnu.org>
62*181254a7Smrg
63*181254a7Smrg	* Makefile.am: Enable loop unrolling for matmul.
64*181254a7Smrg	* configure: Regenerated.
65*181254a7Smrg	* Makefile.in: Regenerated.
66*181254a7Smrg	* aclocal.m4: Regenerated.
67*181254a7Smrg
68*181254a7Smrg2005-12-10  Thomas Koenig  <Thomas.Koenig@online.de>
69*181254a7Smrg
70*181254a7Smrg	PR fortran/23815
71*181254a7Smrg	* io/file_pos.c (unformatted_backspace):  If flags.convert
72*181254a7Smrg	does not equal CONVERT_NATIVE, reverse the record marker.
73*181254a7Smrg	* io/open.c:  Add convert_opt[].
74*181254a7Smrg	(st_open):  If no convert option is given, set CONVERT_NATIVE.
75*181254a7Smrg	If CONVERT_BIG or CONVERT_LITTLE are given, set flags.convert to
76*181254a7Smrg	CONVERT_NATIVE or CONVERT_SWAP (depending on wether we have
77*181254a7Smrg	a big- or little-endian system).
78*181254a7Smrg	* io/transfer.c (unformatted_read):  Remove unused attribute
79*181254a7Smrg	from arguments.
80*181254a7Smrg	If we need to reverse
81*181254a7Smrg	bytes, break up large transfers into a loop.  Split complex
82*181254a7Smrg	numbers into its two parts.
83*181254a7Smrg	(unformatted_write):  Likewise.
84*181254a7Smrg	(us_read):  If flags.convert does not equal CONVERT_NATIVE,
85*181254a7Smrg	reverse the record marker.
86*181254a7Smrg	(next_record_w): Likewise.
87*181254a7Smrg	(reverse_memcpy):  New function.
88*181254a7Smrg	* io/inquire.c (inquire_via_unit):  Implement convert.
89*181254a7Smrg	* io/io.h (top level):  Add enum unit_convert.
90*181254a7Smrg	Add convert to st_parameter_open and st_parameter_inquire.
91*181254a7Smrg	Define IOPARM_OPEN_HAS_CONVERT and IOPARM_INQUIRE_HAS_CONVERT.
92*181254a7Smrg	Increase padding for st_parameter_dt.
93*181254a7Smrg	Declare reverse_memcpy().
94*181254a7Smrg
95*181254a7Smrg2005-12-09  Jakub Jelinek  <jakub@redhat.com>
96*181254a7Smrg
97*181254a7Smrg	PR libfortran/24991
98*181254a7Smrg	* acinclude.m4: Include acx.m4 and no-executables.m4.
99*181254a7Smrg	* configure.ac: Add GCC_TOPLEVEL_SUBDIRS.
100*181254a7Smrg	* configure: Rebuilt.
101*181254a7Smrg	* Makefile.am (AM_CPPFLAGS): Use $(host_subdir) in build dir
102*181254a7Smrg	path.
103*181254a7Smrg	* Makefile.in: Rebuilt.
104*181254a7Smrg
105*181254a7Smrg2005-12-08  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
106*181254a7Smrg
107*181254a7Smrg	PR libfortran/25039
108*181254a7Smrg	* io/io.h: Create a new flag sf_read_comma to control comma
109*181254a7Smrg	separators in numeric reads.
110*181254a7Smrg	* io/transfer.c (formatted_transfer_scalar): Initialize the flag.
111*181254a7Smrg	(read_sf): Check for commas coming in and if the flag is set,
112*181254a7Smrg	shortcut the read.
113*181254a7Smrg	* io/read.c (read_a) (read_x): Clear the flag for character reads and
114*181254a7Smrg	reset it after the reads.
115*181254a7Smrg
116*181254a7Smrg2005-12-04  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
117*181254a7Smrg
118*181254a7Smrg	* io/format.c: Removing unused code.
119*181254a7Smrg	* intrinsics/random.c: Likewise.
120*181254a7Smrg
121*181254a7Smrg2005-12-02  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
122*181254a7Smrg
123*181254a7Smrg	PR libfortran/25116
124*181254a7Smrg	* io/transfer.c (data_transfer_init): Don't set the default for
125*181254a7Smrg	namelist I/O on preconnected files to UNFORMATTED.
126*181254a7Smrg
127*181254a7Smrg2005-11-30  Eric Botcazou  <ebotcazou@libertysurf.fr>
128*181254a7Smrg
129*181254a7Smrg	* libgfortran.h (ILP32 typedefs): Define _UINT8_T, _UINT32_T and
130*181254a7Smrg	_UINT64_T on Solaris.
131*181254a7Smrg
132*181254a7Smrg2005-11-28  Steven G. Kargl  <kargls@comcast.net>
133*181254a7Smrg
134*181254a7Smrg	PR libfortran/25149
135*181254a7Smrg	* intrinsics/abort.c: Add external abort_ to allow linking when
136*181254a7Smrg	invoking -std=f95 in testsuite.
137*181254a7Smrg
138*181254a7Smrg2005-11-28  Jakub Jelinek  <jakub@redhat.com>
139*181254a7Smrg
140*181254a7Smrg	PR libfortran/24991
141*181254a7Smrg	* acinclude.m4 (LIBGFOR_CHECK_PRAGMA_WEAK): Rename to...
142*181254a7Smrg	(LIBGFOR_GTHREAD_WEAK): ... this.  Define SUPPORTS_WEAK rather
143*181254a7Smrg	than HAVE_PRAGMA_WEAK.  Define GTHREAD_USE_WEAK to 0 on hosts
144*181254a7Smrg	that shouldn't use weak in gthr.h.
145*181254a7Smrg	* configure.ac: Use LIBGFOR_GTHREAD_WEAK instead of
146*181254a7Smrg	LIBGFOR_CHECK_PRAGMA_WEAK.
147*181254a7Smrg	* config.h.in: Regenerated.
148*181254a7Smrg	* configure: Regenerated.
149*181254a7Smrg	* io/io.h (SUPPORTS_WEAK): Don't define here.
150*181254a7Smrg
151*181254a7Smrg	* intrinsics/ftell.c (ftell, FTELL_SUB): Add unlock_unit call.
152*181254a7Smrg	* intrinsics/fget.c (fgetc, fputs): Likewise.
153*181254a7Smrg	* intrinsics/tty.c (ttynam): Likewise.
154*181254a7Smrg
155*181254a7Smrg2005-11-27  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
156*181254a7Smrg
157*181254a7Smrg	PR libfortran/25109
158*181254a7Smrg	* io/unit.c (init_units): Set default flag to BLANK_NULL per
159*181254a7Smrg	requirement of F95 standard.  Set PAD_YES for stdin.
160*181254a7Smrg
161*181254a7Smrg2005-11-27  David Edelsohn  <edelsohn@gnu.org>
162*181254a7Smrg
163*181254a7Smrg	* intrinsics/random.c: Include config.h
164*181254a7Smrg	* io/size_from_kind.c: Include config.h and libgfortran.h
165*181254a7Smrg	* io/io.h: Revert 2005-11-21 change.
166*181254a7Smrg
167*181254a7Smrg2005-11-27  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
168*181254a7Smrg
169*181254a7Smrg	* io/write.c (namelist_write): Correct type in previous
170*181254a7Smrg	commit.
171*181254a7Smrg
172*181254a7Smrg2005-11-27  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
173*181254a7Smrg
174*181254a7Smrg	PR libfortran/24919
175*181254a7Smrg	* io/list_read.c (eat_separator, finish_separator,
176*181254a7Smrg	read_character): Handle CRLF separators correctly during reads.
177*181254a7Smrg	(nml_query): Use the HAVE_CRLF macro to print adequate newlines.
178*181254a7Smrg	* io/io.h (st_parameter_dt): Add comment about the possible
179*181254a7Smrg	values for sf_seen_eor.
180*181254a7Smrg	* io/unix.c (tempfile, regular_file): HAVE_CRLF doesn't imply
181*181254a7Smrg	that O_BINARY is defined, so we add that condition.
182*181254a7Smrg	(stream_at_bof): Fix typo in comment.
183*181254a7Smrg	* io/transfer.c (read_sf): Handle correctly CRLF, setting
184*181254a7Smrg	sf_seen_eor value to 2 instead of 1.
185*181254a7Smrg	(formatted_transfer_scalar): Use the sf_seen_eor value to
186*181254a7Smrg	handle CRLF the right way.
187*181254a7Smrg	* io/write.c (nml_write_obj, namelist_write): Use CRLF as newline
188*181254a7Smrg	when HAVE_CRLF is defined.
189*181254a7Smrg
190*181254a7Smrg2005-11-27  Janne Blomqvist  <jb@gcc.gnu.org>
191*181254a7Smrg
192*181254a7Smrg	* m4/ifunction.m4: Add const restrict to function arguments.
193*181254a7Smrg	* m4/iforeach.m4: Likewise.
194*181254a7Smrg	* m4/eoshift1.m4: Likewise.
195*181254a7Smrg	* m4/eoshift3.m4: Likewise.
196*181254a7Smrg	* m4/dotprod.m4: Likewise.
197*181254a7Smrg	* m4/dotprodc.m4: Likewise.
198*181254a7Smrg	* m4/dotprodl.m4: Likewise.
199*181254a7Smrg	* m4/shape.m4: Likewise.
200*181254a7Smrg	* m4/cshift1.m4: Likewise.
201*181254a7Smrg	* m4/reshape.m4: Likewise.
202*181254a7Smrg	* m4/transpose.m4: Likewise.
203*181254a7Smrg	* generated/eoshift*: Regenerated
204*181254a7Smrg	* generated/dotprod*: Likewise.
205*181254a7Smrg	* generated/shape*: Likewise.
206*181254a7Smrg	* generated/cshift1*: Likewise.
207*181254a7Smrg	* generated/reshape*: Likewise.
208*181254a7Smrg	* generated/transpose*: Likewise.
209*181254a7Smrg
210*181254a7Smrg2005-11-26  Richard Henderson  <rth@redhat.com>
211*181254a7Smrg
212*181254a7Smrg	* io/list_read.c (nml_parse_qualifier): Use ssize_t instead of int
213*181254a7Smrg	in dtp->u.p.value.
214*181254a7Smrg
215*181254a7Smrg2005-11-26  Janne Blomqvist  <jb@gcc.gnu.org>
216*181254a7Smrg
217*181254a7Smrg	PR libfortran/24945
218*181254a7Smrg	* io/open.c (edit_modes): Check for STATUS_UNKNOWN flag.
219*181254a7Smrg
220*181254a7Smrg2005-11-25  Richard Henderson  <rth@redhat.com>
221*181254a7Smrg
222*181254a7Smrg	* io/list_read.c (nml_parse_qualifier): Use memcpy to extract
223*181254a7Smrg	values from dtp->u.p.value.
224*181254a7Smrg	* io/io.h (struct st_parameter_dt): Change reversion_flag, first_item,
225*181254a7Smrg	seen_dollar, sf_seen_eor, eor_condition, no_leading_blank, char_flag,
226*181254a7Smrg	input_complete, at_eol, comma_flag, namelist_mode, nml_read_error to
227*181254a7Smrg	single-bit fields.  Move value to where it'll be at least pointer
228*181254a7Smrg	aligned.
229*181254a7Smrg
230*181254a7Smrg2005-11-23  Alan Modra  <amodra@bigpond.net.au>
231*181254a7Smrg
232*181254a7Smrg	* io/open.c (new_unit): Use the right unit number when checking
233*181254a7Smrg	for stdin, stdout, stderr.
234*181254a7Smrg
235*181254a7Smrg2005-11-22  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
236*181254a7Smrg
237*181254a7Smrg	PR libfortran/24794
238*181254a7Smrg	* io/list_read.c (read_character): Add auto completion on short
239*181254a7Smrg	namelist reads.
240*181254a7Smrg
241*181254a7Smrg2005-11-21  David Edelsohn  <edelsohn@gnu.org>
242*181254a7Smrg
243*181254a7Smrg	* io/io.h (_LARGE_FILES): Undefine for AIX.
244*181254a7Smrg	(_LARGE_FILE_API): Define for AIX.
245*181254a7Smrg
246*181254a7Smrg2005-11-21  Jakub Jelinek  <jakub@redhat.com>
247*181254a7Smrg
248*181254a7Smrg	PR fortran/24774
249*181254a7Smrg	PR fortran/14943
250*181254a7Smrg	PR fortran/21647
251*181254a7Smrg	* Makefile.am (AM_CPPFLAGS): Add gcc directories as -I paths,
252*181254a7Smrg	add -D_GNU_SOURCE.
253*181254a7Smrg	* Makefile.in: Regenerated.
254*181254a7Smrg	* acinclude.m4 (LIBGFOR_CHECK_SYNC_FETCH_AND_ADD,
255*181254a7Smrg	LIBGFOR_CHECK_GTHR_DEFAULT, LIBGFOR_CHECK_PRAGMA_WEAK): New macros.
256*181254a7Smrg	* configure.ac: Add them.
257*181254a7Smrg	* configure: Rebuilt.
258*181254a7Smrg	* config.h.in: Rebuilt.
259*181254a7Smrg	* libtool-version: Bump libgfortran.so SONAME to libgfortran.so.1.
260*181254a7Smrg	* libgfortran.h (library_start, show_locus, internal_error,
261*181254a7Smrg	generate_error, find_option): Add st_parameter_common * argument.
262*181254a7Smrg	(library_end): Change into a dummy macro.
263*181254a7Smrg	* io/io.h: Include gthr.h.
264*181254a7Smrg	(SUPPORTS_WEAK): Define if HAVE_PRAGMA_WEAK.
265*181254a7Smrg	(CHARACTER): Remove define.
266*181254a7Smrg	(st_parameter, global_t): Remove typedef.
267*181254a7Smrg	(ioparm, g, ionml, current_unit): Remove variables.
268*181254a7Smrg	(init_error_stream): Remove prototype.
269*181254a7Smrg	(CHARACTER1, CHARACTER2): Define.
270*181254a7Smrg	(st_parameter_common, st_parameter_open, st_parameter_close,
271*181254a7Smrg	st_parameter_filepos, st_parameter_inquire, st_parameter_dt): New
272*181254a7Smrg	typedefs.
273*181254a7Smrg	(IOPARM_LIBRETURN_MASK, IOPARM_LIBRETURN_OK, IOPARM_LIBRETURN_ERROR,
274*181254a7Smrg	IOPARM_LIBRETURN_END, IOPARM_LIBRETURN_EOR, IOPARM_ERR, IOPARM_END,
275*181254a7Smrg	IOPARM_EOR, IOPARM_HAS_IOSTAT, IOPARM_HAS_IOMSG, IOPARM_COMMON_MASK,
276*181254a7Smrg	IOPARM_OPEN_HAS_RECL_IN, IOPARM_OPEN_HAS_FILE, IOPARM_OPEN_HAS_STATUS,
277*181254a7Smrg	IOPARM_OPEN_HAS_ACCESS, IOPARM_OPEN_HAS_FORM, IOPARM_OPEN_HAS_BLANK,
278*181254a7Smrg	IOPARM_OPEN_HAS_POSITION, IOPARM_OPEN_HAS_ACTION,
279*181254a7Smrg	IOPARM_OPEN_HAS_DELIM, IOPARM_OPEN_HAS_PAD, IOPARM_CLOSE_HAS_STATUS,
280*181254a7Smrg	IOPARM_INQUIRE_HAS_EXIST, IOPARM_INQUIRE_HAS_OPENED,
281*181254a7Smrg	IOPARM_INQUIRE_HAS_NUMBER, IOPARM_INQUIRE_HAS_NAMED,
282*181254a7Smrg	IOPARM_INQUIRE_HAS_NEXTREC, IOPARM_INQUIRE_HAS_RECL_OUT,
283*181254a7Smrg	IOPARM_INQUIRE_HAS_FILE, IOPARM_INQUIRE_HAS_ACCESS,
284*181254a7Smrg	IOPARM_INQUIRE_HAS_FORM, IOPARM_INQUIRE_HAS_BLANK,
285*181254a7Smrg	IOPARM_INQUIRE_HAS_POSITION, IOPARM_INQUIRE_HAS_ACTION,
286*181254a7Smrg	IOPARM_INQUIRE_HAS_DELIM, IOPARM_INQUIRE_HAS_PAD,
287*181254a7Smrg	IOPARM_INQUIRE_HAS_NAME, IOPARM_INQUIRE_HAS_SEQUENTIAL,
288*181254a7Smrg	IOPARM_INQUIRE_HAS_DIRECT, IOPARM_INQUIRE_HAS_FORMATTED,
289*181254a7Smrg	IOPARM_INQUIRE_HAS_UNFORMATTED, IOPARM_INQUIRE_HAS_READ,
290*181254a7Smrg	IOPARM_INQUIRE_HAS_WRITE, IOPARM_INQUIRE_HAS_READWRITE,
291*181254a7Smrg	IOPARM_DT_LIST_FORMAT, IOPARM_DT_NAMELIST_READ_MODE,
292*181254a7Smrg	IOPARM_DT_HAS_REC, IOPARM_DT_HAS_SIZE, IOPARM_DT_HAS_IOLENGTH,
293*181254a7Smrg	IOPARM_DT_HAS_FORMAT, IOPARM_DT_HAS_ADVANCE,
294*181254a7Smrg	IOPARM_DT_HAS_INTERNAL_UNIT, IOPARM_DT_HAS_NAMELIST_NAME,
295*181254a7Smrg	IOPARM_DT_IONML_SET): Define.
296*181254a7Smrg	(gfc_unit): Add lock, waiting and close fields.  Change file
297*181254a7Smrg	from flexible array member into pointer to char.
298*181254a7Smrg	(open_external): Add st_parameter_open * argument.
299*181254a7Smrg	(find_file, file_exists): Add file and file_len arguments.
300*181254a7Smrg	(flush_all_units): New prototype.
301*181254a7Smrg	(max_offset, unit_root, unit_lock): New variable.
302*181254a7Smrg	(is_internal_unit, is_array_io, next_array_record,
303*181254a7Smrg	parse_format, next_format, unget_format, format_error,
304*181254a7Smrg	read_block, write_block, next_record, convert_real,
305*181254a7Smrg	read_a, read_f, read_l, read_x, read_radix, read_decimal,
306*181254a7Smrg	list_formatted_read, finish_list_read, namelist_read,
307*181254a7Smrg	namelist_write, write_a, write_b, write_d, write_e, write_en,
308*181254a7Smrg	write_es, write_f, write_i, write_l, write_o, write_x, write_z,
309*181254a7Smrg	list_formatted_write, get_unit): Add st_parameter_dt * argument.
310*181254a7Smrg	(insert_unit): Remove prototype.
311*181254a7Smrg	(find_or_create_unit, unlock_unit): New prototype.
312*181254a7Smrg	(new_unit): Return gfc_unit *.  Add st_parameter_open *
313*181254a7Smrg	and gfc_unit * arguments.
314*181254a7Smrg	(free_fnodes): Remove prototype.
315*181254a7Smrg	(free_format_data): New prototype.
316*181254a7Smrg	(scratch): Remove.
317*181254a7Smrg	(init_at_eol): Remove prototype.
318*181254a7Smrg	(free_ionml): New prototype.
319*181254a7Smrg	(inc_waiting_locked, predec_waiting_locked, dec_waiting_unlocked):
320*181254a7Smrg	New inline functions.
321*181254a7Smrg	* io/unit.c (max_offset, unit_root, unit_lock): New variables.
322*181254a7Smrg	(insert): Adjust os_error caller.
323*181254a7Smrg	(insert_unit): Made static.  Allocate memory here, initialize
324*181254a7Smrg	lock and after inserting it return it, locked.
325*181254a7Smrg	(delete_unit): Adjust for deletion of g.
326*181254a7Smrg	(find_unit_1): New function.
327*181254a7Smrg	(find_unit): Use it.
328*181254a7Smrg	(find_or_create_unit): New function.
329*181254a7Smrg	(get_unit): Add dtp argument, change meaning of the int argument
330*181254a7Smrg	as creation request flag.  Adjust for different st_* calling
331*181254a7Smrg	conventions, lock internal unit's lock before returning it
332*181254a7Smrg	and removal of g.  Call find_unit_1 instead of find_unit.
333*181254a7Smrg	(is_internal_unit, is_array_io): Add dtp argument, adjust for
334*181254a7Smrg	removal of most of global variables.
335*181254a7Smrg	(init_units): Initialize unit_lock.  Adjust insert_unit callers
336*181254a7Smrg	and adjust for g removal.
337*181254a7Smrg	(close_unit_1): New function.
338*181254a7Smrg	(close_unit): Use it.
339*181254a7Smrg	(unlock_unit): New function.
340*181254a7Smrg	(close_units): Lock unit_lock, use close_unit_1 rather than
341*181254a7Smrg	close_unit.
342*181254a7Smrg	* io/close.c (st_close): Add clp argument.  Adjust for new
343*181254a7Smrg	st_* calling conventions and internal function API changes.
344*181254a7Smrg	* io/file_pos.c (st_backspace, st_endfile, st_rewind, st_flush):
345*181254a7Smrg	Add fpp argument.  Adjust for new st_* calling conventions and
346*181254a7Smrg	internal function API changes.
347*181254a7Smrg	(formatted_backspace, unformatted_backspace): Likewise.  Add
348*181254a7Smrg	u argument.
349*181254a7Smrg	* io/open.c (edit_modes, st_open): Add opp argument.  Adjust for
350*181254a7Smrg	new st_* calling conventions and internal function API changes.
351*181254a7Smrg	(already_open): Likewise.  If not HAVE_UNLINK_OPEN_FILE, unlink
352*181254a7Smrg	scratch file.  Instead of calling close_unit just call sclose,
353*181254a7Smrg	free u->file if any and clear a few u fields before calling
354*181254a7Smrg	new_unit.
355*181254a7Smrg	(new_unit): Return gfc_unit *.  Add opp and u arguments.
356*181254a7Smrg	Adjust for new st_* calling conventions and internal function
357*181254a7Smrg	API changes.  Don't allocate unit here, rather than work with
358*181254a7Smrg	already created unit u already locked on entry.  In case
359*181254a7Smrg	of failure, close_unit it.
360*181254a7Smrg	* io/unix.c: Include unix.h.
361*181254a7Smrg	(BUFFER_SIZE, unix_stream): Moved to unix.h.
362*181254a7Smrg	(unit_to_fd): Add unlock_unit call.
363*181254a7Smrg	(tempfile): Add opp argument, use its fields rather than ioparm.
364*181254a7Smrg	(regular_file): Likewise.
365*181254a7Smrg	(open_external): Likewise.  Only unlink file if fd >= 0.
366*181254a7Smrg	(init_error_stream): Add error argument, set structure it points
367*181254a7Smrg	to rather than filling static variable and returning its address.
368*181254a7Smrg	(FIND_FILE0_DECL, FIND_FILE0_ARGS): Define.
369*181254a7Smrg	(find_file0): Use them.  Don't crash if u->s == NULL.
370*181254a7Smrg	(find_file): Add file and file_len arguments, use them instead
371*181254a7Smrg	of ioparm.  Add locking.  Pass either an array of 2 struct stat
372*181254a7Smrg	or file and file_len pair to find_file0.
373*181254a7Smrg	(flush_all_units_1, flush_all_units): New functions.
374*181254a7Smrg	(file_exists): Add file and file_len arguments, use them instead
375*181254a7Smrg	of ioparm.
376*181254a7Smrg	* io/unix.h: New file.
377*181254a7Smrg	* io/lock.c (ioparm, g, ionml): Remove variables.
378*181254a7Smrg	(library_start): Add cmp argument, adjust for new st_* calling
379*181254a7Smrg	conventions.
380*181254a7Smrg	(library_end): Remove.
381*181254a7Smrg	(free_ionml): New function.
382*181254a7Smrg	* io/inquire.c (inquire_via_unit, inquire_via_filename,
383*181254a7Smrg	st_inquire): Add iqp argument, adjust for new st_* calling
384*181254a7Smrg	conventions and internal function API changes.
385*181254a7Smrg	* io/format.c (FARRAY_SIZE): Decrease to 64.
386*181254a7Smrg	(fnode_array, format_data): New typedefs.
387*181254a7Smrg	(avail, array, format_string, string, error, saved_token, value,
388*181254a7Smrg	format_string_len, reversion_ok, saved_format): Remove variables.
389*181254a7Smrg	(colon_node): Add const.
390*181254a7Smrg	(free_fnode, free_fnodes): Remove.
391*181254a7Smrg	(free_format_data): New function.
392*181254a7Smrg	(next_char, unget_char, get_fnode, format_lex, parse_format_list,
393*181254a7Smrg	format_error, parse_format, revert, unget_format, next_test): Add
394*181254a7Smrg	fmt or dtp arguments, pass it all around, adjust for internal
395*181254a7Smrg	function API changes and adjust for removal of global variables.
396*181254a7Smrg	(next_format): Likewise.  Constify return type.
397*181254a7Smrg	(next_format0): Constify return type.
398*181254a7Smrg	* io/transfer.c (current_unit, sf_seen_eor, eor_condition, max_pos,
399*181254a7Smrg	skips, pending_spaces, scratch, line_buffer, advance_status,
400*181254a7Smrg	transfer): Remove variables.
401*181254a7Smrg	(transfer_integer, transfer_real, transfer_logical,
402*181254a7Smrg	transfer_character, transfer_complex, transfer_array, current_mode,
403*181254a7Smrg	read_sf, read_block, read_block_direct, write_block,
404*181254a7Smrg	write_block_direct, unformatted_read, unformatted_write,
405*181254a7Smrg	type_name, write_constant_string, require_type,
406*181254a7Smrg	formatted_transfer_scalar, us_read, us_write, pre_position,
407*181254a7Smrg	data_transfer_init, next_record_r, next_record_w, next_record,
408*181254a7Smrg	finalize_transfer, iolength_transfer, iolength_transfer_init,
409*181254a7Smrg	st_iolength, st_iolength_done, st_read, st_read_done, st_write,
410*181254a7Smrg	st_write_done, st_set_nml_var, st_set_nml_var_dim,
411*181254a7Smrg	next_array_record): Add dtp argument, pass it all around, adjust for
412*181254a7Smrg	internal function API changes and removal of global variables.
413*181254a7Smrg	* io/list_read.c (repeat_count, saved_length, saved_used,
414*181254a7Smrg	input_complete, at_eol, comma_flag, last_char, saved_string,
415*181254a7Smrg	saved_type, namelist_mode, nml_read_error, value, parse_err_msg,
416*181254a7Smrg	nml_err_msg, prev_nl): Remove variables.
417*181254a7Smrg	(push_char, free_saved, next_char, unget_char, eat_spaces,
418*181254a7Smrg	eat_separator, finish_separator, nml_bad_return, convert_integer,
419*181254a7Smrg	parse_repeat, read_logical, read_integer, read_character,
420*181254a7Smrg	parse_real, read_complex, read_real, check_type,
421*181254a7Smrg	list_formatted_read_scalar, list_formatted_read, finish_list_read,
422*181254a7Smrg	find_nml_node, nml_untouch_nodes, nml_match_name, nml_query,
423*181254a7Smrg	namelist_read): Add dtp argument, pass it all around, adjust for
424*181254a7Smrg	internal function API changes and removal of global variables.
425*181254a7Smrg	(nml_parse_qualifier): Likewise.  Add parse_err_msg argument.
426*181254a7Smrg	(nml_read_obj): Likewise.  Add pprev_nl, nml_err_msg, clow and
427*181254a7Smrg	chigh arguments.
428*181254a7Smrg	(nml_get_obj_data): Likewise.  Add pprev_nl and nml_err_msg
429*181254a7Smrg	arguments.
430*181254a7Smrg	(init_at_eol): Removed.
431*181254a7Smrg	* io/read.c (convert_real, read_l, read_a, next_char, read_decimal,
432*181254a7Smrg	read_radix, read_f, read_x): Add dtp argument, pass it all around,
433*181254a7Smrg	adjust for internal function API changes and removal of global
434*181254a7Smrg	variables.
435*181254a7Smrg	(set_integer): Adjust internal_error caller.
436*181254a7Smrg	* io/write.c (no_leading_blank, nml_delim): Remove variables.
437*181254a7Smrg	(write_a, calculate_sign, calculate_G_format, output_float,
438*181254a7Smrg	write_l, write_float, write_int, write_decimal, write_i, write_b,
439*181254a7Smrg	write_o, write_z, write_d, write_e, write_f, write_en, write_es,
440*181254a7Smrg	write_x, write_char, write_logical, write_integer, write_character,
441*181254a7Smrg	write_real, write_complex, write_separator,
442*181254a7Smrg	list_formatted_write_scalar, list_formatted_write, nml_write_obj,
443*181254a7Smrg	namelist_write): Add dtp argument, pass it all around, adjust for
444*181254a7Smrg	internal function API changes and removal of global variables.
445*181254a7Smrg	(extract_int, extract_uint, extract_real): Adjust internal_error
446*181254a7Smrg	callers.
447*181254a7Smrg	* runtime/fpu.c (_GNU_SOURCE): Don't define here.
448*181254a7Smrg	* runtime/error.c: Include ../io/unix.h.
449*181254a7Smrg	(filename, line): Remove variables.
450*181254a7Smrg	(st_printf): Pass address of a local variable to init_error_stream.
451*181254a7Smrg	(show_locus): Add cmp argument.  Use fields it points to rather than
452*181254a7Smrg	filename and line variables.
453*181254a7Smrg	(os_error, runtime_error): Remove show_locus calls.
454*181254a7Smrg	(internal_error): Add cmp argument.  Pass it down to show_locus.
455*181254a7Smrg	(generate_error): Likewise.  Use flags bitmask instead of non-NULL
456*181254a7Smrg	check for iostat and iomsg parameter presence, adjust for st_*
457*181254a7Smrg	calling convention changes.
458*181254a7Smrg	* runtime/stop.c (stop_numeric, stop_string): Remove show_locus
459*181254a7Smrg	calls.
460*181254a7Smrg	* runtime/pause.c (pause_numeric, pause_string): Likewise.
461*181254a7Smrg	* runtime/string.c: Include ../io/io.h.
462*181254a7Smrg	(find_option): Add cmp argument.  Pass it down to generate_error.
463*181254a7Smrg	* intrinsics/flush.c (recursive_flush): Remove.
464*181254a7Smrg	(flush_i4, flush_i8): Use flush_all_units.  Add unlock_unit
465*181254a7Smrg	call.
466*181254a7Smrg	* intrinsics/rand.c: Include ../io/io.h.
467*181254a7Smrg	(rand_seed_lock): New variable.
468*181254a7Smrg	(srand, irand): Add locking.
469*181254a7Smrg	(init): New constructor function.
470*181254a7Smrg	* intrinsics/random.c: Include ../io/io.h.
471*181254a7Smrg	(random_lock): New variable.
472*181254a7Smrg	(random_r4, random_r8, arandom_r4, arandom_r8): Add locking.
473*181254a7Smrg	(random_seed): Likewise.  open failed if fd < 0.  Set i correctly.
474*181254a7Smrg	(init): New constructor function.
475*181254a7Smrg	* intrinsics/system_clock.c (tp0, t0): Remove.
476*181254a7Smrg	(system_clock_4, system_clock_8): Don't subtract tp0/t0 from current
477*181254a7Smrg	time, use just integer arithmetics.
478*181254a7Smrg	* intrinsics/tty.c (isatty_l4, isatty_l8, ttynam_sub): Add
479*181254a7Smrg	unlock_unit calls.
480*181254a7Smrg
481*181254a7Smrg2005-11-20  Richard Henderson  <rth@redhat.com>
482*181254a7Smrg
483*181254a7Smrg        * Makefile.am: Revert 2005-11-14 change.  Enable -free-vectorize
484*181254a7Smrg        via gmake per-target variables.
485*181254a7Smrg	* Makefile.in, aclocal.m4: Regenerate.
486*181254a7Smrg
487*181254a7Smrg2005-11-18  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
488*181254a7Smrg
489*181254a7Smrg	* configure.ac: Add "-I ." to the AM_FCFLAGS.
490*181254a7Smrg	* configure: Regenerate.
491*181254a7Smrg
492*181254a7Smrg2005-11-18  Hans-Peter Nilsson  <hp@axis.com>
493*181254a7Smrg
494*181254a7Smrg	* config/fpu-glibc.h (set_fpu): Only call fedisableexcept for
495*181254a7Smrg	nonzero FE_ALL_EXCEPT.
496*181254a7Smrg
497*181254a7Smrg2005-11-17  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
498*181254a7Smrg
499*181254a7Smrg	PR fortran/24892
500*181254a7Smrg	* io/io.h (unit_access): Add ACCESS_APPEND.
501*181254a7Smrg	* io/open.c (access_opt): Add APPEND value for ACCESS keyword.
502*181254a7Smrg	(st_open): Use that new value to set the POSITION accordingly.
503*181254a7Smrg
504*181254a7Smrg2005-11-14  Janne Blomqvist  <jb@gcc.gnu.org>
505*181254a7Smrg
506*181254a7Smrg        PR fortran/21468
507*181254a7Smrg        * Makefile.am: Add -ftree-vectorize for compiling matmul.
508*181254a7Smrg        * m4/matmul.m4: Add const and restrict to type declarations as
509*181254a7Smrg        appropriate.
510*181254a7Smrg        * m4/matmull.m4: Likewise.
511*181254a7Smrg        * Makefile.in: Regenerated.
512*181254a7Smrg        * generated/matmul_*.c: Likewise.
513*181254a7Smrg
514*181254a7Smrg2005-11-13  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
515*181254a7Smrg
516*181254a7Smrg	* intrinsics/fget.c: New file.
517*181254a7Smrg	* intrinsics/ftell.c: New file.
518*181254a7Smrg	* io/unix.c (stream_offset): New function.
519*181254a7Smrg	* io/io.h: Add prototype for stream_offset.
520*181254a7Smrg	* Makefile.am: Add intrinsics/fget.c and intrinsics/ftell.c.
521*181254a7Smrg	* Makefile.in: Regenerate.
522*181254a7Smrg
523*181254a7Smrg2005-11-12  Steven G. Kargl  <kargls@comcast.net>
524*181254a7Smrg
525*181254a7Smrg	PR libfortran/24787
526*181254a7Smrg	*  intrinsics/string_intrinsics.c (string_scan): Off by one; Fix typos
527*181254a7Smrg	in nearby comment.
528*181254a7Smrg
529*181254a7Smrg2005-11-10  Andreas Jaeger  <aj@suse.de>
530*181254a7Smrg
531*181254a7Smrg	* libgfortran.h: Add proper defines where needed.
532*181254a7Smrg
533*181254a7Smrg2005-11-10  Andreas Jaeger  <aj@suse.de>
534*181254a7Smrg
535*181254a7Smrg	* libgfortran.h: Add missing prototypes for internal_pack
536*181254a7Smrg	functions.
537*181254a7Smrg
538*181254a7Smrg2005-11-06  Janne Blomqvist <jb@gcc.gnu.org>
539*181254a7Smrg
540*181254a7Smrg	PR fortran/24174
541*181254a7Smrg	PR fortran/24305
542*181254a7Smrg	* io/io.h: Add argument to prototypes, add prototypes for
543*181254a7Smrg	size_from_*_kind functions.
544*181254a7Smrg	* io/list_read.c (read_complex): Add size argument, use
545*181254a7Smrg	it.
546*181254a7Smrg	(list_formatted_read): Add size argument, cleanup.
547*181254a7Smrg	(list_formatted_read_scalar): Add size argument.
548*181254a7Smrg	(nml_read_obj): Fix for padding.
549*181254a7Smrg	* io/transfer.c: Add argument to transfer function pointer.
550*181254a7Smrg	(unformatted_read): Add size argument.
551*181254a7Smrg	(unformatted_write): Likewise.
552*181254a7Smrg	(formatted_transfer_scalar): Fix for padding with complex(10).
553*181254a7Smrg	(formatted_transfer): Add size argument, cleanup.
554*181254a7Smrg	(transfer_integer): Add size argument to transfer call.
555*181254a7Smrg	(transfer_real): Likewise.
556*181254a7Smrg	(transfer_logical): Likewise.
557*181254a7Smrg	(transfer_character): Likewise.
558*181254a7Smrg	(transfer_complex): Likewise.
559*181254a7Smrg	(transfer_array): New kind argument, use it.
560*181254a7Smrg	(data_transfer_init): Add size argument to formatted_transfer
561*181254a7Smrg	call.
562*181254a7Smrg	(iolength_transfer): Add size argument, cleanup.
563*181254a7Smrg	* io/write.c (write_complex): Add size argument, fix for padding
564*181254a7Smrg	with complex(10).
565*181254a7Smrg	(list_formatted_write): Add size argument, cleanup.
566*181254a7Smrg	(list_formatted_write_scalar): Add size argument, use it.
567*181254a7Smrg	(nml_write_obj): Fix for size vs. kind issue.
568*181254a7Smrg	* io/size_from_kind.c: New file.
569*181254a7Smrg	* Makefile.am: Add io/size_from_kind.c.
570*181254a7Smrg	* configure: Regenerate.
571*181254a7Smrg	* Makefile.in: Regenerate.
572*181254a7Smrg
573*181254a7Smrg2005-11-06  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
574*181254a7Smrg
575*181254a7Smrg	* intrinsics/ctime.c: New file.
576*181254a7Smrg	* configure.ac: Add check for ctime.
577*181254a7Smrg	* Makefile.am: Add ctime.c
578*181254a7Smrg	* configure: Regenerate.
579*181254a7Smrg	* config.h.in: Regenerate.
580*181254a7Smrg	* Makefile.in: Regenerate.
581*181254a7Smrg
582*181254a7Smrg2005-11-05  Richard Guenther  <rguenther@suse.de>
583*181254a7Smrg
584*181254a7Smrg	* configure.ac: Use AM_FCFLAGS for extra flags, not FCFLAGS.
585*181254a7Smrg	* configure: Regenerate.
586*181254a7Smrg
587*181254a7Smrg2005-11-05  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
588*181254a7Smrg
589*181254a7Smrg	* intrinsics/tty.c (ttynam): New function.
590*181254a7Smrg
591*181254a7Smrg2005-11-04  Steven G. Kargl <kargls@comcast.net>
592*181254a7Smrg
593*181254a7Smrg	PR fortran/24636
594*181254a7Smrg	* runtime/stop.c (stop_numeric): Use stop_code = -1.
595*181254a7Smrg
596*181254a7Smrg2005-11-04  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
597*181254a7Smrg
598*181254a7Smrg	PR libfortran/22298
599*181254a7Smrg	* runtime/main.c (stupid_function_name_for_static_linking): New
600*181254a7Smrg	function.
601*181254a7Smrg	* runtime/error.c (internal_error): Call
602*181254a7Smrg	stupid_function_name_for_static_linking.
603*181254a7Smrg	* libgfortran.h: Add prototype for
604*181254a7Smrg	stupid_function_name_for_static_linking.
605*181254a7Smrg
606*181254a7Smrg2005-11-01  Paul Thomas  <pault@gcc.gnu.org>
607*181254a7Smrg
608*181254a7Smrg	PR fortran/14994
609*181254a7Smrg	* libgfortran/intrinsics/date_and_time.c: Add interface to
610*181254a7Smrg	the functions date_and_time for the intrinsic function secnds.
611*181254a7Smrg
612*181254a7Smrg2005-10-31  Jerry DeLisle  <jvdelisle@verizon.net>
613*181254a7Smrg
614*181254a7Smrg	PR libfortran/24584
615*181254a7Smrg	* io/list_read.c (free_saved): Set saved_used to zero.
616*181254a7Smrg
617*181254a7Smrg2005-10-30  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
618*181254a7Smrg
619*181254a7Smrg	PR libfortran/20179
620*181254a7Smrg	* io/unix.c (flush_if_preconnected): New function.
621*181254a7Smrg	* io/io.h: Add prototype for flush_if_preconnected.
622*181254a7Smrg	* io/transfer.c (data_transfer_init): Use flush_if_preconnected
623*181254a7Smrg	to workaround buggy mixed C-Fortran code.
624*181254a7Smrg
625*181254a7Smrg2005-10-30  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
626*181254a7Smrg
627*181254a7Smrg	* Makefile.am: Add intrinsics/malloc.c file.
628*181254a7Smrg	* Makefile.in: Regenerate.
629*181254a7Smrg	* intrinsics/malloc.c: New file, with implementations for free
630*181254a7Smrg	and malloc library functions.
631*181254a7Smrg
632*181254a7Smrg2005-10-29  Mike Stump  <mrs@apple.com>
633*181254a7Smrg
634*181254a7Smrg	* Makefile.am (kinds.h): Remove target, if command fails.
635*181254a7Smrg	(selected_int_kind.inc): Likewise.
636*181254a7Smrg	(selected_real_kind.inc): Likewise.
637*181254a7Smrg	* Makefile.in: Regenerate.
638*181254a7Smrg
639*181254a7Smrg2005-10-28  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
640*181254a7Smrg
641*181254a7Smrg
642*181254a7Smrg	* Makefile.am (intrinsics): Add signal.c.
643*181254a7Smrg	* Makefile.in: Regenerate.
644*181254a7Smrg	* configure.ac: Checks for signal and alarm.
645*181254a7Smrg	* config.h.in: Regenerate.
646*181254a7Smrg	* configure: Regenerate.
647*181254a7Smrg	* intrinsics/signal.c: New file for SIGNAL and ALARM intrinsics.
648*181254a7Smrg
649*181254a7Smrg2005-10-28  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
650*181254a7Smrg
651*181254a7Smrg	* acinclude.m4 (LIBGFOR_CHECK_FPSETMASK): New check.
652*181254a7Smrg	* configure.ac: Check for floatingpoint.h, fptrap.h and float.h
653*181254a7Smrg	headers. Use LIBGFOR_CHECK_FPSETMASK. Check for fp_trap and
654*181254a7Smrg	fp_enable functions.
655*181254a7Smrg	* configure.host: Add case for systems with fpsetmask and systems
656*181254a7Smrg	with fp_trap/fp_enable.
657*181254a7Smrg	* config/fpu-sysv.h: New file, FPU code using fpsetmask.
658*181254a7Smrg	* config/fpu-aix.h: New file, FPU code for AIX using fp_trap and
659*181254a7Smrg	fp_enable.
660*181254a7Smrg	* aclocal.m4: Regenerate.
661*181254a7Smrg	* configure: Regenerate.
662*181254a7Smrg	* config.h.in: Regenerate.
663*181254a7Smrg
664*181254a7Smrg2005-10-24  Jerry DeLisle  <jvdelisle@verizon.net>
665*181254a7Smrg
666*181254a7Smrg	PR libfortran/24224
667*181254a7Smrg	* libgfortran.h: Remove array stride error code.
668*181254a7Smrg	* runtime/error.c: Remove array stride error.
669*181254a7Smrg	* io/io.h: Change name of 'nml_loop_spec' to 'array_loop_spec' to be
670*181254a7Smrg	generic.  Add pointer to array_loop_spec and rank to gfc_unit
671*181254a7Smrg	structure.
672*181254a7Smrg	* io/list_read.c: Revise nml_loop_spec references to array_loop_spec.
673*181254a7Smrg	* io/transfer.c (init_loop_spec): New function to initialize
674*181254a7Smrg	an array_loop_spec.
675*181254a7Smrg	(next_array_record): New function to return the index to the next array
676*181254a7Smrg	record by incrementing through the array_loop_spec.
677*181254a7Smrg	(next_record_r): Use new function.
678*181254a7Smrg	(next_record_w): Use new function.
679*181254a7Smrg	(finalize_transfer): Free memory allocated for array_loop_spec.
680*181254a7Smrg	* io/unit.c (get_array_unit_len): Delete this function. Use new
681*181254a7Smrg	function init_loop_spec to initialize the array_loop_spec.
682*181254a7Smrg
683*181254a7Smrg2005-10-24  Paul Thomas  <pault@gcc.gnu.org>
684*181254a7Smrg
685*181254a7Smrg	PR fortran/24416
686*181254a7Smrg	* libgfortran/io/list_read.c (namelist_read): Exit with call to
687*181254a7Smrg	free_saved () so that character strings do not accumulate.
688*181254a7Smrg
689*181254a7Smrg2005-10-23  Jerry DeLisle  <jvdelisle@verizon.net>
690*181254a7Smrg
691*181254a7Smrg	PR libfortran/24489
692*181254a7Smrg	* io/transfer.c (read_block): Change the order of execution to not read
693*181254a7Smrg	past end-of-record.
694*181254a7Smrg	(read_block_direct): Same change.
695*181254a7Smrg
696*181254a7Smrg2005-10-23  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
697*181254a7Smrg
698*181254a7Smrg	PR libfortran/23272
699*181254a7Smrg	* acinclude.m4 (LIBGFOR_CHECK_WORKING_STAT): New check.
700*181254a7Smrg	* configure.ac: Use LIBGFOR_CHECK_WORKING_STAT.
701*181254a7Smrg	* Makefile.in: Regenerate.
702*181254a7Smrg	* configure: Regenerate.
703*181254a7Smrg	* config.h.in: Regenerate.
704*181254a7Smrg	* aclocal.m4: Regenerate.
705*181254a7Smrg	* io/unix.c (compare_file_filename): Add fallback case for
706*181254a7Smrg	systems without working stat.
707*181254a7Smrg	* io/open.c (already_open): Correct call to
708*181254a7Smrg	compare_file_filename.
709*181254a7Smrg	* io/io.h: Correct proto for compare_file_filename.
710*181254a7Smrg
711*181254a7Smrg2005-10-23  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
712*181254a7Smrg
713*181254a7Smrg	* runtime/fpu.c: Add _GNU_SOURCE definition.
714*181254a7Smrg	* config/fpu-glibc.h: Remove __USE_GNU definition.
715*181254a7Smrg
716*181254a7Smrg2005-10-23  Paul Thomas  <pault@gcc.gnu.org>
717*181254a7Smrg
718*181254a7Smrg	PR fortran/24384
719*181254a7Smrg	* intrinsics/spread_generic.c (spread_internal_scalar): New
720*181254a7Smrg	function that handles the special case of spread with a scalar
721*181254a7Smrg	source. This has new interface functions -
722*181254a7Smrg	(spread_scalar, spread_char_scalar): New functions to interface
723*181254a7Smrg	with the calls specified in gfc_resolve_spread.
724*181254a7Smrg
725*181254a7Smrg2005-10-21  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
726*181254a7Smrg
727*181254a7Smrg	PR libfortran/24383
728*181254a7Smrg	* io/unix.c: Add fallback definition for SSIZE_MAX.
729*181254a7Smrg
730*181254a7Smrg2005-10-19  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
731*181254a7Smrg
732*181254a7Smrg	* c99_protos.h: Define preprocessor HAVE_ macros with value 1
733*181254a7Smrg	instead of empty value.
734*181254a7Smrg	* intrinsics/c99_functions.c: Likewise.
735*181254a7Smrg	* intrinsics/getXid.c: Define HAVE_GETPID with value 1 instead of
736*181254a7Smrg	empty value.
737*181254a7Smrg	* intrinsics/sleep.c: Define HAVE_SLEEP with value 1 instead of
738*181254a7Smrg	empty value.
739*181254a7Smrg
740*181254a7Smrg2005-10-19  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
741*181254a7Smrg
742*181254a7Smrg	PR libfortran/24432
743*181254a7Smrg	* c99_protos.h: Define HAVE_ macros for all provided functions.
744*181254a7Smrg
745*181254a7Smrg2005-10-14  Uros Bizjak  <uros@kss-loka.si>
746*181254a7Smrg
747*181254a7Smrg	* config/fpu-387.h (set_fpu): Remove extra ":" in stmxcsr.
748*181254a7Smrg	Change cw and cw_sse variables to unsigned.
749*181254a7Smrg	(SSE): New definition.
750*181254a7Smrg	(has_sse): Use it.
751*181254a7Smrg
752*181254a7Smrg2005-10-13  Thomas Koenig  <Thomas.Koenig@online.de>
753*181254a7Smrg
754*181254a7Smrg	* io/unix.c(fd_alloc_r_at):  Use read() instead of do_read()
755*181254a7Smrg	only in case of special files (e.g. terminals).
756*181254a7Smrg
757*181254a7Smrg2005-10-13  Uros Bizjak  <uros@kss-loka.si>
758*181254a7Smrg
759*181254a7Smrg	* config/fpu-387.h (set_fpu): Add "=m" for stmxcsr.
760*181254a7Smrg
761*181254a7Smrg2005-10-12  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
762*181254a7Smrg
763*181254a7Smrg	* Makefile.am: Add fpu.c to the build process, and
764*181254a7Smrg	target-dependent code as fpu-target.h.
765*181254a7Smrg	* Makefile.in: Regenerate.
766*181254a7Smrg	* configure.ac: Add call to configure.host to set
767*181254a7Smrg	FPU_HOST_HEADER.
768*181254a7Smrg	* configure: Regenerate.
769*181254a7Smrg	* configure.host: New script to determine which host-dependent
770*181254a7Smrg	code should go in.
771*181254a7Smrg	* libgfortran.h: Add fpe option, remove previous fpu_ options.
772*181254a7Smrg	Add bitmasks for different FPE traps. Add prototype for set_fpu.
773*181254a7Smrg	* runtime/environ.c: Remove environment variables to control
774*181254a7Smrg	fpu behaviour.
775*181254a7Smrg	* runtime/fpu.c (set_fpe): New function for the front-end.
776*181254a7Smrg	* runtime/main.c (init): Set FPU state.
777*181254a7Smrg	* config: New directory to store host-dependent code.
778*181254a7Smrg	* config/fpu-387.h: New file with code handling the i387 FPU.
779*181254a7Smrg	* config/fpu-glibc.h: New file with code for glibc systems.
780*181254a7Smrg	* config/fpu-generic.h: Fallback for the most generic host. Issue
781*181254a7Smrg	warnings.
782*181254a7Smrg
783*181254a7Smrg2005-10-12  Janne Blomqvist <jblomqvi@cc.hut.fi>
784*181254a7Smrg
785*181254a7Smrg	* io/unix.c(fd_alloc_r_at): Remove parts of patch of 2005/10/07 that
786*181254a7Smrg	cause input from the terminal to hang.
787*181254a7Smrg
788*181254a7Smrg2005-10-11  Steven G. Kargl  <kargls@comcast.net>
789*181254a7Smrg
790*181254a7Smrg	PR libfortran/24313
791*181254a7Smrg	*  c99_functions.c (csqrtf, csqrt): Fix choice of branch cut.  Note
792*181254a7Smrg	csqrt{f} were imported from glibc, and this bug is still present
793*181254a7Smrg	there. glibc PR is 1146.
794*181254a7Smrg
795*181254a7Smrg2005-10-07  Janne Blomqvist <jblomqvi@cc.hut.fi>
796*181254a7Smrg
797*181254a7Smrg	PR fortran/16339
798*181254a7Smrg	PR fortran/23363
799*181254a7Smrg	* io/io.h: Add read and write members to stream, define access
800*181254a7Smrg	macros.
801*181254a7Smrg	* io/transfer.c (read_block_direct): New function.
802*181254a7Smrg	(write_block_direct): New function.
803*181254a7Smrg	(unformatted_read): Change to use read_block_direct.
804*181254a7Smrg	(unformatted_write): Change to use write_block_direct.
805*181254a7Smrg	* io/unix.c: Remove mmap includes and defines.
806*181254a7Smrg	(writen): Remove.
807*181254a7Smrg	(readn): Remove.
808*181254a7Smrg	(reset_stream): New function.
809*181254a7Smrg	(do_read): New function.
810*181254a7Smrg	(do_write): New function.
811*181254a7Smrg	(fd_flush): Change to use do_write() instead of writen().
812*181254a7Smrg	(fd_alloc_r_at): Change to use do_read().
813*181254a7Smrg	(fd_seek): Change return type to try, as the prototype. Add check
814*181254a7Smrg	to avoid syscall overhead if possible.
815*181254a7Smrg	(fd_read): New function.
816*181254a7Smrg	(fd_write): New function.
817*181254a7Smrg	(fd_open): Set pointers for new functions.
818*181254a7Smrg	(mem_read): New function.
819*181254a7Smrg	(mem_write): New function.
820*181254a7Smrg	(open_internal): Set pointers for new functions.
821*181254a7Smrg	(is_seekable): Clean up comment.
822*181254a7Smrg
823*181254a7Smrg2005-10-07  Jerry DeLisle  <jvdelisle@verizon.net>
824*181254a7Smrg
825*181254a7Smrg        * io/transfer.c (write_block): Add test for end-of-file condition,
826*181254a7Smrg        removed from mem_alloc_w_at. (next_record_w): Clean up checks for
827*181254a7Smrg        NULL pointer returns from s_alloc_w.
828*181254a7Smrg        * io/unix.c (mem_alloc_w_at): Remove call to generate_error end-of-file.
829*181254a7Smrg        * io/write.c (write_float): Add checks for NULL pointer returns from
830*181254a7Smrg        write_block calls. (write_integer): Same.
831*181254a7Smrg
832*181254a7Smrg2005-10-03  Jakub Jelinek  <jakub@redhat.com>
833*181254a7Smrg
834*181254a7Smrg	* runtime/memory.c (allocate_size): Malloc 1 byte if size == 0.
835*181254a7Smrg
836*181254a7Smrg2005-10-03  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
837*181254a7Smrg
838*181254a7Smrg	PR libfortran/19308
839*181254a7Smrg	PR libfortran/22437
840*181254a7Smrg	* Makefile.am: Add generated files for large real and integers
841*181254a7Smrg	kinds. Add a rule to create the kinds.inc c99_protos.inc files.
842*181254a7Smrg	Use kinds.inc to preprocess Fortran generated files.
843*181254a7Smrg	* libgfortran.h: Add macro definitions for GFC_INTEGER_16_HUGE,
844*181254a7Smrg	GFC_REAL_10_HUGE and GFC_REAL_16_HUGE. Add types gfc_array_i16,
845*181254a7Smrg	gfc_array_r10, gfc_array_r16, gfc_array_c10, gfc_array_c16,
846*181254a7Smrg	gfc_array_l16.
847*181254a7Smrg	* mk-kinds-h.sh: Define macros HAVE_GFC_LOGICAL_* and
848*181254a7Smrg	HAVE_GFC_COMPLEX_* when these types are available.
849*181254a7Smrg	* intrinsics/ishftc.c (ishftc16): New function for GFC_INTEGER_16.
850*181254a7Smrg	* m4/all.m4, m4/any.m4, m4/count.m4, m4/cshift1.m4, m4/dotprod.m4,
851*181254a7Smrg	m4/dotprodc.m4, m4/dotprodl.m4, m4/eoshift1.m4, m4/eoshift3.m4,
852*181254a7Smrg	m4/exponent.m4, m4/fraction.m4, m4/in_pack.m4, m4/in_unpack.m4,
853*181254a7Smrg	m4/matmul.m4, m4/matmull.m4, m4/maxloc0.m4, m4/maxloc1.m4,
854*181254a7Smrg	m4/maxval.m4, m4/minloc0.m4, m4/minloc1.m4, m4/minval.m4, m4/mtype.m4,
855*181254a7Smrg	m4/nearest.m4, m4/pow.m4, m4/product.m4, m4/reshape.m4,
856*181254a7Smrg	m4/set_exponent.m4, m4/shape.m4, m4/specific.m4, m4/specific2.m4,
857*181254a7Smrg	m4/sum.m4, m4/transpose.m4: Protect generated functions with
858*181254a7Smrg	appropriate "#if defined (HAVE_GFC_type_kind)" preprocessor directives.
859*181254a7Smrg	* Makefile.in: Regenerate.
860*181254a7Smrg	* all files in generated/: Regenerate.
861*181254a7Smrg
862*181254a7Smrg2005-10-01  Jakub Jelinek  <jakub@redhat.com>
863*181254a7Smrg
864*181254a7Smrg	* runtime/memory.c (malloc_t): Remove.
865*181254a7Smrg	(GFC_MALLOC_MAGIC, HEADER_SIZE, DATA_POINTER, DATA_HEADER): Remove.
866*181254a7Smrg	(mem_root, runtime_cleanup, malloc_with_header): Remove.
867*181254a7Smrg	(internal_malloc_size): Use just get_mem if size != 0, return NULL
868*181254a7Smrg	otherwise.
869*181254a7Smrg	(internal_free): Just free if non-NULL.
870*181254a7Smrg	(internal_realloc_size): Remove debugging stuff.
871*181254a7Smrg	(allocate_size): Use malloc directly, remove debugging stuff.
872*181254a7Smrg	(deallocate): Use free directly, fix error message wording.
873*181254a7Smrg
874*181254a7Smrg	* libgfortran.h (GFC_ITOA_BUF_SIZE, GFC_XTOA_BUF_SIZE,
875*181254a7Smrg	GFC_OTOA_BUF_SIZE, GFC_BTOA_BUF_SIZE): Define.
876*181254a7Smrg	(gfc_itoa, xtoa): Add 2 extra arguments.
877*181254a7Smrg	* runtime/environ.c: Include stdio.h.
878*181254a7Smrg	(check_buffered): Use sprintf.
879*181254a7Smrg	* runtime/error.c: Include assert.h.
880*181254a7Smrg	(gfc_itoa, xtoa): Add 2 extra arguments, avoid using static
881*181254a7Smrg	buffers.
882*181254a7Smrg	(st_printf, st_sprintf): Adjust callers.
883*181254a7Smrg	* io/write.c (otoa, btoa): Add 2 extra arguments, avoid using
884*181254a7Smrg	static buffers.
885*181254a7Smrg	(write_int, write_decimal): Add 2 extra arguments to conv
886*181254a7Smrg	function pointer, adjust caller.
887*181254a7Smrg	(write_integer): Adjust gfc_itoa caller.
888*181254a7Smrg
889*181254a7Smrg	* io/unit.c (get_array_unit_len): Return 0 rather than NULL.
890*181254a7Smrg
891*181254a7Smrg	* io/read.c (read_f): Remove spurious pointer dereference.
892*181254a7Smrg
893*181254a7Smrg2005-09-30  Janne Blomqvist <jblomqvi@cc.hut.fi>
894*181254a7Smrg
895*181254a7Smrg	PR 24112
896*181254a7Smrg	* io/open.c (edit_modes): Check for correct flag.
897*181254a7Smrg
898*181254a7Smrg2005-09-29  Jakub Jelinek  <jakub@redhat.com>
899*181254a7Smrg
900*181254a7Smrg	* runtime/string.c (find_option): Change 3rd argument to
901*181254a7Smrg	const st_option *.
902*181254a7Smrg	* libgfortran.h (find_option): Likewise.
903*181254a7Smrg	* runtime/environ.c (rounding, precision, signal_choices): Constify.
904*181254a7Smrg	(init_choice, show_choice): Change 2nd argument to const choice *.
905*181254a7Smrg	* io/open.c (access_opt, action_opt, blank_opt, delim_opt, form_opt,
906*181254a7Smrg	position_opt, status_opt, pad_opt): Constify.
907*181254a7Smrg	* io/transfer.c (advance_opt): Likewise.
908*181254a7Smrg	* io/inquire.c (undefined): Likewise.
909*181254a7Smrg	* io/close.c (status_opt): Likewise.
910*181254a7Smrg	* io/format.c (posint_required, period_required, nonneg_required,
911*181254a7Smrg	unexpected_element, unexpected_end, bad_string, bad_hollerith,
912*181254a7Smrg	reversion_error): Likewise.
913*181254a7Smrg	* io/unix.c (yes, no, unknown): Change from const char *
914*181254a7Smrg	into const char [].
915*181254a7Smrg
916*181254a7Smrg2005-09-27  Steve Ellcey  <sje@cup.hp.com>
917*181254a7Smrg
918*181254a7Smrg	PR target/23552
919*181254a7Smrg	* acinclude.m4 (LIBGFOR_CHECK_FOR_BROKEN_ISFINITE): New.
920*181254a7Smrg	(LIBGFOR_CHECK_FOR_BROKEN_ISNAN): New.
921*181254a7Smrg	(LIBGFOR_CHECK_FOR_BROKEN_FPCLASSIFY): New.
922*181254a7Smrg	* configure.ac (LIBGFOR_CHECK_FOR_BROKEN_ISFINITE): Add use.
923*181254a7Smrg	(LIBGFOR_CHECK_FOR_BROKEN_ISNAN): Add use.
924*181254a7Smrg	(LIBGFOR_CHECK_FOR_BROKEN_FPCLASSIFY): Add use.
925*181254a7Smrg	* configure: Regenerate.
926*181254a7Smrg	* config.h.in: Regenerate.
927*181254a7Smrg	* libgfortan.h (isfinite): undef if broken, set if needed.
928*181254a7Smrg	(isnan): undef if broken, set if needed.
929*181254a7Smrg	(fpclassify): undef if broken, set if needed.
930*181254a7Smrg	* io/write.c: Remove TODO comment about working isfinite.
931*181254a7Smrg	* intrinsics/c99_functions.c (round): Use isfinite instead
932*181254a7Smrg	of fpclassify.
933*181254a7Smrg	* intrinsics/c99_functions.c (roundf): Ditto.
934*181254a7Smrg
935*181254a7Smrg2005-09-24  Janne Blomqvist <jblomqvi@cc.hut.fi>
936*181254a7Smrg
937*181254a7Smrg	* io.h: Changed prototypes of list_formatted_{read|write}.
938*181254a7Smrg	* list_read.c (list_formatted_read): Renamed to
939*181254a7Smrg	list_formatted_read_scalar and made static.
940*181254a7Smrg	(list_formatted_read): New function.
941*181254a7Smrg	* transfer.c: Prototype for transfer_array. Changed transfer
942*181254a7Smrg	function pointer.
943*181254a7Smrg	(unformatted_read): Add nelems argument, use it.
944*181254a7Smrg	(unformatted_write): Likewise.
945*181254a7Smrg	(formatted_transfer): Changed name to formatted_transfer_scalar.
946*181254a7Smrg	(formatted_transfer): New function.
947*181254a7Smrg	(transfer_integer): Add nelems argument to transfer call, move
948*181254a7Smrg	updating item count to transfer functions.
949*181254a7Smrg	(transfer_real): Likewise.
950*181254a7Smrg	(transfer_logical): Likewise.
951*181254a7Smrg	(transfer_character): Likewise.
952*181254a7Smrg	(transfer_complex): Likewise.
953*181254a7Smrg	(transfer_array): New function.
954*181254a7Smrg	(data_transfer_init): Call formatted_transfer with new argument.
955*181254a7Smrg	(iolength_transfer): New argument, use it.
956*181254a7Smrg	* write.c (list_formatted_write): Renamed to
957*181254a7Smrg	list_formatted_write_scalar, made static.
958*181254a7Smrg	(list_formatted_write): New function.
959*181254a7Smrg
960*181254a7Smrg2005-09-26  David Edelsohn  <edelsohn@gnu.org>
961*181254a7Smrg
962*181254a7Smrg	* configure.ac: Add check for __clog.
963*181254a7Smrg	* configure: Regenerate.
964*181254a7Smrg
965*181254a7Smrg2005-09-25  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
966*181254a7Smrg
967*181254a7Smrg	* c99_protos.h: Add prototypes for C99 complex functions.
968*181254a7Smrg	* libgfortran.h: Include complex.h before c99_protos.h.
969*181254a7Smrg	* intrinsics/c99_functions.c: Define HAVE_ macros for the
970*181254a7Smrg	fallback functions we provide.
971*181254a7Smrg	(cabsf, cabs, cabsl, cargf, carg, cargl, cexpf, cexp, cexpl,
972*181254a7Smrg	clogf, clog, clogl, clog10f, clog10, clog10l, cpowf, cpow, cpowl,
973*181254a7Smrg	cqsrtf, csqrt, csqrtl, csinhf, csinh, csinhl, ccoshf, ccosh,
974*181254a7Smrg	ccoshl, ctanhf, ctanh, ctanhl, csinf, csin, csinl, ccosf, ccos,
975*181254a7Smrg	ccosl, ctanf, ctan, ctanl): New fallback functions.
976*181254a7Smrg	* Makefile.am (gfor_math_trig_c, gfor_math_trig_obj,
977*181254a7Smrg	gfor_specific_c, gfor_cmath_src, gfor_cmath_obj): Remove.
978*181254a7Smrg	* Makefile.in: Regenerate.
979*181254a7Smrg	* configure.ac: Remove checks for csin. Add checks for all C99
980*181254a7Smrg	complex functions.
981*181254a7Smrg	* config.h.in: Regenerate.
982*181254a7Smrg	* configure: Regenerate.
983*181254a7Smrg	* aclocal.m4: Regenerate.
984*181254a7Smrg
985*181254a7Smrg2005-09-25  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
986*181254a7Smrg	    Danny Smith  <dannysmith@users.sourceforge.net>
987*181254a7Smrg
988*181254a7Smrg	PR libfortran/23803
989*181254a7Smrg	* intrinsics/getXid.c: Add getpid wrapper for MinGW.
990*181254a7Smrg	* intrinsics/getlog.c: Add getlogin wrapper for MinGW.
991*181254a7Smrg	* intrinsics/hostnm.c: Add gethostname wrapper for MinGW.
992*181254a7Smrg
993*181254a7Smrg2005-09-24  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
994*181254a7Smrg
995*181254a7Smrg	PR libfortran/23802
996*181254a7Smrg	* intrinsics/sleep.c: Add correct sleep macro for MinGW.
997*181254a7Smrg
998*181254a7Smrg2005-09-24  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
999*181254a7Smrg
1000*181254a7Smrg	PR libfortran/23380
1001*181254a7Smrg	* intrinsics/cpu_time.c (__cpu_time_1): Provide a MS Windows
1002*181254a7Smrg	version.
1003*181254a7Smrg
1004*181254a7Smrg2005-09-14  Jerry DeLisle  <jvdelisle@verizon.net
1005*181254a7Smrg
1006*181254a7Smrg	PR fortran/21875 Internal Unit Array I/O, NIST
1007*181254a7Smrg	* libgfortran.h: Add run time error code for array stride.
1008*181254a7Smrg	* runtime/error.c (translate_error): Add error message for
1009*181254a7Smrg	array stride.
1010*181254a7Smrg	* io/io.h: Add array descriptor pointer to IOPARM structure.
1011*181254a7Smrg	Add prtotypes for two new functions.
1012*181254a7Smrg	* io/transfer.c (data_transfer_init): Removed initialization and
1013*181254a7Smrg	moved to unit.c (get_unit)
1014*181254a7Smrg	* io/transfer.c (next_record_r): Include internal unit read
1015*181254a7Smrg	functionality.
1016*181254a7Smrg	* io/transfer.c (next_record_w): Include internal unit write
1017*181254a7Smrg	functionality, including padding of character array records.
1018*181254a7Smrg	* io/unit.c (get_array_unit_len): New function to return the number
1019*181254a7Smrg	of records in the character array 'file' from the array descriptor.
1020*181254a7Smrg	* io/unit.c (get_unit): Gathered initialization code from
1021*181254a7Smrg	init_data_transfer for internal units and added initialization of
1022*181254a7Smrg	character array unit.
1023*181254a7Smrg	* io/unit.c (is_array_io): New function to determine if internal unit
1024*181254a7Smrg	is an array.
1025*181254a7Smrg	* io/unix.c (mem_alloc_w_at): Add error checks for bad record length
1026*181254a7Smrg	and end of file.
1027*181254a7Smrg
1028*181254a7Smrg2005-09-13  Richard Sandiford  <richard@codesourcery.com>
1029*181254a7Smrg
1030*181254a7Smrg	PR target/19269
1031*181254a7Smrg	* intrinsics/cshift0.c (cshift0): Add an extra size argument.
1032*181254a7Smrg	(cshift0_1, cshift0_2, cshift0_4, cshift0_8): Replace explicit
1033*181254a7Smrg	implementations with...
1034*181254a7Smrg	(DEFINE_CSHIFT): ...this new macro.  Define character versions too.
1035*181254a7Smrg	* intrinsics/eoshift0.c (zeros): Delete.
1036*181254a7Smrg	(eoshift0): Add extra size and filler arguments.  Use memset if no
1037*181254a7Smrg	bound is provided.
1038*181254a7Smrg	(eoshift0_1, eoshift0_2, eoshift0_4, eoshift0_8): Replace explicit
1039*181254a7Smrg	implementations with...
1040*181254a7Smrg	(DEFINE_EOSHIFT): ...this new macro.  Define character versions too.
1041*181254a7Smrg	* intrinsics/eoshift2.c (zeros): Delete.
1042*181254a7Smrg	(eoshift2): Add extra size and filler arguments.  Use memset if no
1043*181254a7Smrg	bound is provided.
1044*181254a7Smrg	(eoshift2_1, eoshift2_2, eoshift2_4, eoshift2_8): Replace explicit
1045*181254a7Smrg	implementations with...
1046*181254a7Smrg	(DEFINE_EOSHIFT): ...this new macro.  Define character versions too.
1047*181254a7Smrg	* intrinsics/pack.c (pack_internal): New static function, reusing
1048*181254a7Smrg	the contents of pack and adding an extra size argument.  Change
1049*181254a7Smrg	"mptr" rather than "m" when calculating the array size.
1050*181254a7Smrg	(pack): Redefine as a forwarder to pack_internal.
1051*181254a7Smrg	(pack_s_internal): New static function, reusing the contents of
1052*181254a7Smrg	pack_s and adding an extra size argument.
1053*181254a7Smrg	(pack_s): Redefine as a forwarder to pack_s_internal.
1054*181254a7Smrg	(pack_char, pack_s_char): New functions.
1055*181254a7Smrg	* intrinsics/reshape.c (reshape_internal): New static function,
1056*181254a7Smrg	reusing the contents of reshape and adding an extra size argument.
1057*181254a7Smrg	(reshape): Redefine as a forwarder to reshape_internal.
1058*181254a7Smrg	(reshape_char): New function.
1059*181254a7Smrg	* intrinsics/spread.c (spread_internal): New static function,
1060*181254a7Smrg	reusing the contents of spread and adding an extra size argument.
1061*181254a7Smrg	(spread): Redefine as a forwarder to spread_internal.
1062*181254a7Smrg	(spread_char): New function.
1063*181254a7Smrg	* intrinsics/transpose.c (transpose_internal): New static function,
1064*181254a7Smrg	reusing the contents of transpose and adding an extra size argument.
1065*181254a7Smrg	(transpose): Redefine as a forwarder to transpose_internal.
1066*181254a7Smrg	(transpose_char): New function.
1067*181254a7Smrg	* intrinsics/unpack.c (unpack_internal): New static function, reusing
1068*181254a7Smrg	the contents of unpack1 and adding extra size and fsize arguments.
1069*181254a7Smrg	(unpack1): Redefine as a forwarder to unpack_internal.
1070*181254a7Smrg	(unpack0): Call unpack_internal instead of unpack1.
1071*181254a7Smrg	(unpack1_char, unpack0_char): New functions.
1072*181254a7Smrg	* m4/cshift1.m4 (cshift1): New static function, reusing the contents
1073*181254a7Smrg	of cshift1_<kind> and adding an extra size argument.
1074*181254a7Smrg	(cshift1_<kind>): Redefine as a forwarder to cshift1.
1075*181254a7Smrg	(cshift1_<kind>_char): New function.
1076*181254a7Smrg	* m4/eoshift1.m4 (zeros): Delete.
1077*181254a7Smrg	(eoshift1): New static function, reusing the contents of
1078*181254a7Smrg	eoshift1_<kind> and adding extra size and filler arguments.
1079*181254a7Smrg	Fix calculation of hstride.  Use memset if no bound is provided.
1080*181254a7Smrg	(eoshift1_<kind>): Redefine as a forwarder to eoshift1.
1081*181254a7Smrg	(eoshift1_<kind>_char): New function.
1082*181254a7Smrg	* m4/eoshift3.m4 (zeros): Delete.
1083*181254a7Smrg	(eoshift3): New static function, reusing the contents of
1084*181254a7Smrg	eoshift3_<kind> and adding extra size and filler arguments.
1085*181254a7Smrg	Use memset if no bound is provided.
1086*181254a7Smrg	(eoshift3_<kind>): Redefine as a forwarder to eoshift3.
1087*181254a7Smrg	(eoshift3_<kind>_char): New function.
1088*181254a7Smrg	* generated/cshift1_4.c, generated/cshift1_8.c,
1089*181254a7Smrg	* generated/eoshift1_4.c, generated/eoshift1_8.c,
1090*181254a7Smrg	* generated/eoshift3_4.c, generated/eoshift3_8.c: Regenerate.
1091*181254a7Smrg
1092*181254a7Smrg2005-09-11  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
1093*181254a7Smrg
1094*181254a7Smrg	PR libfortran/20179
1095*181254a7Smrg	* io/unix.c (is_preconnected): Add function to test if a stream
1096*181254a7Smrg	corresponds to a preconnected unit.
1097*181254a7Smrg	* io/io.h: Add prototype for is_preconnected.
1098*181254a7Smrg	* io/transfer.c (data_transfer_init): Do not truncate
1099*181254a7Smrg	preconnected units.
1100*181254a7Smrg
1101*181254a7Smrg2005-09-10  Janne Blomqvist  <jblomqvi@cc.hut.fi>
1102*181254a7Smrg
1103*181254a7Smrg	* io/unix.c: Remove mmap code.
1104*181254a7Smrg
1105*181254a7Smrg2005-09-09  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
1106*181254a7Smrg
1107*181254a7Smrg	PR libfortran/23784
1108*181254a7Smrg	* io/close.c (st_close): Call library_end even in case of error.
1109*181254a7Smrg
1110*181254a7Smrg2005-09-09  Thomas Koenig  <Thomas.Koenig@online.de>
1111*181254a7Smrg
1112*181254a7Smrg	* io/io.h:  Add iomsg as last field of st_parameter.
1113*181254a7Smrg	* runtime/error.c (generate_error):  If iomsg is present, copy
1114*181254a7Smrg	the message there.
1115*181254a7Smrg
1116*181254a7Smrg2005-09-09  Richard Sandiford  <richard@codesourcery.com>
1117*181254a7Smrg
1118*181254a7Smrg	PR fortran/12840
1119*181254a7Smrg	* runtime/memory.c (internal_malloc_size): Return a null pointer
1120*181254a7Smrg	if the size is zero.
1121*181254a7Smrg	(internal_free): Do nothing if the pointer is null.
1122*181254a7Smrg	(internal_realloc_size, internal_realloc, internal_realloc64): New.
1123*181254a7Smrg
1124*181254a7Smrg2005-09-07  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
1125*181254a7Smrg
1126*181254a7Smrg	PR libfortran/23262
1127*181254a7Smrg	* acinclude.m4 (LIBGFOR_CHECK_CRLF): New check.
1128*181254a7Smrg	* configure.ac: Use new check.
1129*181254a7Smrg	* configure.in: Regenerate.
1130*181254a7Smrg	* config.h.in: Regenerate.
1131*181254a7Smrg	* configure: Regenerate.
1132*181254a7Smrg	* io/transfer.c (next_record_w): Add case for CRLF as line
1133*181254a7Smrg	terminator.
1134*181254a7Smrg	* io/unix.c (tempfile, regular_file): Open files with
1135*181254a7Smrg	O_BINARY on systems with CRLF.
1136*181254a7Smrg
1137*181254a7Smrg2005-09-07  Steve Ellcey  <sje@cup.hp.com>
1138*181254a7Smrg
1139*181254a7Smrg	PR libfortran/23419
1140*181254a7Smrg	* io/write.c (extract_int): Use memcpy to access buffer.
1141*181254a7Smrg	(extract_uint): Ditto.
1142*181254a7Smrg	(extract_real): Ditto.
1143*181254a7Smrg
1144*181254a7Smrg2005-09-05  Thomas Koenig  <Thomas.Koenig@online.de>
1145*181254a7Smrg
1146*181254a7Smrg	* io/list_read.c:  Adjust size of of value to 32 (to hold
1147*181254a7Smrg	kind=16 complex values).
1148*181254a7Smrg
1149*181254a7Smrg2005-09-04  Thomas Koenig  <Thomas.Koenig@online.de>
1150*181254a7Smrg
1151*181254a7Smrg	PR libfortran/23321
1152*181254a7Smrg	* io/transfer.c(data_transfer_init):  Check for a too-large
1153*181254a7Smrg	record number.  Return if sseek failed.
1154*181254a7Smrg
1155*181254a7Smrg2005-09-03  Jakub Jelinek  <jakub@redhat.com>
1156*181254a7Smrg
1157*181254a7Smrg	* io/read.c (read_x): Take int argument instead of fnode * and
1158*181254a7Smrg	digging the N from F->u.n.
1159*181254a7Smrg	* io/io.h (read_x): Adjust prototype.
1160*181254a7Smrg	* io/transfer.c (formatted_transfer): Adjust callers.  Don't clobber
1161*181254a7Smrg	f->u.n for FMT_T.
1162*181254a7Smrg
1163*181254a7Smrg2005-09-02  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
1164*181254a7Smrg
1165*181254a7Smrg	* io/unix.c (stream_ttyname): Protect use of ttyname by
1166*181254a7Smrg	HAVE_TTYNAME macro.
1167*181254a7Smrg	* configure.ac: Add check for ttyname.
1168*181254a7Smrg	* config.h.in: Regenerate.
1169*181254a7Smrg	* configure: Regenerate.
1170*181254a7Smrg
1171*181254a7Smrg2005-09-02  Andreas Jaeger  <aj@suse.de>
1172*181254a7Smrg
1173*181254a7Smrg	* libgfortran.h: Add prototype for init_compile_options.
1174*181254a7Smrg
1175*181254a7Smrg	* io/io.h: Add prototype for notify_std.
1176*181254a7Smrg
1177*181254a7Smrg2005-08-31  Steve Ellcey  <sje@cup.hp.com>
1178*181254a7Smrg
1179*181254a7Smrg	* io/read.c (set_integer): Use memcpy to fill buffer.
1180*181254a7Smrg
1181*181254a7Smrg2005-08-31  Steve Ellcey  <sje@cup.hp.com>
1182*181254a7Smrg
1183*181254a7Smrg	PR target/23556
1184*181254a7Smrg	* io/read.c (convert_real): Use memcpy to fill buffer.
1185*181254a7Smrg
1186*181254a7Smrg2005-08-29  Thomas Koenig  <Thomas.Koenig@online.de>
1187*181254a7Smrg
1188*181254a7Smrg	PR libfortran/23598
1189*181254a7Smrg	* io/lock.c(library_start):  If ioparm.iostat is present, clear
1190*181254a7Smrg	it unconditionally.
1191*181254a7Smrg
1192*181254a7Smrg2005-08-27  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
1193*181254a7Smrg
1194*181254a7Smrg	* acinclude.m4 (LIBGFOR_CHECK_UNLINK_OPEN_FILE): Add check to see
1195*181254a7Smrg	if target can unlink open files.
1196*181254a7Smrg	* configure.ac: Use this new test.
1197*181254a7Smrg	* config.h.in: Regenerate.
1198*181254a7Smrg	* configure: Regenerate.
1199*181254a7Smrg	* Makefile.in: Regenerate.
1200*181254a7Smrg	* aclocal.ac: Regenerate.
1201*181254a7Smrg	* io/io.h: Add prototype for unpack_filename.
1202*181254a7Smrg	* io/close.c (st_close): Delete file after closing unit if
1203*181254a7Smrg	HAVE_UNLINK_OPEN_FILE is not defined.
1204*181254a7Smrg	* io/unix.c (unpack_filename): Unlink scratch file after opening
1205*181254a7Smrg	it only if HAVE_UNLINK_OPEN_FILE is defined.
1206*181254a7Smrg
1207*181254a7Smrg2005-08-17  Kelley Cook  <kcook@gcc.gnu.org>
1208*181254a7Smrg
1209*181254a7Smrg	* All files: Update FSF address.
1210*181254a7Smrg
1211*181254a7Smrg2005-08-16  Thomas Koenig  <Thomas.Koenig@online.de>
1212*181254a7Smrg
1213*181254a7Smrg	PR libfortran/23428
1214*181254a7Smrg	* io/transfer.c (iolength_transfer):  Remove __attribute__ ((unused))
1215*181254a7Smrg	from type.  Return correct length for inquire(iolength=)
1216*181254a7Smrg	for complex variables.
1217*181254a7Smrg
1218*181254a7Smrg2005-08-11  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
1219*181254a7Smrg	    Steven Bosscher  <stevenb@suse.de>
1220*181254a7Smrg
1221*181254a7Smrg	PR libfortran/20006
1222*181254a7Smrg	* Makefile.am: Add file runtime/compile_options.c.
1223*181254a7Smrg	* Makefile.in: Regenerate.
1224*181254a7Smrg	* libgfortran.h: Create structure compile_options_t. Define the
1225*181254a7Smrg	compile_options variable and GFC_STD_ macros.
1226*181254a7Smrg	* runtime/compile_options.c: New file.
1227*181254a7Smrg	* runtime/error.c (notify_std): New function.
1228*181254a7Smrg	* runtime/main.c (init): Call init_compile_options during
1229*181254a7Smrg	initialization.
1230*181254a7Smrg	* io/format.c: Use the new notify_std function for the $
1231*181254a7Smrg	descriptor extension.
1232*181254a7Smrg
1233*181254a7Smrg2005-08-09  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
1234*181254a7Smrg	* Makefile.am: Add file intrinsics/tty.c to Makefile process.
1235*181254a7Smrg	* Makefile.in: Regenerate.
1236*181254a7Smrg	* io/io.h: Prototypes for new functions stream_isatty and
1237*181254a7Smrg	stream_ttyname.
1238*181254a7Smrg	* io/unix (stream_isatty, stream_ttyname): New functions to call
1239*181254a7Smrg	isatty() and ttyname() on a given unit.
1240*181254a7Smrg	* intrinsics/tty.c: New file to implement g77 intrinsics TTYNAM
1241*181254a7Smrg	and ISATTY.
1242*181254a7Smrg
1243*181254a7Smrg2005-08-08  Jerry DeLisle  <jvdelisle@verizon.net>
1244*181254a7Smrg
1245*181254a7Smrg	PR libfortran/23154
1246*181254a7Smrg	* io/transfer.c (data_transfer_init): Initialize
1247*181254a7Smrg	current_unit->bytes_left for a read.
1248*181254a7Smrg
1249*181254a7Smrg2005-08-07  Janne Blomqvist  <jblomqvi@cc.hut.fi>
1250*181254a7Smrg
1251*181254a7Smrg	PR fortran/22390
1252*181254a7Smrg	* io/backspace.c: File removed, contents moved to ...
1253*181254a7Smrg	* io/endfile.c: Ditto.
1254*181254a7Smrg	* io/rewind.c: Ditto.
1255*181254a7Smrg	* io/file_pos.c: New file, ... here.
1256*181254a7Smrg	* Makefile.am: Add file_pos.c to list, remove obsolete files.
1257*181254a7Smrg	* Makefile.in: Regenerated.
1258*181254a7Smrg
1259*181254a7Smrg2005-08-07  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
1260*181254a7Smrg
1261*181254a7Smrg	* io/io.h: Change DEFAULT_TEMPDIR to /tmp instead of /var/tmp.
1262*181254a7Smrg	* io/unix.c (tempfile): Look at the TEMP environment variable
1263*181254a7Smrg	to find the temporary files directory. Whitespace correction.
1264*181254a7Smrg
1265*181254a7Smrg2005-08-06  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
1266*181254a7Smrg
1267*181254a7Smrg	* io/unix.c: Add O_RDWR to open() call.
1268*181254a7Smrg
1269*181254a7Smrg2005-08-04 Paul Thomas  <pault@gcc.gnu.org>
1270*181254a7Smrg
1271*181254a7Smrg	* transfer.c (data_transfer_init): Truncate file in
1272*181254a7Smrg	sequential WRITE when last_record == 0, rather than
1273*181254a7Smrg	current_record.  Cures problem on RH9.
1274*181254a7Smrg
1275*181254a7Smrg2005-08-03  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
1276*181254a7Smrg
1277*181254a7Smrg	* libgfortran.h: When isfinite is not provided by the system,
1278*181254a7Smrg	define it as a macro, so that it can accept any floating point
1279*181254a7Smrg	type.
1280*181254a7Smrg
1281*181254a7Smrg2005-08-01  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
1282*181254a7Smrg
1283*181254a7Smrg	PR libfortran/23178
1284*181254a7Smrg	* intrinsics/flush.c (flush_i8): Add function flush_i8. Update
1285*181254a7Smrg	copyright years.
1286*181254a7Smrg
1287*181254a7Smrg2005-07-31  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
1288*181254a7Smrg
1289*181254a7Smrg	PR libfortran/21787
1290*181254a7Smrg	* intrinsics/abort.c (abort): Close units before aborting.
1291*181254a7Smrg	Updated copyright years.
1292*181254a7Smrg
1293*181254a7Smrg2005-07-30  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
1294*181254a7Smrg
1295*181254a7Smrg	PR libfortran/22436
1296*181254a7Smrg	* io/write.c (write_real): Add default formats for real(10) and
1297*181254a7Smrg	real(16).
1298*181254a7Smrg
1299*181254a7Smrg2005-07-30 Paul Thomas  <pault@gcc.gnu.org>
1300*181254a7Smrg
1301*181254a7Smrg	PR fortran/22570 and related issues.
1302*181254a7Smrg	* transfer.c (formatted_transfer): Make sure that there
1303*181254a7Smrg	really is data present before X- or T- editing. Move all
1304*181254a7Smrg	treatment of tabbing during writes to start of next data
1305*181254a7Smrg	producing format. Suppress incorrect zeroing of bytes_left
1306*181254a7Smrg	in slash formating. Insert int cast for assignment of a
1307*181254a7Smrg	difference of two gfc_offsets.
1308*181254a7Smrg
1309*181254a7Smrg2005-07-23  Jerry DeLisle  <jvdelisle@verizon.net>
1310*181254a7Smrg
1311*181254a7Smrg	* io/write.c (write_float): Revise output of IEEE exceptional
1312*181254a7Smrg	values to comply with F95 and F2003 standards.
1313*181254a7Smrg
1314*181254a7Smrg2005-07-22 Jerry DeLisle <jvdelisle@verizon.net>
1315*181254a7Smrg
1316*181254a7Smrg	PR libfortran/22570
1317*181254a7Smrg	* io/unit.c (init_units): Replace BLANK_ZERO with
1318*181254a7Smrg	BLANK_UNSPECIFIED.
1319*181254a7Smrg
1320*181254a7Smrg2005-07-22 Jerry DeLisle <jvdelisle@verizon.net>
1321*181254a7Smrg
1322*181254a7Smrg	PR libfortran/21875  (FM111.f)
1323*181254a7Smrg	* io/read.c (next_char): Return a ' ' character when BLANK_ZERO
1324*181254a7Smrg	or BLANK_NULL are active.
1325*181254a7Smrg	(read_decimal): Interpret ' ' character correctly for BZ or BN.
1326*181254a7Smrg	(read_radix): Interpret ' ' character correctly for BZ or BN.
1327*181254a7Smrg	(read_f): Interpret ' ' character correctly for BZ or BN.
1328*181254a7Smrg
1329*181254a7Smrg2005-07-22 Paul Thomas  <pault@gcc.gnu.org>
1330*181254a7Smrg
1331*181254a7Smrg	PR libfortran/22570
1332*181254a7Smrg	* read.c (read_x): Correct the condition for doing the
1333*181254a7Smrg	x-editing during formatted input.
1334*181254a7Smrg	* transfer.c (formatted_transfer): Cast offset difference
1335*181254a7Smrg	as int, clean-up arithmetic with new variable, bytes_used,
1336*181254a7Smrg	zero counters for FMT_SLASH,
1337*181254a7Smrg	(data_transfer_init) Zero X- and T-editing counters
1338*181254a7Smrg	unconditionally.
1339*181254a7Smrg	(next_record_w) Zero X- and T-editing counters.
1340*181254a7Smrg	unconditionally.
1341*181254a7Smrg
1342*181254a7Smrg2005-07-17  Jerry DeLisle  <jvdelisle@verizon.net>
1343*181254a7Smrg
1344*181254a7Smrg	* io/write.c (write_float): Fix field width checks for
1345*181254a7Smrg	printing 'Infinity' or 'Inf'.
1346*181254a7Smrg	(output_float): Fix typo in comment.
1347*181254a7Smrg
1348*181254a7Smrg2005-07-12 Paul Thomas  <pault@gcc.gnu.org>
1349*181254a7Smrg
1350*181254a7Smrg	PR libfortran/16435
1351*181254a7Smrg	* transfer.c (formatted_transfer): Correct the problems
1352*181254a7Smrg	with X- and T-editting that caused TLs followed by TRs
1353*181254a7Smrg	to overwrite data, which caused NIST FM908.FOR to fail
1354*181254a7Smrg	on many tests.
1355*181254a7Smrg	(data_transfer_init): Zero X- and T-editting counters at
1356*181254a7Smrg	the start of formatted IO.
1357*181254a7Smrg	* write.c (write_x): Write specified number of skips with
1358*181254a7Smrg	specified number of spaces at the end.
1359*181254a7Smrg
1360*181254a7Smrg2005-07-13 Paul Thomas  <pault@gcc.gnu.org>
1361*181254a7Smrg
1362*181254a7Smrg	* io/read.c (read_complex): Prevent X formatting during reads
1363*181254a7Smrg	from going beyond EOR to fix NIST fm908.FOR failure.
1364*181254a7Smrg	* io/list_read.c (read_complex): Allow complex data in list-
1365*181254a7Smrg	directed reads to have eols either side of the comma to
1366*181254a7Smrg	fix NIST FM906.FOR failure.
1367*181254a7Smrg
1368*181254a7Smrg2005-07-12  Thomas Koenig  <Thomas.Koenig@online.de>
1369*181254a7Smrg
1370*181254a7Smrg	PR libfortran/21593
1371*181254a7Smrg	* io/unix.c:  Add member special_file to type unix_stream.
1372*181254a7Smrg	(fd_truncate):  Don't call ftruncate or chsize if
1373*181254a7Smrg	s refers to a special file.
1374*181254a7Smrg	(fd_to_stream):  initialize s->special_file.
1375*181254a7Smrg
1376*181254a7Smrg2005-07-11  David Edelsohn  <edelsohn@gnu.org>
1377*181254a7Smrg
1378*181254a7Smrg	PR libfortran/22412
1379*181254a7Smrg	* io/write.c (otoa): Bias p by SCRATCH_SIZE, not
1380*181254a7Smrg	sizeof (SCRATCH_SIZE).
1381*181254a7Smrg	(btoa): Same.
1382*181254a7Smrg
1383*181254a7Smrg2005-07-09  Jerry DeLisle  <jvdelisle@verizon.net>
1384*181254a7Smrg
1385*181254a7Smrg	PR libfortran/21875  (FM111.f)
1386*181254a7Smrg	* io/read.c (next_char): Return a ' ' character when BLANK_ZERO or
1387*181254a7Smrg	BLANK_NULL are active.
1388*181254a7Smrg	(read_decimal): Interpret ' ' character correctly for BZ or BN.
1389*181254a7Smrg	(read_radix): Interpret ' ' character correctly for BZ or BN.
1390*181254a7Smrg	(read_f): Interpret ' ' character correctly for BZ or BN.
1391*181254a7Smrg	* gfortran.dg/test (fmt_read_bz_bn.f90): New test case.
1392*181254a7Smrg
1393*181254a7Smrg2005-07-09  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
1394*181254a7Smrg	    Thomas Koenig  <Thomas.Koenig@online.de>
1395*181254a7Smrg
1396*181254a7Smrg	PR libfortran/22217
1397*181254a7Smrg	* io/write.c (extract_unit):  New function; extract
1398*181254a7Smrg	ints as unsigned signed int of the correct size.
1399*181254a7Smrg	(write_int):  Use it.
1400*181254a7Smrg	* runtime/error.c:  Adjust copyright years.
1401*181254a7Smrg	Adjust size of buffer to maximum that can occur.
1402*181254a7Smrg
1403*181254a7Smrg2005-07-07  Tobias Schl"uter  <tobias.schlueter@physik.uni-muenchen.de>
1404*181254a7Smrg
1405*181254a7Smrg	* libgfortran.h (GFC_ARRAY_DESCRIPTOR): Replace 'type *base' by
1406*181254a7Smrg	'size_t offset'.
1407*181254a7Smrg	* intrinsics/cshift0.c, intrinsics/eoshift0.c,
1408*181254a7Smrg	intrinsics/eoshift2.c,intrinsics/pack_generic.c,
1409*181254a7Smrg	intrinsics/reshape_generic.c, intrinsics/spread_generic.c,
1410*181254a7Smrg	intrinsics/transpose_generic.c, intrinsics/unpack_generic,
1411*181254a7Smrg	m4/cshift1.m4, m4/eoshift1.m4, m4/eoshift3.m4, m4/iforeach.m4,
1412*181254a7Smrg	m4/ifunction.m4, m4/matmul.m4, m4/matmull.m4, m4/reshape.m4,
1413*181254a7Smrg	m4,transpose.m4: Set renamed field 'offset' to zero instead of
1414*181254a7Smrg	'base'.
1415*181254a7Smrg	* generated/all_l4.c, generated/all_l8.c,
1416*181254a7Smrg	generated/any_l4.c, generated/any_l8.c, generated/count_4_l4.c,
1417*181254a7Smrg	generated/count_4_l8.c, generated/count_8_l4.c,
1418*181254a7Smrg	generated/count_8_l8.c, generated/chift1_4.c,
1419*181254a7Smrg	generated/cshift1_8.c, generated/eoshift1_4.c,
1420*181254a7Smrg	generated/eoshift1_8.c, generated/eoshift3_4.c,
1421*181254a7Smrg	generated/eoshift3_8.c, generated/matmul_c4.c,
1422*181254a7Smrg	generated/matmul_c8.c, generated/matmul_i4.c, matmul_i8.c,
1423*181254a7Smrg	generated/matmul_l4.c, generated/matmul_l8.c,
1424*181254a7Smrg	generated/matmul_r4.c, generated/matmul_r8.c,
1425*181254a7Smrg	generated/maxloc0_4_i4.c, generated/maxloc0_4_i8.c,
1426*181254a7Smrg	generated/maxloc0_4_r4.c, generated/maxloc0_4_r8.c,
1427*181254a7Smrg	generated/maxloc0_8_i4.c, generated/maxloc0_8_i8.c,
1428*181254a7Smrg	generated/maxloc0_8_r4.c, generated/maxloc0_8_r8.c,
1429*181254a7Smrg	generated/maxloc1_4_i4.c, generated/maxloc1_4_i8.c,
1430*181254a7Smrg	generated/maxloc1_4_r4.c, generated/maxloc1_4_r8.c,
1431*181254a7Smrg	generated/maxloc1_8_i4.c, generated/maxloc1_8_i8.c,
1432*181254a7Smrg	generated/maxloc1_8_r4.c, generated/maxloc1_8_r8.c,
1433*181254a7Smrg	generated/maxval_i4.c, generated/maxval_i8.c,
1434*181254a7Smrg	generated/maxval_r4.c, generated/maxval_r8.c,
1435*181254a7Smrg	generated/minloc0_4_i4.c, generated/minloc0_4_i8.c,
1436*181254a7Smrg	generated/minloc0_4_r4.c, generated/minloc0_4_r8.c,
1437*181254a7Smrg	generated/minloc0_8_i4.c, generated/minloc0_8_i8.c,
1438*181254a7Smrg	generated/minloc0_8_r4.c, generated/minloc0_8_r8.c,
1439*181254a7Smrg	generated/minloc1_4_i4.c, generated/minloc1_4_i8.c,
1440*181254a7Smrg	generated/minloc1_4_r4.c, generated/minloc1_4_r8.c,
1441*181254a7Smrg	generated/minloc1_8_i4.c, generated/minloc1_8_i8.c,
1442*181254a7Smrg	generated/minloc1_8_r4.c, generated/minloc1_8_r8.c,
1443*181254a7Smrg	generated/minval_i4.c, generated/minval_i8.c,
1444*181254a7Smrg	generated/minval_r4.c, generated/minval_r8.c,
1445*181254a7Smrg	generated/product_c4.c, generated/product_c8.c,
1446*181254a7Smrg	generated/product_i4.c, generated/product_i8.c,
1447*181254a7Smrg	generated/product_r4.c, generated/product_r8.c,
1448*181254a7Smrg	generated/reshape_c4.c, generated/reshape_c8.c,
1449*181254a7Smrg	generated/reshape_i4.c, generated/reshape_i8.c,
1450*181254a7Smrg	generated/sum_c4.c, generated/sum_c8.c, generated/sum_i4.c,
1451*181254a7Smrg	generated/sum_i8.c, generated/sum_r4.c, generated/sum_r8.c,
1452*181254a7Smrg	generated/transpose_c4.c, generated/transpose_c8.c,
1453*181254a7Smrg	generated/transpose_i4.c, generated/transpose_i8.c: Regenerate:
1454*181254a7Smrg
1455*181254a7Smrg2005-07-07  Thomas Koenig  <Thomas.Koenig@online.de>
1456*181254a7Smrg
1457*181254a7Smrg	PR libfortran/21594
1458*181254a7Smrg	* intrinsics/eoshift0.c:  If abs(shift) > len, fill the
1459*181254a7Smrg	the whole array with the boundary value, but don't overrun it.
1460*181254a7Smrg	* intrinsics/eoshift2.c:  Likewise.
1461*181254a7Smrg	* m4/eoshift1.m4:  Likewise.
1462*181254a7Smrg	* m4/eoshift3.m4:  Likewise.
1463*181254a7Smrg	* generated/eoshift1_4.c:  Regenerated.
1464*181254a7Smrg	* generated/eoshift1_8.c:  Regenerated.
1465*181254a7Smrg	* generated/eoshift3_4.c:  Regenerated.
1466*181254a7Smrg	* generated/eoshift3_8.c:  Regenerated.
1467*181254a7Smrg
1468*181254a7Smrg2005-07-07  Feng Wang  <fengwang@nudt.edu.cn>
1469*181254a7Smrg
1470*181254a7Smrg	PR fortran/16531
1471*181254a7Smrg	* io/transfer.c (formatted_transfer): Enable FMT_A on other types to
1472*181254a7Smrg	support Hollerith constants.
1473*181254a7Smrg
1474*181254a7Smrg2005-07-01  Andreas Jaeger  <aj@suse.de>
1475*181254a7Smrg
1476*181254a7Smrg	* intrinsics/unpack_generic.c: Remove const from parameter.
1477*181254a7Smrg
1478*181254a7Smrg	* io/transfer.c (formatted_transfer): Remove unused variable.
1479*181254a7Smrg
1480*181254a7Smrg2005-06-28  Thomas Koenig  <Thomas.Koenig@online.de>
1481*181254a7Smrg
1482*181254a7Smrg	PR libfortran/22142
1483*181254a7Smrg	* m4/eoshift1.m4:  Correct bstride (it needs to be multiplied
1484*181254a7Smrg	by size since it's a char pointer).
1485*181254a7Smrg	* m4/eoshift1_4.c:  Regenerated.
1486*181254a7Smrg	* m4/eoshift1_8.c:  Regenerated.
1487*181254a7Smrg
1488*181254a7Smrg2005-06-28  Thomas Koenig  <Thomas.Koenig@online.de>
1489*181254a7Smrg
1490*181254a7Smrg	PR libfortran/22142
1491*181254a7Smrg	* m4/eoshift3.m4:  Correct bstride (it needs to be multiplied
1492*181254a7Smrg	by size since it's a char pointer).
1493*181254a7Smrg	* m4/eoshift3_4.c:  Regenerated.
1494*181254a7Smrg	* m4/eoshift3_8.c:  Regenerated.
1495*181254a7Smrg
1496*181254a7Smrg2005-06-28  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
1497*181254a7Smrg
1498*181254a7Smrg	PR libfortran/22170
1499*181254a7Smrg	* io/transfer.c (formatted_transfer): Do not iterate on the
1500*181254a7Smrg	repeat count of a FMT_SLASH, since this is already done in
1501*181254a7Smrg	next_format().
1502*181254a7Smrg
1503*181254a7Smrg2005-06-25  Thomas Koenig  <Thomas.Koenig@online.de>
1504*181254a7Smrg
1505*181254a7Smrg	PR libfortran/22144
1506*181254a7Smrg	* m4/cshift1.m4: Remove const from argument ret.
1507*181254a7Smrg	Populate return array descriptor if ret->data is NULL.
1508*181254a7Smrg	* m4/eoshift1.m4: Likewise.
1509*181254a7Smrg	* m4/eoshift3.m4: Likewise.
1510*181254a7Smrg	* generated/cshift1_4.c:  Regenerated.
1511*181254a7Smrg	* generated/cshift1_8.c:  Regenerated.
1512*181254a7Smrg	* generated/eoshift1_4.c:  Regenerated.
1513*181254a7Smrg	* generated/eoshift1_8.c:  Regenerated.
1514*181254a7Smrg	* generated/eoshift3_4.c:  Regenerated.
1515*181254a7Smrg	* generated/eoshift3_8.c:  Regenerated.
1516*181254a7Smrg
1517*181254a7Smrg2005-06-24  Jerry DeLisle <jvdelisle@verizon.net>
1518*181254a7Smrg
1519*181254a7Smrg	PR libfortran/21915
1520*181254a7Smrg	* Makefile.am: Include intrinsics/hyper.c.
1521*181254a7Smrg	* c99_protos.h: Add prototypes for single precision versions of
1522*181254a7Smrg	acosh, asinh, and atanh for platforms that do not have these.
1523*181254a7Smrg	* config.h.in: Add #undef for wrappers.
1524*181254a7Smrg	* configure.ac: Add checks for single precision versions.
1525*181254a7Smrg	* aclocal.m4: Regenerated.
1526*181254a7Smrg	* Makefile.in: Regenerated.
1527*181254a7Smrg	* configure: Regenerated.
1528*181254a7Smrg	* intrinsics/hyper.c: New file, adds new wrapper functions.
1529*181254a7Smrg
1530*181254a7Smrg2005-06-23  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
1531*181254a7Smrg
1532*181254a7Smrg	* intrinsics/c99_functions.c (log10l): New log10l function for
1533*181254a7Smrg	systems where this is not available.
1534*181254a7Smrg	* c99_protos.h: Prototype for log10l function.
1535*181254a7Smrg	* libgfortran.h: Use generated kinds.h to define GFC_INTEGER_*,
1536*181254a7Smrg	GFC_UINTEGER_*, GFC_LOGICAL_*, GFC_REAL_*, GFC_COMPLEX_*. Update
1537*181254a7Smrg	prototypes for gfc_itoa and xtoa.
1538*181254a7Smrg	* io/io.h: Update prototypes for set_integer and max_value.
1539*181254a7Smrg	* io/list_read.c (convert_integer): Use new
1540*181254a7Smrg	GFC_(INTEGER|REAL)_LARGEST type.
1541*181254a7Smrg	* io/read.c (set_integer): Likewise.
1542*181254a7Smrg	(max_value): Likewise.
1543*181254a7Smrg	(convert_real): Likewise.
1544*181254a7Smrg	(real_l): Likewise.
1545*181254a7Smrg	(next_char): Likewise.
1546*181254a7Smrg	(read_decimal): Likewise.
1547*181254a7Smrg	(read_radix): Likewise.
1548*181254a7Smrg	(read_f): Likewise.
1549*181254a7Smrg	* io/write.c (extract_int): Use new GFC_INTEGER_LARGEST type.
1550*181254a7Smrg	(extract_real): Use new GFC_REAL_LARGEST type.
1551*181254a7Smrg	(calculate_exp): Likewise.
1552*181254a7Smrg	(calculate_G_format): Likewise.
1553*181254a7Smrg	(output_float): Likewise. Use log10l for long double values.
1554*181254a7Smrg	Add comment for sprintf format. Use GFC_REAL_LARGEST_FORMAT.
1555*181254a7Smrg	(write_l): Use new GFC_INTEGER_LARGEST type.
1556*181254a7Smrg	(write_float): Use new GFC_REAL_LARGEST type.
1557*181254a7Smrg	(write_int): Remove useless special case for (len < 8).
1558*181254a7Smrg	(write_decimal): Use GFC_INTEGER_LARGEST.
1559*181254a7Smrg	(otoa): Use GFC_UINTEGER_LARGEST as argument.
1560*181254a7Smrg	(btoa): Use GFC_UINTEGER_LARGEST as argument.
1561*181254a7Smrg	* runtime/error.c (gfc_itoa): Use GFC_INTEGER_LARGEST as
1562*181254a7Smrg	argument.
1563*181254a7Smrg	(xtoa): Use GFC_UINTEGER_LARGEST as argument.
1564*181254a7Smrg	* Makefile.am: Use mk-kinds-h.sh to generate header kinds.h
1565*181254a7Smrg	with all Fortran kinds available.
1566*181254a7Smrg	* configure.ac: Check for strtold and log10l.
1567*181254a7Smrg	* Makefile.in: Regenerate.
1568*181254a7Smrg	* aclocal.m4: Regenerate.
1569*181254a7Smrg	* configure: Regenerate.
1570*181254a7Smrg	* config.h.in: Regenerate.
1571*181254a7Smrg	* mk-kinds-h.sh: Configuration script for available integer
1572*181254a7Smrg	and real kinds.
1573*181254a7Smrg
1574*181254a7Smrg
1575*181254a7Smrg2005-06-18  Janne Blomqvist  <jblomqvi@cc.hut.fi>
1576*181254a7Smrg
1577*181254a7Smrg	* unix.c (stream_at_bof): Don't assume that all non-mmapped files
1578*181254a7Smrg	are non-seekable.
1579*181254a7Smrg	(stream_at_eof): Likewise.
1580*181254a7Smrg
1581*181254a7Smrg2005-06-18  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
1582*181254a7Smrg
1583*181254a7Smrg	PR libfortran/19155
1584*181254a7Smrg	* io/read.c (convert_real): strtod can set errno to EINVAL on an
1585*181254a7Smrg	empty string, but we shouldn't have an error in that case.
1586*181254a7Smrg
1587*181254a7Smrg2005-06-17  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
1588*181254a7Smrg
1589*181254a7Smrg	PR libfortran/19216
1590*181254a7Smrg	* io/list_read.c (eat_separator): No need to call next_record,
1591*181254a7Smrg	even in non-namelist_mode.
1592*181254a7Smrg
1593*181254a7Smrg2005-06-17  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
1594*181254a7Smrg
1595*181254a7Smrg	* io/transfer.c (formatted_transfer): Fix typo in error message.
1596*181254a7Smrg
1597*181254a7Smrg2005-06-17  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
1598*181254a7Smrg
1599*181254a7Smrg	PR libfortran/16436
1600*181254a7Smrg	* io/transfer.c (read_sf): Correct updating of bytes_left field.
1601*181254a7Smrg	(formatted_transfer): Correct updating of bytes_left field and
1602*181254a7Smrg	reformatting code (comments and whitespace).
1603*181254a7Smrg	* io/unix.c (move_pos_offset): "active" field should not be
1604*181254a7Smrg	changed here. Whitespace corrections.
1605*181254a7Smrg
1606*181254a7Smrg2005-06-15  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
1607*181254a7Smrg
1608*181254a7Smrg	PR libfortran/21950
1609*181254a7Smrg	* intrinsics/c99_functions.c (scalbn): Provide fallback
1610*181254a7Smrg	implementation for scalbn.
1611*181254a7Smrg	* c99_protos.h: Prototype for scalbn.
1612*181254a7Smrg	* configure.ac: Add check for scalbn.
1613*181254a7Smrg	* configure: Regenerate.
1614*181254a7Smrg	* config.h.in: Regenerate.
1615*181254a7Smrg
1616*181254a7Smrg2005-06-14  Thomas Koenig  <Thomas.Koenig@online.de>
1617*181254a7Smrg
1618*181254a7Smrg	* intrinsics/eoshift0.c:  Removed prototype for eoshift0.
1619*181254a7Smrg	* intrinsics/eoshift2.c:  Removed prototype for eoshift2.
1620*181254a7Smrg
1621*181254a7Smrg2005-06-14  Tom Tromey  <tromey@redhat.com>
1622*181254a7Smrg
1623*181254a7Smrg	PR libgcj/19877:
1624*181254a7Smrg	* configure, aclocal.m4, Makefile.in: Rebuilt.
1625*181254a7Smrg
1626*181254a7Smrg2005-06-12  Thomas Koenig  <Thomas.Koenig@online.de>
1627*181254a7Smrg
1628*181254a7Smrg	PR libfortran/21594
1629*181254a7Smrg	* intrinsics/eoshift0.c:  Add prototype for eoshift0.
1630*181254a7Smrg	* intrinsics/eoshift2.c:  Add prototype for eoshift2.
1631*181254a7Smrg
1632*181254a7Smrg2005-06-12  Steven G. Kargl <kargls@comcast.net>
1633*181254a7Smrg	    Thomas Koenig  <Thomas.Koenig@online.de>
1634*181254a7Smrg
1635*181254a7Smrg	PR libfortran/PR21797
1636*181254a7Smrg	* m4/cexp.m4 (csqrt`'q):  Add type qualifyer to
1637*181254a7Smrg	sqrt and fabs.
1638*181254a7Smrg	* generated/exp_c4.c:  Regenerated.
1639*181254a7Smrg
1640*181254a7Smrg2005-06-12  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
1641*181254a7Smrg
1642*181254a7Smrg	PR libfortran/19155
1643*181254a7Smrg	* io/read.c (read_f): Take care of spaces after initial sign.
1644*181254a7Smrg
1645*181254a7Smrg2005-06-11  Thomas Koenig  <Thomas.Koenig@onlinde.de>
1646*181254a7Smrg
1647*181254a7Smrg	PR libfortran/21333
1648*181254a7Smrg	* Makefile.am: Add in_pack_c4.c, in_pack_c8.c, in_unpack_c4.c
1649*181254a7Smrg	and in_unpack_c8.c.
1650*181254a7Smrg	* Makefile.in: Regenerate.
1651*181254a7Smrg	* libgfortran.h:  Declare internal_pack_c4, internal_pack_c8,
1652*181254a7Smrg	internal_unpack_c4 and internal_unpack_c8.
1653*181254a7Smrg	* m4/in_pack.m4: Use rtype_ccode insteald of rtype_kind
1654*181254a7Smrg	in function name.
1655*181254a7Smrg	Use sizeof (rtype_name) as size for memory allocation.
1656*181254a7Smrg	* m4/in_unpack.m4: Use rtype_ccode insteald of rtype_kind
1657*181254a7Smrg	in function name.
1658*181254a7Smrg	Use sizeof (rtype_name) for calculation of sizes for memcpy.
1659*181254a7Smrg	* runtime/in_pack_generic.c:  For real, integer and logical
1660*181254a7Smrg	call internal_pack_4 if size==4 and internal_pack_8 if
1661*181254a7Smrg	size==8.
1662*181254a7Smrg	For complex, call internal_pack_c4 if size==8 and
1663*181254a7Smrg	internal_pack_c8 if size==16.
1664*181254a7Smrg	* runtime/in_unpack_generic.c: For real, integer and logical
1665*181254a7Smrg	call internal_unpack_4 if size==4 and internal_unpack_8 if
1666*181254a7Smrg	size==8.
1667*181254a7Smrg	For complex, call internal_unpack_c4 if size==8 and
1668*181254a7Smrg	internal_unpack_c8 if size==16.
1669*181254a7Smrg	* generated/in_pack_i4.c:  Regenerated.
1670*181254a7Smrg	* generated/in_pack_i8.c:  Regenerated.
1671*181254a7Smrg	* generated/in_unpack_i4.c:  Regenerated.
1672*181254a7Smrg	* generated/in_unpack_i8.c:  Regenerated.
1673*181254a7Smrg	* generated/in_pack_c4.c:  New file.
1674*181254a7Smrg	* generated/in_pack_c8.c:  New file.
1675*181254a7Smrg	* generated/in_unpack_c4.c:  New file.
1676*181254a7Smrg	* generated/in_unpack_c8.c:  New file.
1677*181254a7Smrg
1678*181254a7Smrg2005-06-09  Thomas Koenig  <Thomas.Koenig@online.de>
1679*181254a7Smrg
1680*181254a7Smrg	PR libfortran/21480
1681*181254a7Smrg	* m4/reshape.m4:  Use sizeof (rtype_name) for sizes to be passed
1682*181254a7Smrg	to reshape_packed.
1683*181254a7Smrg	* generated/reshape_c4.c:  Regenerated.
1684*181254a7Smrg	* generated/reshape_c8.c:  Regenerated.
1685*181254a7Smrg	* generated/reshape_i4.c:  Regenerated.
1686*181254a7Smrg	* generated/reshape_i8.c:  Regenerated.
1687*181254a7Smrg
1688*181254a7Smrg2005-06-07  Thomas Koenig  <Thomas.Koenig@online.de>
1689*181254a7Smrg
1690*181254a7Smrg	PR libfortran/21926
1691*181254a7Smrg	* m4/matmul.m4:  Correct zeroing of result for non-packed
1692*181254a7Smrg	arrays with lowest stride is one.
1693*181254a7Smrg	* generated/matmul_c4.c:  Regenerated.
1694*181254a7Smrg	* generated/matmul_c8.c:  Regenerated.
1695*181254a7Smrg	* generated/matmul_i4.c:  Regenerated.
1696*181254a7Smrg	* generated/matmul_i8.c:  Regenerated.
1697*181254a7Smrg	* generated/matmul_r4.c:  Regenerated.
1698*181254a7Smrg	* generated/matmul_r8.c:  Regenerated.
1699*181254a7Smrg
1700*181254a7Smrg2005-05-30  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
1701*181254a7Smrg
1702*181254a7Smrg	PR libfortran/20179
1703*181254a7Smrg	* io/unix.c (fd_close): Add test so that we don't close()
1704*181254a7Smrg	stdout and stderr.
1705*181254a7Smrg
1706*181254a7Smrg2005-05-29  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
1707*181254a7Smrg
1708*181254a7Smrg	PR libfortran/20006
1709*181254a7Smrg	* io/format.c (parse_format_list): Set repeat count of $ format
1710*181254a7Smrg	node to 1.
1711*181254a7Smrg	* io/transfer.c (read_sf): Add g.seen_dollar to the test
1712*181254a7Smrg	concerning advancing I/O.
1713*181254a7Smrg	(data_transfer_init): Likewise.
1714*181254a7Smrg	(finalize_transfer): Likewise.
1715*181254a7Smrg
1716*181254a7Smrg2005-05-27  Thomas Koenig  <Thomas.Koenig@online.de>
1717*181254a7Smrg
1718*181254a7Smrg	* runtime/in_pack_generic.c:  Adjust copyright years.
1719*181254a7Smrg	(in_pack_generic):  Change dimension of auxiliary arrays from
1720*181254a7Smrg	GFC_MAX_DIMENSION - 1 to GFC_MAX_DIMENSION.
1721*181254a7Smrg	* runtime/in_unpack_generic.c:  Adjust copyright years.
1722*181254a7Smrg	(in_unpack_generic):  Change dimension of auxiliary arrays from
1723*181254a7Smrg	GFC_MAX_DIMENSION - 1 to GFC_MAX_DIMENSION.
1724*181254a7Smrg
1725*181254a7Smrg2005-05-26  Thomas Koenig  <Thomas.Koenig@online.de>
1726*181254a7Smrg
1727*181254a7Smrg	PR libfortran/17283
1728*181254a7Smrg	* intrinsics/unpack_generic.c:  Fix name of routine
1729*181254a7Smrg	on top.  Update copyright years.
1730*181254a7Smrg	(unpack1):  Remove const from return array descriptor.
1731*181254a7Smrg	rs:  New variable, for calculating return sizes.
1732*181254a7Smrg	Populate return array descriptor if ret->data is NULL.
1733*181254a7Smrg
1734*181254a7Smrg2005-05-22  Peter Wainwright  <prw@ceiriog1.demon.co.uk>
1735*181254a7Smrg
1736*181254a7Smrg	PR libfortran/21376
1737*181254a7Smrg	* io/write.c (output_float): Rework logic to avoid call to log10
1738*181254a7Smrg	with argument equal to zero.
1739*181254a7Smrg
1740*181254a7Smrg2005-05-21  Eric Botcazou  <ebotcazou@libertysurf.fr>
1741*181254a7Smrg
1742*181254a7Smrg	* configure.ac: Check for trunc and truncf in libm.
1743*181254a7Smrg	* configure: Regenerate.
1744*181254a7Smrg	* config.h.in: Likewise.
1745*181254a7Smrg	* intrinsics/c99_functions.c (trunc, truncf): New functions.
1746*181254a7Smrg	* c99_protos.h (trunc, truncf): Declare them.
1747*181254a7Smrg
1748*181254a7Smrg2005-05-18  Thomas Koenig  <Thomas.Koenig@online.de>
1749*181254a7Smrg
1750*181254a7Smrg	PR libfortran/21127
1751*181254a7Smrg	* Makefile.am:  Really commit.
1752*181254a7Smrg	* Makefile.in:  Really commit.
1753*181254a7Smrg
1754*181254a7Smrg2005-05-18  Thomas Koenig  <Thomas.Koenig@online.de>
1755*181254a7Smrg
1756*181254a7Smrg	PR libfortran/21127
1757*181254a7Smrg	* Makefile.am:  Add generated/reshape_c4.c and
1758*181254a7Smrg	generated/reshape_c8.c.
1759*181254a7Smrg	* Makefile.in:  Regenerated.
1760*181254a7Smrg	* m4/iparm.m4:  Define rtype_ccode to be c4 or c8 for
1761*181254a7Smrg	complex types, 4 or 8 otherwise.
1762*181254a7Smrg	* m4/reshape.m4:  Use rtype_ccode instead of rtype_kind
1763*181254a7Smrg	in function name.
1764*181254a7Smrg	* generated/reshape_c4.c: New file.
1765*181254a7Smrg	* generated/reshape_c8.c: New file.
1766*181254a7Smrg
1767*181254a7Smrg2005-05-16  Andreas Jaeger  <aj@suse.de>
1768*181254a7Smrg
1769*181254a7Smrg	* configure.ac: Add additional warning flags.
1770*181254a7Smrg	* configure: Regenerate.
1771*181254a7Smrg
1772*181254a7Smrg	* io/write.c (calculate_G_format): Remove unused parameter.
1773*181254a7Smrg	(output_float): Remove unused parameter.
1774*181254a7Smrg	(write_float): Change callers.
1775*181254a7Smrg	(nml_write_obj): Avoid signed warning.
1776*181254a7Smrg	Make variable const to support -Wwrite-strings.
1777*181254a7Smrg
1778*181254a7Smrg	* io/unix.c (fd_alloc, mmap_open, mmap_sfree, mem_sfree,
1779*181254a7Smrg	mem_truncate): Mark argument as unused.
1780*181254a7Smrg
1781*181254a7Smrg	* io/unit.c (get_unit): Mark argument as unused.
1782*181254a7Smrg	(init_units): Avoid warning about signed comparision.
1783*181254a7Smrg
1784*181254a7Smrg	* io/transfer.c (next_record_r): Remove unused parameter.
1785*181254a7Smrg	(next_record_w): Remove unused parameter.
1786*181254a7Smrg	(next_record): Change callers.
1787*181254a7Smrg	(iolength_transfer): Mark arguments as unused.
1788*181254a7Smrg
1789*181254a7Smrg	* io/open.c: Add initializer.
1790*181254a7Smrg
1791*181254a7Smrg	* io/list_read.c (read_character): Mark argument as unused.
1792*181254a7Smrg	(nml_match_name): Add const to make compile with -Wwrite-strings.
1793*181254a7Smrg
1794*181254a7Smrg	* io/format.c: Add initializer.
1795*181254a7Smrg
1796*181254a7Smrg2005-05-15  Andreas Jaeger  <aj@suse.de>
1797*181254a7Smrg
1798*181254a7Smrg	* m4/eoshift1.m4: Initialize variables to avoid warnings.
1799*181254a7Smrg	* m4/eoshift3.m4: Initialize variables to avoid warnings.
1800*181254a7Smrg	* generated/eoshift1_4.c, generated/eoshift1_8.c,
1801*181254a7Smrg	generated/eoshift3_4.c, generated/eoshift3_8.c: Regenerated.
1802*181254a7Smrg
1803*181254a7Smrg	* intrinsics/spread_generic.c (spread): Initialize variables to
1804*181254a7Smrg	avoid warnings.
1805*181254a7Smrg
1806*181254a7Smrg	* intrinsics/eoshift0.c (eoshift0): Initialize variables to avoid
1807*181254a7Smrg	warnings.
1808*181254a7Smrg	* intrinsics/eoshift2.c (eoshift2): Initialize variables to avoid
1809*181254a7Smrg	warnings.
1810*181254a7Smrg
1811*181254a7Smrg	* io/list_read.c (nml_get_obj_data): Initialize variables to avoid
1812*181254a7Smrg	warnings.
1813*181254a7Smrg
1814*181254a7Smrg	* intrinsics/pack_generic.c (pack): Remove unneeded calculation.
1815*181254a7Smrg
1816*181254a7Smrg	* m4/matmull.m4 (matmul_): Remove unneeded calculations, fix
1817*181254a7Smrg	pointer cast to avoid warning.
1818*181254a7Smrg	* generated/matmul_l4.c: Regenerated.
1819*181254a7Smrg	* generated/matmul_l8.c: Regenerated.
1820*181254a7Smrg
1821*181254a7Smrg	* Makefile.am: Remove AM_CFLAGS here.
1822*181254a7Smrg	* configure.ac: Define AM_CFLAGS and AM_FCFLAGS so that warnings
1823*181254a7Smrg	are set.  Set additionally -Wstrict-prototypes for CFLAGS.
1824*181254a7Smrg	* Makefile.in: Regenerated.
1825*181254a7Smrg	* aclocal.m4: Regenerated.
1826*181254a7Smrg	* configure: Regenerated.
1827*181254a7Smrg
1828*181254a7Smrg	* intrinsics/system_clock.c (system_clock_4, system_clock_8): Add
1829*181254a7Smrg	missing returns, reformat a bit.
1830*181254a7Smrg
1831*181254a7Smrg	* io/write.c (nml_write_obj): Use %d again - and cast to int,
1832*181254a7Smrg	st_sprintf does not handle %ld.
1833*181254a7Smrg
1834*181254a7Smrg	* io/unit.c (is_internal_unit): Add void as parameter list.
1835*181254a7Smrg
1836*181254a7Smrg	* io/transfer.c: Move prototype declarations before the functions.
1837*181254a7Smrg
1838*181254a7Smrg	* runtime/normalize.c (almostone_r4, almostone_r8): Fix parameter
1839*181254a7Smrg	list.
1840*181254a7Smrg
1841*181254a7Smrg	* intrinsics/random.c (KISS_DEFAULT_SEED): Remove extra semicolon.
1842*181254a7Smrg
1843*181254a7Smrg	* io/transfer.c: Do not use empty initializers for global objects.
1844*181254a7Smrg	Add missing initializers.
1845*181254a7Smrg
1846*181254a7Smrg	* io/lock.c: Do not use empty initializers for global objects.
1847*181254a7Smrg
1848*181254a7Smrg	* io/close.c: Add missing initializers.
1849*181254a7Smrg
1850*181254a7Smrg	* runtime/environ.c: Add missing initializers. Do not use empty
1851*181254a7Smrg	initializers for global object.
1852*181254a7Smrg	(init_string): Mark argument as unused.
1853*181254a7Smrg
1854*181254a7Smrg	* runtime/main.c (cleanup): Fix parameter list.
1855*181254a7Smrg
1856*181254a7Smrg	* io/io.h: Fix parameter lists.
1857*181254a7Smrg
1858*181254a7Smrg	* m4/transpose.m4, m4/matmul.m4: Fix pointer cast to avoid
1859*181254a7Smrg	warning.
1860*181254a7Smrg
1861*181254a7Smrg	* generated/transpose_c4.c, generated/transpose_c8.c,
1862*181254a7Smrg	generated/transpose_i4.c, generated/transpose_i8.c,
1863*181254a7Smrg	generated/matmul_c4.c, generated/matmul_c8.c,
1864*181254a7Smrg	generated/matmul_i4.c, generated/matmul_i8.c,
1865*181254a7Smrg	generated/matmul_r4.c, generated/matmul_r8.c: Regenerated.
1866*181254a7Smrg
1867*181254a7Smrg	* io/write.c (nml_write_obj): Fix 64-bit problem.
1868*181254a7Smrg
1869*181254a7Smrg	* io/list_read.c (nml_get_obj_data): Add missing braces around
1870*181254a7Smrg	initializer to avoid warnings.
1871*181254a7Smrg
1872*181254a7Smrg	* intrinsics/etime.c (etime_sub): Remove unused variable.
1873*181254a7Smrg
1874*181254a7Smrg	* intrinsics/chdir.c, intrinsics/getlog.c, intrinsics/link.c,
1875*181254a7Smrg	intrinsics/symlnk.c, intrinsics/perror.c: Include <string.h> for
1876*181254a7Smrg	prototypes.
1877*181254a7Smrg
1878*181254a7Smrg	* runtime/string.c (compare0): Remove unused variable.
1879*181254a7Smrg	* io/unit.c (init_units): Remove unused variables.
1880*181254a7Smrg	* intrinsics/getcwd.c (getcwd_i4_sub): Remove unused variable.
1881*181254a7Smrg	* intrinsics/unlink.c (unlink_i4_sub): Remove unused variable.
1882*181254a7Smrg	* intrinsics/stat.c (stat_i4_sub, fstat_i8_sub, fstat_i4_sub,
1883*181254a7Smrg	stat_i8_sub): Remove unused variable.
1884*181254a7Smrg
1885*181254a7Smrg2005-05-12  Thomas Koenig  <Thomas.Koenig@online.de>
1886*181254a7Smrg
1887*181254a7Smrg	PR libfortran/21324
1888*181254a7Smrg	* runtime/memory.c:  Don't define GFC_CLEAR_MEMORY (it's a
1889*181254a7Smrg	performance hog).
1890*181254a7Smrg	* io/open.c (new_unit): Zero freshly allocated memory for
1891*181254a7Smrg	unit structure.
1892*181254a7Smrg	* io/unit.c (init_units):  Zero freshly allocated memory for
1893*181254a7Smrg	STDIN, STDOUT and STDERR.
1894*181254a7Smrg	* io/unix.c (open_internal):  Zero freshly allocated memory
1895*181254a7Smrg	for unix_stream.
1896*181254a7Smrg	(fd_to_stream):  Likewise.
1897*181254a7Smrg
1898*181254a7Smrg2005-05-11  Bud Davis  <bdavis@gfortran.org>
1899*181254a7Smrg
1900*181254a7Smrg	PR fortran/19478
1901*181254a7Smrg	* io/unix.c (fd_truncate): update positions when ftruncate
1902*181254a7Smrg	fails (like writing to /dev/null).
1903*181254a7Smrg
1904*181254a7Smrg2005-05-10  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
1905*181254a7Smrg
1906*181254a7Smrg	PR libfortran/21471
1907*181254a7Smrg	* open.c (new_unit): Take care of the case where POSITION_APPEND
1908*181254a7Smrg	is specified (sseek to the end, and set u>-endfile).
1909*181254a7Smrg
1910*181254a7Smrg2005-05-10  Tobias Schl"uter  <tobias.schlueter@physik.uni-muenchen.de>
1911*181254a7Smrg
1912*181254a7Smrg	PR fortran/20178
1913*181254a7Smrg	* Makefile.am (gfor_specific_src): Add 'intrinsics/f2c_intrinsics.F90'
1914*181254a7Smrg	to dependencies.
1915*181254a7Smrg	* Makefile.in: Regenerate.
1916*181254a7Smrg	* intrinsics/f2c_specific.F90: New file.
1917*181254a7Smrg
1918*181254a7Smrg2005-05-10  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
1919*181254a7Smrg
1920*181254a7Smrg	PR libfortran/20788
1921*181254a7Smrg	* io/unix.c (fd_to_stream): Add an avoid_mmap argument indicating
1922*181254a7Smrg	we don't we to mmap this stream. Use fd_open instead of mmap_open
1923*181254a7Smrg	in that case.
1924*181254a7Smrg	(open_external): Call fd_to_stream with avoid_mmap = 0.
1925*181254a7Smrg	(input_stream): Call fd_to_stream with avoid_mmap = 1.
1926*181254a7Smrg	(output_stream): Likewise.
1927*181254a7Smrg	(error_stream): Likewise.
1928*181254a7Smrg
1929*181254a7Smrg2005-05-09  Mike Stump  <mrs@apple.com>
1930*181254a7Smrg
1931*181254a7Smrg	* configure: Regenerate.
1932*181254a7Smrg
1933*181254a7Smrg2005-05-09  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
1934*181254a7Smrg
1935*181254a7Smrg	PR libfortran/19155
1936*181254a7Smrg	* io/read.c (read_f): Accept 'e', 'E', 'd' and 'D' as first
1937*181254a7Smrg	non-blank characters of a real number.
1938*181254a7Smrg
1939*181254a7Smrg2005-05-04  Thomas Koenig  <Thomas.Koenig@online.de>
1940*181254a7Smrg
1941*181254a7Smrg	PR libfortran/21354
1942*181254a7Smrg	* m4/cshift1.m4: Change dimension of auxiliary arrays from
1943*181254a7Smrg	GFC_MAX_DIMENSION - 1 to GFC_MAX_DIMENSION.
1944*181254a7Smrg	* m4/eoshift1.m4: Likewise.
1945*181254a7Smrg	* m4/eoshift3.m4: Likewise.
1946*181254a7Smrg	* m4/ifunction.m4: Likewise.
1947*181254a7Smrg	* m4/in_pack.m4: Likewise.
1948*181254a7Smrg	* m4/in_unpack.m4: Likewise.
1949*181254a7Smrg	* intrinsics/cshift0.c: Likewise.
1950*181254a7Smrg	* intrinsics/eoshift0.c: Likewise.
1951*181254a7Smrg	* intrinsics/eoshift2.c: Likewise.
1952*181254a7Smrg	* intrinsics/random.c: Likewise.
1953*181254a7Smrg	* intrinsics/spread_generic.c: Likewise.
1954*181254a7Smrg	* intrinsics/stat.c: Likewise.
1955*181254a7Smrg	* generated/all_l4.c: Regenerated.
1956*181254a7Smrg	* generated/all_l8.c: Regenerated.
1957*181254a7Smrg	* generated/any_l4.c: Regenerated.
1958*181254a7Smrg	* generated/any_l8.c: Regenerated.
1959*181254a7Smrg	* generated/count_4_l4.c: Regenerated.
1960*181254a7Smrg	* generated/count_4_l8.c: Regenerated.
1961*181254a7Smrg	* generated/count_8_l4.c: Regenerated.
1962*181254a7Smrg	* generated/count_8_l8.c: Regenerated.
1963*181254a7Smrg	* generated/cshift1_4.c: Regenerated.
1964*181254a7Smrg	* generated/cshift1_8.c: Regenerated.
1965*181254a7Smrg	* generated/eoshift1_4.c: Regenerated.
1966*181254a7Smrg	* generated/eoshift1_8.c: Regenerated.
1967*181254a7Smrg	* generated/eoshift3_4.c: Regenerated.
1968*181254a7Smrg	* generated/eoshift3_8.c: Regenerated.
1969*181254a7Smrg	* generated/in_pack_i4.c: Regenerated.
1970*181254a7Smrg	* generated/in_pack_i8.c: Regenerated.
1971*181254a7Smrg	* generated/in_unpack_i4.c: Regenerated.
1972*181254a7Smrg	* generated/in_unpack_i8.c: Regenerated.
1973*181254a7Smrg	* generated/maxloc0_4_i4.c: Regenerated.
1974*181254a7Smrg	* generated/maxloc0_4_i8.c: Regenerated.
1975*181254a7Smrg	* generated/maxloc0_4_r4.c: Regenerated.
1976*181254a7Smrg	* generated/maxloc0_4_r8.c: Regenerated.
1977*181254a7Smrg	* generated/maxloc0_8_i4.c: Regenerated.
1978*181254a7Smrg	* generated/maxloc0_8_i8.c: Regenerated.
1979*181254a7Smrg	* generated/maxloc0_8_r4.c: Regenerated.
1980*181254a7Smrg	* generated/maxloc0_8_r8.c: Regenerated.
1981*181254a7Smrg	* generated/maxloc1_4_i4.c: Regenerated.
1982*181254a7Smrg	* generated/maxloc1_4_i8.c: Regenerated.
1983*181254a7Smrg	* generated/maxloc1_4_r4.c: Regenerated.
1984*181254a7Smrg	* generated/maxloc1_4_r8.c: Regenerated.
1985*181254a7Smrg	* generated/maxloc1_8_i4.c: Regenerated.
1986*181254a7Smrg	* generated/maxloc1_8_i8.c: Regenerated.
1987*181254a7Smrg	* generated/maxloc1_8_r4.c: Regenerated.
1988*181254a7Smrg	* generated/maxloc1_8_r8.c: Regenerated.
1989*181254a7Smrg	* generated/maxval_i4.c: Regenerated.
1990*181254a7Smrg	* generated/maxval_i8.c: Regenerated.
1991*181254a7Smrg	* generated/maxval_r4.c: Regenerated.
1992*181254a7Smrg	* generated/maxval_r8.c: Regenerated.
1993*181254a7Smrg	* generated/minloc0_4_i4.c: Regenerated.
1994*181254a7Smrg	* generated/minloc0_4_i8.c: Regenerated.
1995*181254a7Smrg	* generated/minloc0_4_r4.c: Regenerated.
1996*181254a7Smrg	* generated/minloc0_4_r8.c: Regenerated.
1997*181254a7Smrg	* generated/minloc0_8_i4.c: Regenerated.
1998*181254a7Smrg	* generated/minloc0_8_i8.c: Regenerated.
1999*181254a7Smrg	* generated/minloc0_8_r4.c: Regenerated.
2000*181254a7Smrg	* generated/minloc0_8_r8.c: Regenerated.
2001*181254a7Smrg	* generated/minloc1_4_i4.c: Regenerated.
2002*181254a7Smrg	* generated/minloc1_4_i8.c: Regenerated.
2003*181254a7Smrg	* generated/minloc1_4_r4.c: Regenerated.
2004*181254a7Smrg	* generated/minloc1_4_r8.c: Regenerated.
2005*181254a7Smrg	* generated/minloc1_8_i4.c: Regenerated.
2006*181254a7Smrg	* generated/minloc1_8_i8.c: Regenerated.
2007*181254a7Smrg	* generated/minloc1_8_r4.c: Regenerated.
2008*181254a7Smrg	* generated/minloc1_8_r8.c: Regenerated.
2009*181254a7Smrg	* generated/minval_i4.c: Regenerated.
2010*181254a7Smrg	* generated/minval_i8.c: Regenerated.
2011*181254a7Smrg	* generated/minval_r4.c: Regenerated.
2012*181254a7Smrg	* generated/minval_r8.c: Regenerated.
2013*181254a7Smrg	* generated/product_c4.c: Regenerated.
2014*181254a7Smrg	* generated/product_c8.c: Regenerated.
2015*181254a7Smrg	* generated/product_i4.c: Regenerated.
2016*181254a7Smrg	* generated/product_i8.c: Regenerated.
2017*181254a7Smrg	* generated/product_r4.c: Regenerated.
2018*181254a7Smrg	* generated/product_r8.c: Regenerated.
2019*181254a7Smrg	* generated/sum_c4.c: Regenerated.
2020*181254a7Smrg	* generated/sum_c8.c: Regenerated.
2021*181254a7Smrg	* generated/sum_i4.c: Regenerated.
2022*181254a7Smrg	* generated/sum_i8.c: Regenerated.
2023*181254a7Smrg	* generated/sum_r4.c: Regenerated.
2024*181254a7Smrg	* generated/sum_r8.c: Regenerated.
2025*181254a7Smrg
2026*181254a7Smrg2005-04-30  Thomas Koenig  <Thomas.Koenig@online.de>
2027*181254a7Smrg
2028*181254a7Smrg	PR libfortran/18958
2029*181254a7Smrg	libgfortran.h:  Change typedef of index_type from size_t
2030*181254a7Smrg	to ssize_t.
2031*181254a7Smrg
2032*181254a7Smrg2005-04-30  Paul Thomas  <pault@gcc.gnu.org>
2033*181254a7Smrg
2034*181254a7Smrg	PR libfortran/18857
2035*181254a7Smrg	* generated/matmul_r8.c: Remove incorrect assertions.
2036*181254a7Smrg	* generated/matmul_c4.c: Regenerate
2037*181254a7Smrg	* generated/matmul_c8.c: Regenerate
2038*181254a7Smrg	* generated/matmul_i4.c: Regenerate
2039*181254a7Smrg	* generated/matmul_i8.c: Regenerate
2040*181254a7Smrg	* generated/matmul_r4.c: Regenerate
2041*181254a7Smrg	* generated/matmul_r8.c: Regenerate
2042*181254a7Smrg
2043*181254a7Smrg2005-04-29  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
2044*181254a7Smrg
2045*181254a7Smrg	* configure.ac: Check for ftruncate and chsize.
2046*181254a7Smrg	* io/unix.c (fd_truncate): Provide chsize as alternative to
2047*181254a7Smrg	ftruncate.
2048*181254a7Smrg	* config.h.in: Regenerate.
2049*181254a7Smrg	* configure: Regenerate.
2050*181254a7Smrg
2051*181254a7Smrg2005-04-29  Tobias Schl"uter  <tobias.schlueter@physik.uni-muenchen.de>
2052*181254a7Smrg
2053*181254a7Smrg	* intrinsics/rename.c: Add missing #includes.
2054*181254a7Smrg
2055*181254a7Smrg2005-04-28  Tobias Schl"uter  <tobias.schlueter@physik.uni-muenchen.de>
2056*181254a7Smrg
2057*181254a7Smrg	* AUTHORS, COPYING, INSTALL, NEWS, README: Remove.
2058*181254a7Smrg
2059*181254a7Smrg2005-04-26  David Edelsohn  <edelsohn@gnu.org>
2060*181254a7Smrg
2061*181254a7Smrg	PR libfortran/20930
2062*181254a7Smrg	* io/rewind.c (st_rewind): Flush the stream when resetting the mode
2063*181254a7Smrg	from WRITING to READING.
2064*181254a7Smrg
2065*181254a7Smrg2005-04-22  Paul Thomas  <pault@gcc.gnu.org>
2066*181254a7Smrg	    Jerry DeLisle  <jvdelisle@verizon.net>
2067*181254a7Smrg
2068*181254a7Smrg	* io/write.c (nml_write_obj): Provide 1 more byte for ext_name.
2069*181254a7Smrg	* io/list_read.c (nml_get_obj_data): Put extra brackets in get_mem
2070*181254a7Smrg	call for ext_name.  These fix the bug reported by Jerry DeLisle to
2071*181254a7Smrg	the fortran list and are based on his suggested fix.
2072*181254a7Smrg
2073*181254a7Smrg2005-04-22  Thomas Koenig  <Thomas.Koenig@online.de>
2074*181254a7Smrg
2075*181254a7Smrg	PR libfortran/20074
2076*181254a7Smrg	PR libfortran/20436
2077*181254a7Smrg	PR libfortran/21108
2078*181254a7Smrg	* m4/reshape.m4 (reshape_`'rtype_kind):  rs, rex:  New
2079*181254a7Smrg	variables, to be used in calculation of return array sizes.
2080*181254a7Smrg	Populate return array descriptor if ret->data is NULL.
2081*181254a7Smrg	Fix condition for early return (it used to test something
2082*181254a7Smrg	undefined if order was used).
2083*181254a7Smrg	Remove duplicate check wether pad is used.
2084*181254a7Smrg	* intrinsics/reshape_generic.c (reshape_generic): Likewise.
2085*181254a7Smrg	Fix a few places where the wrong variables were set.
2086*181254a7Smrg	* generated/reshape_i4.c: Regenerated.
2087*181254a7Smrg	* generated/reshape_i8.c: Regenerated.
2088*181254a7Smrg
2089*181254a7Smrg2005-04-18  Paul  Thomas <pault@gcc.gnu.org>
2090*181254a7Smrg
2091*181254a7Smrg	* io/list_read.c (nml_touch_nodes, nml_read_obj,
2092*181254a7Smrg	nml_get_obj_data): Fix memory leaks in code for derived types.
2093*181254a7Smrg
2094*181254a7Smrg2005-04-11  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
2095*181254a7Smrg
2096*181254a7Smrg	PR libfortran/20950
2097*181254a7Smrg	* io/inquire.c (inquire_via_unit): Check for the gfc_unit being
2098*181254a7Smrg	NULL when setting ioparm.sequential.
2099*181254a7Smrg
2100*181254a7Smrg2005-04-17  Thomas Koenig  <Thomas.Koenig@online.de>
2101*181254a7Smrg
2102*181254a7Smrg	PR libfortran/21075
2103*181254a7Smrg	* m4/reshape.m4 (reshape_`'rtype_kind):  Change dimension
2104*181254a7Smrg	of auxiliary arrays from GFC_MAX_DIMENSIONS - 1 to
2105*181254a7Smrg	GFC_MAX_DIMENSIONS.
2106*181254a7Smrg	* intrinsics/reshape_generic.c (reshape_generic):  Likewise.
2107*181254a7Smrg	* generated/reshape_i4.c:  Regenerated.
2108*181254a7Smrg	* generated/reshape_i8.c:  Regenerated.
2109*181254a7Smrg
2110*181254a7Smrg2005-04-17 Paul Thomas <pault@gcc.gnu.org>
2111*181254a7Smrg
2112*181254a7Smrg	* io/list_read.c (eat_separator): at_eol = 1 replaced
2113*181254a7Smrg	(zapped at some time?).
2114*181254a7Smrg
2115*181254a7Smrg2005-04-17 Paul Thomas <pault@gcc.gnu.org>
2116*181254a7Smrg
2117*181254a7Smrg	PR libfortran/12884
2118*181254a7Smrg	PR libfortran/17285
2119*181254a7Smrg	PR libfortran/18122
2120*181254a7Smrg	PR libfortran/18210
2121*181254a7Smrg	PR libfortran/18392
2122*181254a7Smrg	PR libfortran/18591
2123*181254a7Smrg	PR libfortran/18879
2124*181254a7Smrg	* io/io.h (nml_ls): Declare.
2125*181254a7Smrg	(namelist_info): Modify for arrays.
2126*181254a7Smrg	* io/list_read.c (namelist_read): Reduced to call to new functions.
2127*181254a7Smrg	(match_namelist_name): Simplified.
2128*181254a7Smrg	(nml_query): Handles stdin queries ? and =?. New function.
2129*181254a7Smrg	(nml_get_obj_data): Parses object name. New function.
2130*181254a7Smrg	(touch_nml_nodes): Marks objects for read. New function.
2131*181254a7Smrg	(untouch_nml_nodes): Resets objects. New function.
2132*181254a7Smrg	(parse_qualifier): Parses and checks qualifiers. New function
2133*181254a7Smrg	(nml_read_object): Reads and stores object data. New function.
2134*181254a7Smrg	(eat_separator): No new_record on '/' in namelist.
2135*181254a7Smrg	(finish_separator): No new_record on '/' in namelist.
2136*181254a7Smrg	(read_logical): Error return for namelist.
2137*181254a7Smrg	(read_integer): Error return for namelist.
2138*181254a7Smrg	(read_complex): Error return for namelist.
2139*181254a7Smrg	(read_real): Error return for namelist.
2140*181254a7Smrg	* io/lock.c (library_end): Free extended namelist_info types.
2141*181254a7Smrg	* io/transfer.c (st_set_nml_var): Modified for arrays.
2142*181254a7Smrg	(st_set_nml_var_dim): Dimension descriptors. New function.
2143*181254a7Smrg	* io/write.c (namelist_write): Reduced to call to new functions.
2144*181254a7Smrg	(nml_write_obj): Writes output for object. New function.
2145*181254a7Smrg	(write_integer): Suppress leading blanks for repeat counts.
2146*181254a7Smrg	(write_int): Suppress leading blanks for repeat counts.
2147*181254a7Smrg	(write_float): Suppress leading blanks for repeat counts.
2148*181254a7Smrg	(output_float): Suppress leading blanks for repeat counts.
2149*181254a7Smrg
2150*181254a7Smrg2005-04-15  Thomas Koenig  <Thomas.Koenig@online.de>
2151*181254a7Smrg
2152*181254a7Smrg	PR libfortran/18495
2153*181254a7Smrg	* intrinsics/spread_generic.c (spread):  Remove const from
2154*181254a7Smrg	return array descriptor.
2155*181254a7Smrg	New variables: rrank (rank of return array),  rs (for
2156*181254a7Smrg	calculating the size of the return array), srank (rank
2157*181254a7Smrg	of the source array).
2158*181254a7Smrg	Generate runtime error if the dim= argument is larger than
2159*181254a7Smrg	the rank of the return array.
2160*181254a7Smrg	Generate runtime error if the needed rank of the return
2161*181254a7Smrg	array is larger than 7.
2162*181254a7Smrg	If ret->data is null, populate the return array descriptor
2163*181254a7Smrg	and initialize the variables for the actual operation.
2164*181254a7Smrg	Otherwise, set ret->dim[0].stride to one if it is zero.
2165*181254a7Smrg	Change second, independent use of variable dim to srank.
2166*181254a7Smrg
2167*181254a7Smrg2005-04-12  Mike Stump  <mrs@apple.com>
2168*181254a7Smrg
2169*181254a7Smrg	* configure: Regenerate.
2170*181254a7Smrg
2171*181254a7Smrg2005-04-13  Thomas Koenig  <Thomas.Koenig@online.de>
2172*181254a7Smrg
2173*181254a7Smrg	PR libfortran/19106
2174*181254a7Smrg	* m4/iforeach.c (name`'rtype_qual`_'atype_code):  Add TODO
2175*181254a7Smrg	that setting correct strides is a front end job.
2176*181254a7Smrg	(`m'name`'rtype_qual`_'atype_code):  Likewise.  If mask has
2177*181254a7Smrg	a lowest stride of 0, adjust to 1.
2178*181254a7Smrg	* m4/ifunction.c (name`'rtype_qual`_'atype_code):  Add TODO
2179*181254a7Smrg	that setting correct strides is a front end job.
2180*181254a7Smrg	(`m'name`'rtype_qual`_'atype_code):  Likewise.  If mask has
2181*181254a7Smrg	a lowest stride of 0, adjust to 1.
2182*181254a7Smrg	* maxloc0_4_i4.c: Regenerated
2183*181254a7Smrg	* maxloc0_4_i8.c: Regenerated
2184*181254a7Smrg	* maxloc0_4_r4.c: Regenerated
2185*181254a7Smrg	* maxloc0_4_r8.c: Regenerated
2186*181254a7Smrg	* maxloc0_8_i4.c: Regenerated
2187*181254a7Smrg	* maxloc0_8_i8.c: Regenerated
2188*181254a7Smrg	* maxloc0_8_r4.c: Regenerated
2189*181254a7Smrg	* maxloc0_8_r8.c: Regenerated
2190*181254a7Smrg	* maxloc1_4_i4.c: Regenerated
2191*181254a7Smrg	* maxloc1_4_i8.c: Regenerated
2192*181254a7Smrg	* maxloc1_4_r4.c: Regenerated
2193*181254a7Smrg	* maxloc1_4_r8.c: Regenerated
2194*181254a7Smrg	* maxloc1_8_i4.c: Regenerated
2195*181254a7Smrg	* maxloc1_8_i8.c: Regenerated
2196*181254a7Smrg	* maxloc1_8_r4.c: Regenerated
2197*181254a7Smrg	* maxloc1_8_r8.c: Regenerated
2198*181254a7Smrg	* maxval_i4.c: Regenerated
2199*181254a7Smrg	* maxval_i8.c: Regenerated
2200*181254a7Smrg	* maxval_r4.c: Regenerated
2201*181254a7Smrg	* maxval_r8.c: Regenerated
2202*181254a7Smrg	* minloc0_4_i4.c: Regenerated
2203*181254a7Smrg	* minloc0_4_i8.c: Regenerated
2204*181254a7Smrg	* minloc0_4_r4.c: Regenerated
2205*181254a7Smrg	* minloc0_4_r8.c: Regenerated
2206*181254a7Smrg	* minloc0_8_i4.c: Regenerated
2207*181254a7Smrg	* minloc0_8_i8.c: Regenerated
2208*181254a7Smrg	* minloc0_8_r4.c: Regenerated
2209*181254a7Smrg	* minloc0_8_r8.c: Regenerated
2210*181254a7Smrg	* minloc1_4_i4.c: Regenerated
2211*181254a7Smrg	* minloc1_4_i8.c: Regenerated
2212*181254a7Smrg	* minloc1_4_r4.c: Regenerated
2213*181254a7Smrg	* minloc1_4_r8.c: Regenerated
2214*181254a7Smrg	* minloc1_8_i4.c: Regenerated
2215*181254a7Smrg	* minloc1_8_i8.c: Regenerated
2216*181254a7Smrg	* minloc1_8_r4.c: Regenerated
2217*181254a7Smrg	* minloc1_8_r8.c: Regenerated
2218*181254a7Smrg	* minval_i4.c: Regenerated
2219*181254a7Smrg	* minval_i8.c: Regenerated
2220*181254a7Smrg	* minval_r4.c: Regenerated
2221*181254a7Smrg	* minval_r8.c: Regenerated
2222*181254a7Smrg	* product_c4.c: Regenerated
2223*181254a7Smrg	* product_c8.c: Regenerated
2224*181254a7Smrg	* product_i4.c: Regenerated
2225*181254a7Smrg	* product_i8.c: Regenerated
2226*181254a7Smrg	* product_r4.c: Regenerated
2227*181254a7Smrg	* product_r8.c: Regenerated
2228*181254a7Smrg	* sum_c4.c: Regenerated
2229*181254a7Smrg	* sum_c8.c: Regenerated
2230*181254a7Smrg	* sum_i4.c: Regenerated
2231*181254a7Smrg	* sum_i8.c: Regenerated
2232*181254a7Smrg	* sum_r4.c: Regenerated
2233*181254a7Smrg	* sum_r8.c: Regenerated
2234*181254a7Smrg
2235*181254a7Smrg2005-04-10  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
2236*181254a7Smrg
2237*181254a7Smrg	PR libfortran/20788
2238*181254a7Smrg	* runtime/environ.c (init_unsigned_integer): Function for
2239*181254a7Smrg	environment variables we want to be positive.
2240*181254a7Smrg	(init_integer): Function to allow negative environment
2241*181254a7Smrg	variables (e.g. for GFORTRAN_STDIN_UNIT).
2242*181254a7Smrg
2243*181254a7Smrg2005-04-10  Thomas Koenig <Thomas.Koenig@online.de>
2244*181254a7Smrg
2245*181254a7Smrg	PR libfortran/17992
2246*181254a7Smrg	PR libfortran/19568
2247*181254a7Smrg	PR libfortran/19595
2248*181254a7Smrg	PR libfortran/20005
2249*181254a7Smrg	PR libfortran/20092
2250*181254a7Smrg	PR libfortran/20131
2251*181254a7Smrg	PR libfortran/20661
2252*181254a7Smrg	PR libfortran/20744
2253*181254a7Smrg	* io/transfer.c (top level): eor_condition: New static variable.
2254*181254a7Smrg	(read_sf): Remove unnecessary zeroing of buffer (there is enough
2255*181254a7Smrg	information in its length).
2256*181254a7Smrg	Return a string of length 0 (to be padded by caller) if EOR was
2257*181254a7Smrg	seen previously.
2258*181254a7Smrg	Remove erroneous special casing of EOR for standard input.
2259*181254a7Smrg	Set eor_condition for non-advancing I/O if an end of line was
2260*181254a7Smrg	detected.
2261*181254a7Smrg	Increment ioparm.size if necessary.
2262*181254a7Smrg	(formatted_transfer):  Skip the function if there is an EOR condition.
2263*181254a7Smrg	(data_transfer_init):  Initialize eor_condition to zero (false).
2264*181254a7Smrg	(next_record_r):  Clear sf_seen_eor if a \n has been seen already.
2265*181254a7Smrg	(finalize_transfer):  If there is an EOR condition, raise the error.
2266*181254a7Smrg
2267*181254a7Smrg2005-04-09  Bud Davis  <bdavis@gfortran.org>
2268*181254a7Smrg	    Steven G. Kargl <kargls@comcast.net>
2269*181254a7Smrg
2270*181254a7Smrg	PR fortran/19872
2271*181254a7Smrg	* io/transfer.c (data_transfer_init): truncate an existing
2272*181254a7Smrg	file on the first write.
2273*181254a7Smrg
2274*181254a7Smrg2005-04-09  Thomas Koenig  <Thomas.Koenig@online.de>
2275*181254a7Smrg
2276*181254a7Smrg	PR libfortran/19106
2277*181254a7Smrg	PR libfortran/19014
2278*181254a7Smrg	* m4/ifunction.m4 (name`'rtype_qual`_'atype_code): ditto.
2279*181254a7Smrg	If retarray->data is NULL (i.e. the front end does not
2280*181254a7Smrg	know the rank and dimenson of the array), fill in its
2281*181254a7Smrg	properties and allocate memory.
2282*181254a7Smrg	Change the assertions about rank and dimension of retarray into
2283*181254a7Smrg	runtime errors and only check them for retarray->data != NULL.
2284*181254a7Smrg	Do the same for correcting the stride from 0 to 1 in retarray.
2285*181254a7Smrg	(`m'name`'rtype_qual`_'atype_code): Likewise.
2286*181254a7Smrg	* m4/iforeach.m4 (name`'rtype_qual`_'atype_code): Likewise.
2287*181254a7Smrg	Change assertion about rank of array to runtime error.
2288*181254a7Smrg	(`m'name`'rtype_qual`_'atype_code): Likewise.
2289*181254a7Smrg	* generated/all_l4.c: Regenerated.
2290*181254a7Smrg	* generated/all_l8.c: Regenerated.
2291*181254a7Smrg	* generated/any_l4.c: Regenerated.
2292*181254a7Smrg	* generated/any_l8.c: Regenerated.
2293*181254a7Smrg	* generated/count_4_l4.c: Regenerated.
2294*181254a7Smrg	* generated/count_4_l8.c: Regenerated.
2295*181254a7Smrg	* generated/count_8_l4.c: Regenerated.
2296*181254a7Smrg	* generated/count_8_l8.c: Regenerated.
2297*181254a7Smrg	* generated/maxloc0_4_i4.c: Regenerated.
2298*181254a7Smrg	* generated/maxloc0_4_i8.c: Regenerated.
2299*181254a7Smrg	* generated/maxloc0_4_r4.c: Regenerated.
2300*181254a7Smrg	* generated/maxloc0_4_r8.c: Regenerated.
2301*181254a7Smrg	* generated/maxloc0_8_i4.c: Regenerated.
2302*181254a7Smrg	* generated/maxloc0_8_i8.c: Regenerated.
2303*181254a7Smrg	* generated/maxloc0_8_r4.c: Regenerated.
2304*181254a7Smrg	* generated/maxloc0_8_r8.c: Regenerated.
2305*181254a7Smrg	* generated/maxloc1_4_i4.c: Regenerated.
2306*181254a7Smrg	* generated/maxloc1_4_i8.c: Regenerated.
2307*181254a7Smrg	* generated/maxloc1_4_r4.c: Regenerated.
2308*181254a7Smrg	* generated/maxloc1_4_r8.c: Regenerated.
2309*181254a7Smrg	* generated/maxloc1_8_i4.c: Regenerated.
2310*181254a7Smrg	* generated/maxloc1_8_i8.c: Regenerated.
2311*181254a7Smrg	* generated/maxloc1_8_r4.c: Regenerated.
2312*181254a7Smrg	* generated/maxloc1_8_r8.c: Regenerated.
2313*181254a7Smrg	* generated/maxval_i4.c: Regenerated.
2314*181254a7Smrg	* generated/maxval_i8.c: Regenerated.
2315*181254a7Smrg	* generated/maxval_r4.c: Regenerated.
2316*181254a7Smrg	* generated/maxval_r8.c: Regenerated.
2317*181254a7Smrg	* generated/minloc0_4_i4.c: Regenerated.
2318*181254a7Smrg	* generated/minloc0_4_i8.c: Regenerated.
2319*181254a7Smrg	* generated/minloc0_4_r4.c: Regenerated.
2320*181254a7Smrg	* generated/minloc0_4_r8.c: Regenerated.
2321*181254a7Smrg	* generated/minloc0_8_i4.c: Regenerated.
2322*181254a7Smrg	* generated/minloc0_8_i8.c: Regenerated.
2323*181254a7Smrg	* generated/minloc0_8_r4.c: Regenerated.
2324*181254a7Smrg	* generated/minloc0_8_r8.c: Regenerated.
2325*181254a7Smrg	* generated/minloc1_4_i4.c: Regenerated.
2326*181254a7Smrg	* generated/minloc1_4_i8.c: Regenerated.
2327*181254a7Smrg	* generated/minloc1_4_r4.c: Regenerated.
2328*181254a7Smrg	* generated/minloc1_4_r8.c: Regenerated.
2329*181254a7Smrg	* generated/minloc1_8_i4.c: Regenerated.
2330*181254a7Smrg	* generated/minloc1_8_i8.c: Regenerated.
2331*181254a7Smrg	* generated/minloc1_8_r4.c: Regenerated.
2332*181254a7Smrg	* generated/minloc1_8_r8.c: Regenerated.
2333*181254a7Smrg	* generated/minval_i4.c: Regenerated.
2334*181254a7Smrg	* generated/minval_i8.c: Regenerated.
2335*181254a7Smrg	* generated/minval_r4.c: Regenerated.
2336*181254a7Smrg	* generated/minval_r8.c: Regenerated.
2337*181254a7Smrg	* generated/product_c4.c: Regenerated.
2338*181254a7Smrg	* generated/product_c8.c: Regenerated.
2339*181254a7Smrg	* generated/product_i4.c: Regenerated.
2340*181254a7Smrg	* generated/product_i8.c: Regenerated.
2341*181254a7Smrg	* generated/product_r4.c: Regenerated.
2342*181254a7Smrg	* generated/product_r8.c: Regenerated.
2343*181254a7Smrg	* generated/sum_c4.c: Regenerated.
2344*181254a7Smrg	* generated/sum_c8.c: Regenerated.
2345*181254a7Smrg	* generated/sum_i4.c: Regenerated.
2346*181254a7Smrg	* generated/sum_i8.c: Regenerated.
2347*181254a7Smrg	* generated/sum_r4.c: Regenerated.
2348*181254a7Smrg	* generated/sum_r8.c: Regenerated.
2349*181254a7Smrg
2350*181254a7Smrg2005-04-09  Thomas Koenig <Thomas.Koenig@online.de>
2351*181254a7Smrg
2352*181254a7Smrg	PR libfortran/20163
2353*181254a7Smrg	* runtime/string.c (compare0): Use fstrlen() to
2354*181254a7Smrg	strip trailing blanks from option string.
2355*181254a7Smrg
2356*181254a7Smrg2005-04-09  Andrew Pinski  <pinskia@physics.uc.edu>
2357*181254a7Smrg
2358*181254a7Smrg	PR fortran/13257
2359*181254a7Smrg	* format.c (parse_format_list): Allow an optional comma
2360*181254a7Smrg	between descriptors.
2361*181254a7Smrg
2362*181254a7Smrg2005-04-08  Eric Botcazou  <ebotcazou@libertysurf.fr>
2363*181254a7Smrg
2364*181254a7Smrg	* io/backspace.c (unformatted_backspace): Do not dereference
2365*181254a7Smrg	the pointer to the stream.
2366*181254a7Smrg
2367*181254a7Smrg2005-04-07  Andrew Pinski  <pinskia@physics.uc.edu>
2368*181254a7Smrg
2369*181254a7Smrg	PR libfortran/20766
2370*181254a7Smrg	* configure.ac (extra_ldflags_libgfortran): Set for *-darwin* to
2371*181254a7Smrg	"-Wl,-single_module".
2372*181254a7Smrg	* configure: Regenerate.
2373*181254a7Smrg	* Makefile.am (libgfortran_la_LDFLAGS): Add extra_ldflags_libgfortran.
2374*181254a7Smrg	* Makefile.in: Regenerate.
2375*181254a7Smrg
2376*181254a7Smrg2005-04-05  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
2377*181254a7Smrg
2378*181254a7Smrg	PR libfortran/20755
2379*181254a7Smrg	* write.c (write_float): A G edit descriptor may locally change
2380*181254a7Smrg	the scale factor, but it needs to be restored afterwards.
2381*181254a7Smrg
2382*181254a7Smrg2005-04-03  Dale Ranta  <dir@lanl.gov>
2383*181254a7Smrg	    Francois-Xavier Coudert  <coudert@clipper.ens.fr>
2384*181254a7Smrg
2385*181254a7Smrg	PR libfortran/20068
2386*181254a7Smrg	PR libfortran/20125
2387*181254a7Smrg	PR libfortran/20156
2388*181254a7Smrg	PR libfortran/20471
2389*181254a7Smrg	* io/backspace.c (unformatted_backspace): Fix error in arithmetic.
2390*181254a7Smrg	(st_backspace): When in WRITING mode, we flush and falling back
2391*181254a7Smrg	into READING mode. In all cases, correctly position the stream.
2392*181254a7Smrg
2393*181254a7Smrg2005-03-31  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
2394*181254a7Smrg
2395*181254a7Smrg	PR libfortran/20660
2396*181254a7Smrg	* io/inquire.c (inquire_via_unit): Non-opened units should still be
2397*181254a7Smrg	reported by an INQUIRE statement as existing.
2398*181254a7Smrg	* io/transfer.c (data_transfer_init): Never accept negative units.
2399*181254a7Smrg
2400*181254a7Smrg2005-03-29  Dale Ranta  <dir@lanl.gov>
2401*181254a7Smrg	    Francois-Xavier Coudert  <coudert@clipper.ens.fr>
2402*181254a7Smrg
2403*181254a7Smrg	PR libfortran/20163
2404*181254a7Smrg	* io/open.c (st_open): call library_end() before returning even if
2405*181254a7Smrg	an error arises.
2406*181254a7Smrg
2407*181254a7Smrg2005-03-25  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
2408*181254a7Smrg
2409*181254a7Smrg	PR libfortran/19678
2410*181254a7Smrg	* list_read.c (next_char, eat_separator, finish_separator, read_real)
2411*181254a7Smrg	(namelist_read): Add support for '\r' as well as '\n' as EOL
2412*181254a7Smrg	character.
2413*181254a7Smrg
2414*181254a7Smrg	PR libfortran/19679
2415*181254a7Smrg	* list_read.c (read_sf): Add a '\r' in a test to support DOS
2416*181254a7Smrg	line-endings when line length is exceeded.
2417*181254a7Smrg
2418*181254a7Smrg2005-03-25  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
2419*181254a7Smrg
2420*181254a7Smrg	PR libfortran/15332
2421*181254a7Smrg	* io/format.c (parse_format_list): format node for colon edit
2422*181254a7Smrg	descriptor needs a repeat counter set to 1.
2423*181254a7Smrg
2424*181254a7Smrg2005-02-24  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
2425*181254a7Smrg
2426*181254a7Smrg	* config.h.in: Regenerate.
2427*181254a7Smrg
2428*181254a7Smrg2005-02-23  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
2429*181254a7Smrg
2430*181254a7Smrg	PR libfortran/18025
2431*181254a7Smrg	* write.c (output_float): Handling the "F0.d" format similarly as
2432*181254a7Smrg	commercial compilers.
2433*181254a7Smrg
2434*181254a7Smrg2005-03-22  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
2435*181254a7Smrg
2436*181254a7Smrg	* Makefile.am: Added new files.
2437*181254a7Smrg	* Makefile.in: Regenerate.
2438*181254a7Smrg	* aclocal.m4: Regenerate.
2439*181254a7Smrg	* configure.ac: add checks for signal.h headers file, as well as
2440*181254a7Smrg	following functions: chdir, strerror, getlogin, gethostname, kill,
2441*181254a7Smrg	link, symlink, perror, sleep, time.
2442*181254a7Smrg	* configure: Regenerate.
2443*181254a7Smrg	* intrinsics/chdir.c, intrinsics/gerror.c, intrinsics/getlog.c,
2444*181254a7Smrg	intrinsics/hostnm.c, intrinsics/ierrno.c, intrinsics/kill.c,
2445*181254a7Smrg	intrinsics/link.c, intrinsics/perror.c, intrinsics/rename.c,
2446*181254a7Smrg	intrinsics/sleep.c, intrinsics/symlnk.c, intrinsics/time.c: Newly
2447*181254a7Smrg	implementend g77 intrinsics.
2448*181254a7Smrg
2449*181254a7Smrg2005-03-21  Zack Weinberg  <zack@codesourcery.com>
2450*181254a7Smrg
2451*181254a7Smrg	* configure.ac: Do not invoke TL_AC_GCC_VERSION.
2452*181254a7Smrg	In all substitutions, leave gcc_version to be expanded by the Makefile.
2453*181254a7Smrg	* aclocal.m4, configure: Regenerate.
2454*181254a7Smrg	* Makefile.am: Set gcc_version.
2455*181254a7Smrg	* Makefile.in: Regenerate.
2456*181254a7Smrg
2457*181254a7Smrg2005-03-16  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
2458*181254a7Smrg
2459*181254a7Smrg	PR libfortran/20257
2460*181254a7Smrg	* open.c (new_unit): set record length to max_offset rather than
2461*181254a7Smrg	  using a hard-coded limit (which was too low).
2462*181254a7Smrg
2463*181254a7Smrg2005-03-16  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
2464*181254a7Smrg
2465*181254a7Smrg	PR libfortran/20480
2466*181254a7Smrg	* write.c (output_float): special check when writing 0.0 with
2467*181254a7Smrg	  EN and ES formats.
2468*181254a7Smrg
2469*181254a7Smrg2005-03-11  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
2470*181254a7Smrg
2471*181254a7Smrg	PR libfortran/20124
2472*181254a7Smrg	* write.c (output_float): Adds a nzero_real variable to store
2473*181254a7Smrg	the number of leading zeros whatever the format width is. Corrects
2474*181254a7Smrg	the rounding of numbers less than 10^(-width). Fixes typo in an
2475*181254a7Smrg	error message. Updates copyright years
2476*181254a7Smrg
2477*181254a7Smrg2005-02-27  Toon Moene  <toon@moene.indiv.nluug.nl>
2478*181254a7Smrg
2479*181254a7Smrg	* runtime/environ.c: Update copyright years.
2480*181254a7Smrg
2481*181254a7Smrg2005-02-27  Tobias Schl"uter  <tobias.schlueter@physik.uni-muenchen.de>
2482*181254a7Smrg
2483*181254a7Smrg	* io/write.c: Update copyright years.
2484*181254a7Smrg
2485*181254a7Smrg2005-02-27  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
2486*181254a7Smrg
2487*181254a7Smrg	PR libfortran/20101
2488*181254a7Smrg	* io/write.c (output_float): Added special check for value 0.0 in
2489*181254a7Smrg	PE format.
2490*181254a7Smrg
2491*181254a7Smrg2005-02-27  Tobias Schl"uter  <tobias.schlueter@physik.uni-muenchen.de>
2492*181254a7Smrg
2493*181254a7Smrg	* io/write.c (output_float): Fix typo in condition.
2494*181254a7Smrg
2495*181254a7Smrg2005-02-25  Peter O'Gorman  <peter@pogma.com>
2496*181254a7Smrg	    Toon Moene  <toon@moene.indiv.nluug.nl>
2497*181254a7Smrg
2498*181254a7Smrg	PR libfortran/17748
2499*181254a7Smrg	* runtime/environ.c: Remove references to environ.
2500*181254a7Smrg	(show_variables): remove GFORTRAN_UNBUFFERED_* and
2501*181254a7Smrg	GFORTRAN_NAME_* because they require environ.
2502*181254a7Smrg	(pattern_scan): Remove function.
2503*181254a7Smrg
2504*181254a7Smrg2005-02-22  Paul Thomas <paulthomas2@wannado.fr>
2505*181254a7Smrg	    Bud Davis  <bdavis@gfortran.org>
2506*181254a7Smrg
2507*181254a7Smrg	* io/list_read.c (read_real): Handle separators properly
2508*181254a7Smrg	in list directed read.
2509*181254a7Smrg
2510*181254a7Smrg2005-02-21  Bud Davis  <bdavis@gfortran.org>
2511*181254a7Smrg
2512*181254a7Smrg	PR fortran/20086
2513*181254a7Smrg	* io/transfer.c (write_constant_string): accept an 'h' as
2514*181254a7Smrg	the start of a hollerith format string.
2515*181254a7Smrg
2516*181254a7Smrg2005-02-21  Eric Botcazou  <ebotcazou@libertysurf.fr>
2517*181254a7Smrg
2518*181254a7Smrg	PR libfortran/19302
2519*181254a7Smrg	* intrinsics/c99_functions.c (nextafterf): Special-case infinite
2520*181254a7Smrg	numbers.
2521*181254a7Smrg
2522*181254a7Smrg2005-02-21  Steven G. Kargl  <kargls@comcast.net>
2523*181254a7Smrg
2524*181254a7Smrg	* io/write.c (output_float):  Typo in error meesage.
2525*181254a7Smrg
2526*181254a7Smrg2005-02-20  Steven G. Kargl  <kargls@comcast.net>
2527*181254a7Smrg
2528*181254a7Smrg	PR 20085
2529*181254a7Smrg	* intrinsic/args.c (iargc): Off by 1.
2530*181254a7Smrg
2531*181254a7Smrg2005-02-19  Steven G. Kargl  <kargls@comcast.net>
2532*181254a7Smrg
2533*181254a7Smrg	*  intrinsic/date_and_time.c: Fix conformance problems.
2534*181254a7Smrg
2535*181254a7Smrg2005-02-01  Paul Thomas <paulthomas2@wanadoo.fr>
2536*181254a7Smrg
2537*181254a7Smrg	PR libfortran/19363
2538*181254a7Smrg	PR libfortran/19691
2539*181254a7Smrg	* libgfortran.h (isfinite): Work around broken isfinite(x) in Cygwin.
2540*181254a7Smrg
2541*181254a7Smrg2005-01-30  Bud Davis  <bdavis@gfortran.org>
2542*181254a7Smrg
2543*181254a7Smrg	PR fortran/19647
2544*181254a7Smrg	* io/inquire.c (inquire_via_unit): Use correct variable for
2545*181254a7Smrg	pad.
2546*181254a7Smrg
2547*181254a7Smrg2005-01-29  Thomas Koenig  <Thomas.Koenig@online.de>
2548*181254a7Smrg
2549*181254a7Smrg	PR libfortran/19595
2550*181254a7Smrg	* io/transfer.c (data_transfer_init): eor requires advance="NO".
2551*181254a7Smrg
2552*181254a7Smrg2005-01-25  Tobias Schl"uter  <tobias.schlueter@physik.uni-muenchen.de>
2553*181254a7Smrg
2554*181254a7Smrg	PR libfortran/19524
2555*181254a7Smrg	* io/read.c (read_f): Don't free uninitialized pointer.
2556*181254a7Smrg
2557*181254a7Smrg2005-01-23  James A. Morrison  <phython@gcc.gnu.org>
2558*181254a7Smrg	Paul Brook  <paul@codesourcery.com>
2559*181254a7Smrg
2560*181254a7Smrg	PR fortran/19294
2561*181254a7Smrg	* Makefile.am: Add transpose_c4.c and transpose_c8.c.
2562*181254a7Smrg	* intrinsics/cshift0.c: Use separate optimized loops for complex types.
2563*181254a7Smrg	* m4/transpose.m4: Include type letter in function name.
2564*181254a7Smrg	* Makefile.in: Regenerate.
2565*181254a7Smrg	* generated/transpose_*.c: Regenerate.
2566*181254a7Smrg
2567*181254a7Smrg2005-01-22  Thomas Koenig  <Thomas.Koenig@online.de>
2568*181254a7Smrg
2569*181254a7Smrg	PR libfortran/19451
2570*181254a7Smrg	* io/transfer.c (finalize_transfer):  Don't do anything if
2571*181254a7Smrg	there is an error condition.
2572*181254a7Smrg
2573*181254a7Smrg2005-01-22  David Edelsohn  <edelsohn@gnu.org>
2574*181254a7Smrg
2575*181254a7Smrg	PR libfortran/19052
2576*181254a7Smrg	* libgfortran.h (options_t): Add stderr_unit.
2577*181254a7Smrg	* io/io.h (error_stream): Declare.
2578*181254a7Smrg	* io/open.c (new_unit): Do not terminate abnormally if opening
2579*181254a7Smrg	file preconnected to stdin, stdout, or stderr.
2580*181254a7Smrg	* io/unit.c (init_units): Initialize stderr_unit.
2581*181254a7Smrg	* io/unix.c (error_stream): New function.
2582*181254a7Smrg	* runtime/environ.c (GFORTRAN_STDERR_UNIT): New environment variable.
2583*181254a7Smrg
2584*181254a7Smrg2005-01-22  Thomas Koenig  <Thomas.Koenig@online.de>
2585*181254a7Smrg
2586*181254a7Smrg	PR libfortran/18982
2587*181254a7Smrg	* io/unix.c (regular_file):  No need to change flags->action
2588*181254a7Smrg	if an error occurs.  Document this.
2589*181254a7Smrg	No need to call stat() for STATUS_OLD, open() will
2590*181254a7Smrg	fail anyway.
2591*181254a7Smrg	For ACTION_UNSPECIFIED, try open for read-write, then for
2592*181254a7Smrg	read-only if open fails with EACCES, then for write-only
2593*181254a7Smrg	if that fails with EACCES again.
2594*181254a7Smrg	* io/unix.c (open_external): Document changed behavior of
2595*181254a7Smrg	regular_file.
2596*181254a7Smrg
2597*181254a7Smrg2005-01-22  Tobias Schl"uter  <tobias.schlueter@physik.uni-muenchen.de>
2598*181254a7Smrg
2599*181254a7Smrg	PR fortran/19194
2600*181254a7Smrg	* io/io.h (st_parameter): Use 'GFC_INTEGER_4' instead of 'int',
2601*181254a7Smrg	use CHARACTER macro for definition of string valued paramters.
2602*181254a7Smrg
2603*181254a7Smrg2005-01-22  Bud Davis  <bdavis9659@comcast.net>
2604*181254a7Smrg
2605*181254a7Smrg	PR fortran/19314
2606*181254a7Smrg	* io/inquire.c(inquire_via_unit): implement POSITION=.
2607*181254a7Smrg	* io/transfer.c(next_record): update position for
2608*181254a7Smrg	INQUIRE.
2609*181254a7Smrg	* io/rewind.c(st_rewind): update position for
2610*181254a7Smrg	INQUIRE.
2611*181254a7Smrg
2612*181254a7Smrg2005-01-16  Bud Davis  <bdavis9659@comcast.net>
2613*181254a7Smrg
2614*181254a7Smrg	PR fortran/18778
2615*181254a7Smrg	* io/transfer.c (us_read): no bytes available is not a
2616*181254a7Smrg	runtime error.
2617*181254a7Smrg
2618*181254a7Smrg2005-01-15  Bud Davis  <bdavis9659@comcast.net>
2619*181254a7Smrg
2620*181254a7Smrg	PR fortran/18983
2621*181254a7Smrg	* io/transfer.c (st_write_done): only truncate when it
2622*181254a7Smrg	is required.
2623*181254a7Smrg
2624*181254a7Smrg2005-01-12  Toon Moene  <toon@moene.indiv.nluug.nl>
2625*181254a7Smrg
2626*181254a7Smrg	PR libfortran/19280
2627*181254a7Smrg	c99_protos.h: License changed to GPL+exception.
2628*181254a7Smrg	libgfortran.h: Ditto.
2629*181254a7Smrg	intrinsics/abort.c: Ditto.
2630*181254a7Smrg	intrinsics/args.c: Ditto.
2631*181254a7Smrg	intrinsics/associated.c: Ditto.
2632*181254a7Smrg	intrinsics/bessel.c: Ditto.
2633*181254a7Smrg	intrinsics/c99_functions.c: Ditto.
2634*181254a7Smrg	intrinsics/cpu_time.c: Ditto.
2635*181254a7Smrg	intrinsics/cshift0.c: Ditto.
2636*181254a7Smrg	intrinsics/date_and_time.c: Ditto.
2637*181254a7Smrg	intrinsics/env.c: Ditto.
2638*181254a7Smrg	intrinsics/eoshift0.c: Ditto.
2639*181254a7Smrg	intrinsics/eoshift2.c: Ditto.
2640*181254a7Smrg	intrinsics/erf.c: Ditto.
2641*181254a7Smrg	intrinsics/etime.c: Ditto.
2642*181254a7Smrg	intrinsics/exit.c: Ditto.
2643*181254a7Smrg	intrinsics/flush.c: Ditto.
2644*181254a7Smrg	intrinsics/fnum.c: Ditto.
2645*181254a7Smrg	intrinsics/getXid.c: Ditto.
2646*181254a7Smrg	intrinsics/getcwd.c: Ditto.
2647*181254a7Smrg	intrinsics/ishftc.c: Ditto.
2648*181254a7Smrg	intrinsics/mvbits.c: Ditto.
2649*181254a7Smrg	intrinsics/pack_generic.c: Ditto.
2650*181254a7Smrg	intrinsics/rand.c: Ditto.
2651*181254a7Smrg	intrinsics/random.c: Ditto.
2652*181254a7Smrg	intrinsics/reshape_generic.c: Ditto.
2653*181254a7Smrg	intrinsics/reshape_packed.c: Ditto.
2654*181254a7Smrg	intrinsics/size.c: Ditto.
2655*181254a7Smrg	intrinsics/spread_generic.c: Ditto.
2656*181254a7Smrg	intrinsics/stat.c: Ditto.
2657*181254a7Smrg	intrinsics/string_intrinsics.c: Ditto.
2658*181254a7Smrg	intrinsics/system.c: Ditto.
2659*181254a7Smrg	intrinsics/system_clock.c: Ditto.
2660*181254a7Smrg	intrinsics/transpose_generic.c: Ditto.
2661*181254a7Smrg	intrinsics/umask.c: Ditto.
2662*181254a7Smrg	intrinsics/unlink.c: Ditto.
2663*181254a7Smrg	intrinsics/unpack_generic.c: Ditto.
2664*181254a7Smrg	io/backspace.c: Ditto.
2665*181254a7Smrg	io/close.c: Ditto.
2666*181254a7Smrg	io/endfile.c: Ditto.
2667*181254a7Smrg	io/format.c: Ditto.
2668*181254a7Smrg	io/inquire.c: Ditto.
2669*181254a7Smrg	io/io.h: Ditto.
2670*181254a7Smrg	io/list_read.c: Ditto.
2671*181254a7Smrg	io/lock.c: Ditto.
2672*181254a7Smrg	io/open.c: Ditto.
2673*181254a7Smrg	io/read.c: Ditto.
2674*181254a7Smrg	io/rewind.c: Ditto.
2675*181254a7Smrg	io/transfer.c: Ditto.
2676*181254a7Smrg	io/unit.c: Ditto.
2677*181254a7Smrg	io/unix.c: Ditto.
2678*181254a7Smrg	io/write.c: Ditto.
2679*181254a7Smrg	m4/all.m4: Ditto.
2680*181254a7Smrg	m4/any.m4: Ditto.
2681*181254a7Smrg	m4/cexp.m4: Ditto.
2682*181254a7Smrg	m4/chyp.m4: Ditto.
2683*181254a7Smrg	m4/count.m4: Ditto.
2684*181254a7Smrg	m4/cshift1.m4: Ditto.
2685*181254a7Smrg	m4/ctrig.m4: Ditto.
2686*181254a7Smrg	m4/dotprod.m4: Ditto.
2687*181254a7Smrg	m4/dotprodc.m4: Ditto.
2688*181254a7Smrg	m4/dotprodl.m4: Ditto.
2689*181254a7Smrg	m4/eoshift1.m4: Ditto.
2690*181254a7Smrg	m4/eoshift3.m4: Ditto.
2691*181254a7Smrg	m4/exponent.m4: Ditto.
2692*181254a7Smrg	m4/fraction.m4: Ditto.
2693*181254a7Smrg	m4/head.m4: Ditto.
2694*181254a7Smrg	m4/iforeach.m4: Ditto.
2695*181254a7Smrg	m4/ifunction.m4: Ditto.
2696*181254a7Smrg	m4/in_pack.m4: Ditto.
2697*181254a7Smrg	m4/in_unpack.m4: Ditto.
2698*181254a7Smrg	m4/iparm.m4: Ditto.
2699*181254a7Smrg	m4/matmul.m4: Ditto.
2700*181254a7Smrg	m4/matmull.m4: Ditto.
2701*181254a7Smrg	m4/maxloc0.m4: Ditto.
2702*181254a7Smrg	m4/maxloc1.m4: Ditto.
2703*181254a7Smrg	m4/maxval.m4: Ditto.
2704*181254a7Smrg	m4/minloc0.m4: Ditto.
2705*181254a7Smrg	m4/minloc1.m4: Ditto.
2706*181254a7Smrg	m4/minval.m4: Ditto.
2707*181254a7Smrg	m4/mtype.m4: Ditto.
2708*181254a7Smrg	m4/nearest.m4: Ditto.
2709*181254a7Smrg	m4/pow.m4: Ditto.
2710*181254a7Smrg	m4/product.m4: Ditto.
2711*181254a7Smrg	m4/reshape.m4: Ditto.
2712*181254a7Smrg	m4/set_exponent.m4: Ditto.
2713*181254a7Smrg	m4/shape.m4: Ditto.
2714*181254a7Smrg	m4/specific.m4: Ditto.
2715*181254a7Smrg	m4/specific2.m4: Ditto.
2716*181254a7Smrg	m4/sum.m4: Ditto.
2717*181254a7Smrg	m4/transpose.m4: Ditto.
2718*181254a7Smrg	m4/types.m4: Ditto.
2719*181254a7Smrg	runtime/environ.c: Ditto.
2720*181254a7Smrg	runtime/error.c: Ditto.
2721*181254a7Smrg	runtime/in_pack_generic.c: Ditto.
2722*181254a7Smrg	runtime/in_unpack_generic.c: Ditto.
2723*181254a7Smrg	runtime/main.c: Ditto.
2724*181254a7Smrg	runtime/memory.c: Ditto.
2725*181254a7Smrg	runtime/normalize.c: Ditto.
2726*181254a7Smrg	runtime/pause.c: Ditto.
2727*181254a7Smrg	runtime/select.c: Ditto.
2728*181254a7Smrg	runtime/stop.c: Ditto.
2729*181254a7Smrg	runtime/string.c: Ditto.
2730*181254a7Smrg	generated/_abs_c4.f90: Regenerated.
2731*181254a7Smrg	generated/_abs_c8.f90: Regenerated.
2732*181254a7Smrg	generated/_abs_i4.f90: Regenerated.
2733*181254a7Smrg	generated/_abs_i8.f90: Regenerated.
2734*181254a7Smrg	generated/_abs_r4.f90: Regenerated.
2735*181254a7Smrg	generated/_abs_r8.f90: Regenerated.
2736*181254a7Smrg	generated/_acos_r4.f90: Regenerated.
2737*181254a7Smrg	generated/_acos_r8.f90: Regenerated.
2738*181254a7Smrg	generated/_aint_r4.f90: Regenerated.
2739*181254a7Smrg	generated/_aint_r8.f90: Regenerated.
2740*181254a7Smrg	generated/_anint_r4.f90: Regenerated.
2741*181254a7Smrg	generated/_anint_r8.f90: Regenerated.
2742*181254a7Smrg	generated/_asin_r4.f90: Regenerated.
2743*181254a7Smrg	generated/_asin_r8.f90: Regenerated.
2744*181254a7Smrg	generated/_atan2_r4.f90: Regenerated.
2745*181254a7Smrg	generated/_atan2_r8.f90: Regenerated.
2746*181254a7Smrg	generated/_atan_r4.f90: Regenerated.
2747*181254a7Smrg	generated/_atan_r8.f90: Regenerated.
2748*181254a7Smrg	generated/_conjg_c4.f90: Regenerated.
2749*181254a7Smrg	generated/_conjg_c8.f90: Regenerated.
2750*181254a7Smrg	generated/_cos_c4.f90: Regenerated.
2751*181254a7Smrg	generated/_cos_c8.f90: Regenerated.
2752*181254a7Smrg	generated/_cos_r4.f90: Regenerated.
2753*181254a7Smrg	generated/_cos_r8.f90: Regenerated.
2754*181254a7Smrg	generated/_cosh_r4.f90: Regenerated.
2755*181254a7Smrg	generated/_cosh_r8.f90: Regenerated.
2756*181254a7Smrg	generated/_dim_i4.f90: Regenerated.
2757*181254a7Smrg	generated/_dim_i8.f90: Regenerated.
2758*181254a7Smrg	generated/_dim_r4.f90: Regenerated.
2759*181254a7Smrg	generated/_dim_r8.f90: Regenerated.
2760*181254a7Smrg	generated/_exp_c4.f90: Regenerated.
2761*181254a7Smrg	generated/_exp_c8.f90: Regenerated.
2762*181254a7Smrg	generated/_exp_r4.f90: Regenerated.
2763*181254a7Smrg	generated/_exp_r8.f90: Regenerated.
2764*181254a7Smrg	generated/_log10_r4.f90: Regenerated.
2765*181254a7Smrg	generated/_log10_r8.f90: Regenerated.
2766*181254a7Smrg	generated/_log_c4.f90: Regenerated.
2767*181254a7Smrg	generated/_log_c8.f90: Regenerated.
2768*181254a7Smrg	generated/_log_r4.f90: Regenerated.
2769*181254a7Smrg	generated/_log_r8.f90: Regenerated.
2770*181254a7Smrg	generated/_mod_i4.f90: Regenerated.
2771*181254a7Smrg	generated/_mod_i8.f90: Regenerated.
2772*181254a7Smrg	generated/_mod_r4.f90: Regenerated.
2773*181254a7Smrg	generated/_mod_r8.f90: Regenerated.
2774*181254a7Smrg	generated/_sign_i4.f90: Regenerated.
2775*181254a7Smrg	generated/_sign_i8.f90: Regenerated.
2776*181254a7Smrg	generated/_sign_r4.f90: Regenerated.
2777*181254a7Smrg	generated/_sign_r8.f90: Regenerated.
2778*181254a7Smrg	generated/_sin_c4.f90: Regenerated.
2779*181254a7Smrg	generated/_sin_c8.f90: Regenerated.
2780*181254a7Smrg	generated/_sin_r4.f90: Regenerated.
2781*181254a7Smrg	generated/_sin_r8.f90: Regenerated.
2782*181254a7Smrg	generated/_sinh_r4.f90: Regenerated.
2783*181254a7Smrg	generated/_sinh_r8.f90: Regenerated.
2784*181254a7Smrg	generated/_sqrt_c4.f90: Regenerated.
2785*181254a7Smrg	generated/_sqrt_c8.f90: Regenerated.
2786*181254a7Smrg	generated/_sqrt_r4.f90: Regenerated.
2787*181254a7Smrg	generated/_sqrt_r8.f90: Regenerated.
2788*181254a7Smrg	generated/_tan_r4.f90: Regenerated.
2789*181254a7Smrg	generated/_tan_r8.f90: Regenerated.
2790*181254a7Smrg	generated/_tanh_r4.f90: Regenerated.
2791*181254a7Smrg	generated/_tanh_r8.f90: Regenerated.
2792*181254a7Smrg	generated/all_l4.c: Regenerated.
2793*181254a7Smrg	generated/all_l8.c: Regenerated.
2794*181254a7Smrg	generated/any_l4.c: Regenerated.
2795*181254a7Smrg	generated/any_l8.c: Regenerated.
2796*181254a7Smrg	generated/count_4_l4.c: Regenerated.
2797*181254a7Smrg	generated/count_4_l8.c: Regenerated.
2798*181254a7Smrg	generated/count_8_l4.c: Regenerated.
2799*181254a7Smrg	generated/count_8_l8.c: Regenerated.
2800*181254a7Smrg	generated/cshift1_4.c: Regenerated.
2801*181254a7Smrg	generated/cshift1_8.c: Regenerated.
2802*181254a7Smrg	generated/dotprod_c4.c: Regenerated.
2803*181254a7Smrg	generated/dotprod_c8.c: Regenerated.
2804*181254a7Smrg	generated/dotprod_i4.c: Regenerated.
2805*181254a7Smrg	generated/dotprod_i8.c: Regenerated.
2806*181254a7Smrg	generated/dotprod_l4.c: Regenerated.
2807*181254a7Smrg	generated/dotprod_l8.c: Regenerated.
2808*181254a7Smrg	generated/dotprod_r4.c: Regenerated.
2809*181254a7Smrg	generated/dotprod_r8.c: Regenerated.
2810*181254a7Smrg	generated/eoshift1_4.c: Regenerated.
2811*181254a7Smrg	generated/eoshift1_8.c: Regenerated.
2812*181254a7Smrg	generated/eoshift3_4.c: Regenerated.
2813*181254a7Smrg	generated/eoshift3_8.c: Regenerated.
2814*181254a7Smrg	generated/exp_c4.c: Regenerated.
2815*181254a7Smrg	generated/exp_c8.c: Regenerated.
2816*181254a7Smrg	generated/exponent_r4.c: Regenerated.
2817*181254a7Smrg	generated/exponent_r8.c: Regenerated.
2818*181254a7Smrg	generated/fraction_r4.c: Regenerated.
2819*181254a7Smrg	generated/fraction_r8.c: Regenerated.
2820*181254a7Smrg	generated/hyp_c4.c: Regenerated.
2821*181254a7Smrg	generated/hyp_c8.c: Regenerated.
2822*181254a7Smrg	generated/in_pack_i4.c: Regenerated.
2823*181254a7Smrg	generated/in_pack_i8.c: Regenerated.
2824*181254a7Smrg	generated/in_unpack_i4.c: Regenerated.
2825*181254a7Smrg	generated/in_unpack_i8.c: Regenerated.
2826*181254a7Smrg	generated/matmul_c4.c: Regenerated.
2827*181254a7Smrg	generated/matmul_c8.c: Regenerated.
2828*181254a7Smrg	generated/matmul_i4.c: Regenerated.
2829*181254a7Smrg	generated/matmul_i8.c: Regenerated.
2830*181254a7Smrg	generated/matmul_l4.c: Regenerated.
2831*181254a7Smrg	generated/matmul_l8.c: Regenerated.
2832*181254a7Smrg	generated/matmul_r4.c: Regenerated.
2833*181254a7Smrg	generated/matmul_r8.c: Regenerated.
2834*181254a7Smrg	generated/maxloc0_4_i4.c: Regenerated.
2835*181254a7Smrg	generated/maxloc0_4_i8.c: Regenerated.
2836*181254a7Smrg	generated/maxloc0_4_r4.c: Regenerated.
2837*181254a7Smrg	generated/maxloc0_4_r8.c: Regenerated.
2838*181254a7Smrg	generated/maxloc0_8_i4.c: Regenerated.
2839*181254a7Smrg	generated/maxloc0_8_i8.c: Regenerated.
2840*181254a7Smrg	generated/maxloc0_8_r4.c: Regenerated.
2841*181254a7Smrg	generated/maxloc0_8_r8.c: Regenerated.
2842*181254a7Smrg	generated/maxloc1_4_i4.c: Regenerated.
2843*181254a7Smrg	generated/maxloc1_4_i8.c: Regenerated.
2844*181254a7Smrg	generated/maxloc1_4_r4.c: Regenerated.
2845*181254a7Smrg	generated/maxloc1_4_r8.c: Regenerated.
2846*181254a7Smrg	generated/maxloc1_8_i4.c: Regenerated.
2847*181254a7Smrg	generated/maxloc1_8_i8.c: Regenerated.
2848*181254a7Smrg	generated/maxloc1_8_r4.c: Regenerated.
2849*181254a7Smrg	generated/maxloc1_8_r8.c: Regenerated.
2850*181254a7Smrg	generated/maxval_i4.c: Regenerated.
2851*181254a7Smrg	generated/maxval_i8.c: Regenerated.
2852*181254a7Smrg	generated/maxval_r4.c: Regenerated.
2853*181254a7Smrg	generated/maxval_r8.c: Regenerated.
2854*181254a7Smrg	generated/minloc0_4_i4.c: Regenerated.
2855*181254a7Smrg	generated/minloc0_4_i8.c: Regenerated.
2856*181254a7Smrg	generated/minloc0_4_r4.c: Regenerated.
2857*181254a7Smrg	generated/minloc0_4_r8.c: Regenerated.
2858*181254a7Smrg	generated/minloc0_8_i4.c: Regenerated.
2859*181254a7Smrg	generated/minloc0_8_i8.c: Regenerated.
2860*181254a7Smrg	generated/minloc0_8_r4.c: Regenerated.
2861*181254a7Smrg	generated/minloc0_8_r8.c: Regenerated.
2862*181254a7Smrg	generated/minloc1_4_i4.c: Regenerated.
2863*181254a7Smrg	generated/minloc1_4_i8.c: Regenerated.
2864*181254a7Smrg	generated/minloc1_4_r4.c: Regenerated.
2865*181254a7Smrg	generated/minloc1_4_r8.c: Regenerated.
2866*181254a7Smrg	generated/minloc1_8_i4.c: Regenerated.
2867*181254a7Smrg	generated/minloc1_8_i8.c: Regenerated.
2868*181254a7Smrg	generated/minloc1_8_r4.c: Regenerated.
2869*181254a7Smrg	generated/minloc1_8_r8.c: Regenerated.
2870*181254a7Smrg	generated/minval_i4.c: Regenerated.
2871*181254a7Smrg	generated/minval_i8.c: Regenerated.
2872*181254a7Smrg	generated/minval_r4.c: Regenerated.
2873*181254a7Smrg	generated/minval_r8.c: Regenerated.
2874*181254a7Smrg	generated/nearest_r4.c: Regenerated.
2875*181254a7Smrg	generated/nearest_r8.c: Regenerated.
2876*181254a7Smrg	generated/pow_c4_i4.c: Regenerated.
2877*181254a7Smrg	generated/pow_c4_i8.c: Regenerated.
2878*181254a7Smrg	generated/pow_c8_i4.c: Regenerated.
2879*181254a7Smrg	generated/pow_c8_i8.c: Regenerated.
2880*181254a7Smrg	generated/pow_i4_i4.c: Regenerated.
2881*181254a7Smrg	generated/pow_i4_i8.c: Regenerated.
2882*181254a7Smrg	generated/pow_i8_i4.c: Regenerated.
2883*181254a7Smrg	generated/pow_i8_i8.c: Regenerated.
2884*181254a7Smrg	generated/pow_r4_i4.c: Regenerated.
2885*181254a7Smrg	generated/pow_r4_i8.c: Regenerated.
2886*181254a7Smrg	generated/pow_r8_i4.c: Regenerated.
2887*181254a7Smrg	generated/pow_r8_i8.c: Regenerated.
2888*181254a7Smrg	generated/product_c4.c: Regenerated.
2889*181254a7Smrg	generated/product_c8.c: Regenerated.
2890*181254a7Smrg	generated/product_i4.c: Regenerated.
2891*181254a7Smrg	generated/product_i8.c: Regenerated.
2892*181254a7Smrg	generated/product_r4.c: Regenerated.
2893*181254a7Smrg	generated/product_r8.c: Regenerated.
2894*181254a7Smrg	generated/reshape_i4.c: Regenerated.
2895*181254a7Smrg	generated/reshape_i8.c: Regenerated.
2896*181254a7Smrg	generated/set_exponent_r4.c: Regenerated.
2897*181254a7Smrg	generated/set_exponent_r8.c: Regenerated.
2898*181254a7Smrg	generated/shape_i4.c: Regenerated.
2899*181254a7Smrg	generated/shape_i8.c: Regenerated.
2900*181254a7Smrg	generated/sum_c4.c: Regenerated.
2901*181254a7Smrg	generated/sum_c8.c: Regenerated.
2902*181254a7Smrg	generated/sum_i4.c: Regenerated.
2903*181254a7Smrg	generated/sum_i8.c: Regenerated.
2904*181254a7Smrg	generated/sum_r4.c: Regenerated.
2905*181254a7Smrg	generated/sum_r8.c: Regenerated.
2906*181254a7Smrg	generated/transpose_i4.c: Regenerated.
2907*181254a7Smrg	generated/transpose_i8.c: Regenerated.
2908*181254a7Smrg	generated/trig_c4.c: Regenerated.
2909*181254a7Smrg	generated/trig_c8.c: Regenerated.
2910*181254a7Smrg
2911*181254a7Smrg2005-01-07  Bud Davis  <bdavis9659@comcast.net>
2912*181254a7Smrg
2913*181254a7Smrg	PR fortran/18398
2914*181254a7Smrg	* transfer.c (next_record_r): always skip the
2915*181254a7Smrg	eol search if it was found during sf_read.
2916*181254a7Smrg
2917*181254a7Smrg
2918*181254a7SmrgCopyright (C) 2005 Free Software Foundation, Inc.
2919*181254a7Smrg
2920*181254a7SmrgCopying and distribution of this file, with or without modification,
2921*181254a7Smrgare permitted in any medium without royalty provided the copyright
2922*181254a7Smrgnotice and this notice are preserved.
2923