12004-12-27  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
2
3	* libgfortran/libgfortran.h (GFC_UINTEGER_1, GFC_UINTEGER_2):
4	Define.
5	* intrinsics/ishftc.c: Update copyright years.
6	(ishftc8): Change 'shift' and 'size' to GFC_INTEGER_4.
7	* intrinsics/mvbits.c: Correct non-ASCII character in my name.
8	Add implementations for GFC_INTEGER_1 and GFC_INTEGER_2.
9
102004-12-23  Bud Davis  <bdavis9659@comcast.net>
11
12	PR fortran/19071
13	* io/tranfer.c (formatted_transfer): moved check for
14	format reversion inside the processing loop.
15
162004-12-19  Aaron W. LaFramboise  <aaronavay62@aaronwl.com>
17
18	PR libfortran/19074
19	* libgfortran.h (itoa): Rename to gfc_itoa.
20	* io/write.c (itoa): Same.
21	* runtime/environ.c (itoa): Same.
22	* runtime/error.c (itoa): Same.
23
242004-12-15  Bud Davis  <bdavis9659@comcast.net>
25	    Steven G. Kargl  <kargls@comcast.net>
26
27	PR fortran/17597
28	* io/list_read.c (read_real): do not push back a comma when
29	it delimits a real value without a decimal point
30
312004-12-14  Steve Ellcey  <sje@cup.hp.com>
32
33	* libgfortran/io/transfer.c (us_read): Use memcpy/memset
34	instead of assignment to fill unaligned buffer.
35	(us_write): Ditto.
36	(next_record_w): Ditto.
37
382004-12-14  Steven G. Kargl  <kargls@comcast.net>
39
40	PR libfortran/18966
41	* gfortran.h: typedef GFC_INTEGER_1 and GFC_INTEGER_2
42	* intrinsics/cshift0.c (cshift0_1,cshift0_2): New functions.
43	* intrinsics/eoshift0.c (eoshift0_1,eoshift0_2): New functions.
44	* intrinsics/eoshift2.c (eoshift2_1,eoshift2_2): New functions.
45
462004-12-13  David Edelsohn  <edelsohn@gnu.org>
47
48	* io/transfer.c (read_sf): Change bitwise "and" to logical "and".
49
502004-12-12  Richard Henderson  <rth@redhat.com>
51
52	* intrinsics/cshift0.c, intrinsics/eoshift0.c, intrinsics/eoshift2.c,
53	intrinsics/pack_generic.c, intrinsics/reshape_generic.c,
54	intrinsics/spread_generic.c, intrinsics/transpose_generic.c,
55	intrinsics/unpack_generic.c, m4/cshift1.m4, m4/dotprod.m4,
56	m4/dotprodc.m4, m4/dotprodl.m4, m4/eoshift1.m4, m4/eoshift3.m4,
57	m4/iforeach.m4, m4/ifunction.m4, m4/matmul.m4, m4/matmull.m4,
58	m4/reshape.m4, m4/shape.m4, m4/transpose.m4: Use standard prefix
59	instead of "__".
60	* generated/*: Rebuild.
61
622004-12-12  Richard Henderson  <rth@redhat.com>
63
64	* acinclude.m4 (LIBGFOR_CHECK_ATTRIBUTE_VISIBILITY): New.
65	(LIBGFOR_CHECK_ATTRIBUTE_DLLEXPORT): New.
66	(LIBGFOR_CHECK_ATTRIBUTE_ALIAS): New.
67	* configure.ac: Use them.
68	* configure, config.h.in, aclocal.m4: Rebuild.
69	* libgfortran.h (prefix): Remove.
70	(PREFIX, IPREFIX): New.
71	(sym_rename, sym_rename1, sym_rename2): New.
72	(internal_proto, export_proto, export_proto_np): New.
73	(iexport_proto, iexport): New.
74	(iexport_data_proto, iexport_data): New.
75	* intrinsics/abort.c, intrinsics/args.c, intrinsics/associated.c,
76	intrinsics/cpu_time.c, intrinsics/cshift0.c,
77	intrinsics/date_and_time.c, intrinsics/env.c, intrinsics/eoshift0.c,
78	intrinsics/eoshift2.c, intrinsics/etime.c, intrinsics/exit.c,
79	intrinsics/flush.c, intrinsics/fnum.c, intrinsics/getXid.c,
80	intrinsics/getcwd.c, intrinsics/ishftc.c, intrinsics/mvbits.c,
81	intrinsics/pack_generic.c, intrinsics/rand.c, intrinsics/random.c,
82	intrinsics/reshape_generic.c, intrinsics/size.c,
83	intrinsics/spread_generic.c, intrinsics/stat.c,
84	intrinsics/string_intrinsics.c, intrinsics/system.c,
85	intrinsics/system_clock.c, intrinsics/transpose_generic.c,
86	intrinsics/umask.c, intrinsics/unlink.c, intrinsics/unpack_generic.c,
87	io/backspace.c, io/close.c, io/endfile.c, io/inquire.c, io/io.h,
88	io/open.c, io/rewind.c, io/transfer.c, libgfortran.h, m4/cshift1.m4,
89	m4/dotprod.m4, m4/dotprodc.m4, m4/dotprodl.m4, m4/eoshift1.m4,
90	m4/eoshift3.m4, m4/exponent.m4, m4/fraction.m4, m4/iforeach.m4,
91	m4/ifunction.m4, m4/matmul.m4, m4/matmull.m4, m4/nearest.m4,
92	m4/pow.m4, m4/reshape.m4, m4/set_exponent.m4, m4/shape.m4,
93	m4/transpose.m4, runtime/environ.c, runtime/error.c,
94	runtime/in_pack_generic.c, runtime/in_unpack_generic.c,
95	runtime/main.c, runtime/memory.c, runtime/pause.c, runtime/select.c,
96	runtime/stop.c: Use them to mark symbols internal or external.
97	* generated/*: Rebuild.
98
992004-12-09  David Edelsohn  <edelsohn@gnu.org>
100
101	PR bootstrap/18895
102	Revert 2004-12-07 change.
103	* Makefile.am (AM_MAKEFLAGS): Delete.
104	* Makefile.in: Regenerate.
105
1062004-12-07  Steve Ellcey  <sje@cup.hp.com>
107
108	* libgfortran/Makefile.am (AM_MAKEFLAGS): New.
109	* libgfortran/Makefile.in: Regenerate
110
1112004-12-07  Steve Ellcey  <sje@cup.hp.com>
112
113	* io/io.h (open_external): Change prototype.
114	* io/unix.c (regular_file): Change prototype and set flags->action if
115	needed.
116	(open_external): Ditto.
117	* io/open.c (new_unit): Let open_external set flags->action.
118
1192004-12-07  Eric Botcazou  <ebotcazou@libertysurf.fr>
120
121	* configure.ac: Check for ieeefp.h.  Check for fabsf in libm.
122	* configure: Regenerate.
123	* config.h.in: Likewise.
124	* c99_protos.h: New file.
125	* libgfortran.h: Include c99_protos.h and conditionally ieeefp.h.
126	* intrinsics/c99_functions.c (fabsf): New function.
127
1282004-12-06  Richard Henderson  <rth@redhat.com>
129
130	* intrinsics/cshift0.c, intrinsics/eoshift0.c, intrinsics/eoshift2.c,
131	intrinsics/pack_generic.c, intrinsics/string_intrinsics.c,
132	intrinsics/transpose_generic.c, m4/ifunction.m4, m4/matmul.m4,
133	m4/matmull.m4, m4/transpose.m4: Use internal_malloc_size instead
134	of internal_malloc.
135	* generated/*: Rebuild.
136
1372004-12-06  Richard Henderson  <rth@redhat.com>
138
139	* intrinsics/c99_functions.c, intrinsics/eoshift0.c,
140	intrinsics/eoshift2.c, intrinsics/exit.c, intrinsics/flush.c,
141	intrinsics/ishftc.c, intrinsics/mvbits.c, intrinsics/pack_generic.c,
142	intrinsics/random.c, intrinsics/reshape_generic.c, intrinsics/size.c,
143	intrinsics/spread_generic.c, intrinsics/stat.c,
144	intrinsics/string_intrinsics.c, intrinsics/system_clock.c,
145	intrinsics/transpose_generic.c, intrinsics/unlink.c,
146	intrinsics/unpack_generic.c, io/backspace.c, io/format.c,
147	io/list_read.c, io/lock.c, io/open.c, io/transfer.c, io/unix.c,
148	io/write.c, runtime/environ.c, runtime/error.c,
149	runtime/in_pack_generic.c, runtime/in_unpack_generic.c, runtime/main.c,
150	runtime/memory.c, runtime/pause.c, runtime/stop.c,
151	runtime/string.c: Whitespace fixes.
152
1532004-12-06  Richard Henderson  <rth@redhat.com>
154
155	* Makefile.am: Generate all m4 output under $(srcdir).
156	* Makefile.in: Regenerate.
157
1582004-12-02  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
159
160	PR fortran/18710
161	* io/transfer.c (unformatted_read, unformatted_write): width of
162	a COMPLEX is twice its kind.
163
1642004-12-02  Richard Sandiford  <rsandifo@redhat.com>
165
166	* configure.ac: Use TL_AC_GCC_VERSION to set gcc_version.
167	* configure, aclocal.m4, Makefile.in: Regenerate.
168
1692004-12-02  Bud Davis  <bdavis9659@comcast.net>
170
171	PR libfortran/18284
172	* io/unix.c (fd_alloc_w_at): Update file_length when extending.
173	* io/backspace.c (formatted_backspace): Reset endfile after backspace.
174
1752004-12-02  Bud Davis  <bdavis9659@comcast.net>
176
177	* io/inquire.c (inquire_via_unit): do not allow a direct access
178	file to be opened for sequential I/O.
179
1802004-12-02  Steven G. Kargl  <kargls@comcast.net>
181	Paul Brook  <paul@codesourcery.com>
182
183	* intrinsics/flush.c: New file.
184	* intrinsics/fnum.c: ditto
185	* intrinsics/stat.c: ditto
186	* io/io.h (unit_to_fd): Add prototype.
187	* io/unix.c (unit_to_fd): New function.
188	* configure.ac: Add test for members of struct stat.  Check for
189	sys/types.h and sys/stat.h
190	* Makefile.am: Add intrinsics/{flush.c,fnum.c,stat.c}
191	* configure.in: Regenerate.
192	* config.h.in: Regenerate.
193	* Makefile.in: Regenerate.
194
1952004-12-01  Aaron W. LaFramboise  <aaronavay62@aaronwl.com>
196
197	* Makefile.am (AM_CPPFLAGS): Use -iquote instead of -I.
198
1992004-11-28  Bud Davis  <bdavis9659@comcast.net>
200
201	* io/unix.c (mmap_alloc_w_a): check for a write to a location
202	less than the mapped area.
203
2042004-11-27  Bud Davis  <bdavis9659@comcast.net>
205
206	PR fortran/18364
207	*  io/endfile.c (st_endfile): flush the stream before truncating.
208
2092004-11-24  Kelley Cook  <kcook@gcc.gnu.org>
210
211	* configure: Regenerate for libtool change.
212
2132004-11-22  Steven Bosscher  <stevenb@suse.de>
214
215	PR libfortran/15960
216	* configure.ac: Check for finite in libm.
217	* libgfortran.h: Define isfinite macro if not defined.
218	* intrinsics/c99_functions.c: Use defined(fpclassify) instead of
219	HAVE_FPCLASSIFY.
220	* io/write.c (write_float): Use isfinite instead of finite.
221	* configure, config.h.in: Rebuilt.
222
2232004-11-20  Roger Sayle  <roger@eyesopen.com>
224
225	* io/write.c (write_float, list_formatted_write): Fix indentation.
226
2272004-11-20  Eric Botcazou  <ebotcazou@libertysurf.fr>
228
229	PR target/16135
230	* acinclude.m4 (LIBGFOR_TARGET_ILP32): New check.
231	* configure.ac: Include LIBGFOR_TARGET_ILP32.
232	* configure: Regenerate.
233	* config.h.in: Likewise.
234	* libgfortran.h: Provide default definitions for C99 types
235	on ILP32 targets that don't have them.
236
237	PR target/17999
238	* configure.ac: Check for snprintf.
239	* configure: Regenerate.
240	* config.h.in: Likewise.
241	* intrinsics/date_and_time.c (date_and_time): Do not
242	use snprinf if it is not available.
243	* io/write.c (output_float): Likewise.
244
2452004-11-20  Steven G. Kargl  <kargls@comcast.net>
246
247	* Makefile.am: Add intrinsics/{umask.c,unlink.c,exit.c}
248	* Makefile.in: Regenerated
249	* intrinsics/umask.c: New file
250	* intrinsics/unlink.c: ditto
251	* intrinsics/exit.c: ditto
252
2532004-11-18  Victor Leikehman  <lei@il.ibm.com>
254
255	* m4/matmul.m4: Loops reordered to improve cache behavior.
256	* generated/matmul_??.c: Regenerated.
257
2582004-11-10  Paul Brook  <paul@codesourcery.com>
259
260	PR fortran/18218
261	* configure.ac: Check for strtof.
262	* configure: Regenerate.
263	* config.h.in: Regenerate.
264	* io/read.c (convert_real): Use strtof if available.
265	(convert_precision_real): Remove.
266	(read_f): Avoid poor exponentiation algorithm.
267
2682004-11-05  Andreas Schwab  <schwab@suse.de>
269
270	* configure.ac: Use AC_PROG_FC, FC and FCFLAGS instead of
271	AC_PROG_F77, F77 and FFLAGS.
272	* Makefile.am (selected_int_kind.inc, selected_real_kind.inc): Use
273	FCCOMPILE instead of F77COMPILE.
274	* configure, Makefile.in: Regenerate.
275
2762004-11-05  Kelley Cook  <kcook@gcc.gnu.org>
277
278	* acinclude.m4: Properly quote AC_CACHE_CHECK.
279	* Makefile.am: Add in ACLOCAL_AMFLAGS.
280	* aclocal.m4, configure, Makefile.in: Regenerate.
281
2822004-10-30  Aaron W. LaFramboise <aaronavay62@aaronwl.com>
283
284	* config.h.in: Regenerate.
285	* configure: Regenerate.
286	* configure.ac (AC_CHECK_FUNCS): Add mkstemp.
287	* io/unix.c (S_IRGRP): Define if undefined.
288	(S_IWGRP): Same.
289	(S_IROTH): Same.
290	(S_IWOTH): Same.
291	(tempfile): Use mktemp if mkstemp missing, fix typos.
292
2932004-10-30  Aaron W. LaFramboise <aaronavay62@aaronwl.com>
294
295	*  intrinsics/system.c ("libgfortran.h"): Move after system headers.
296
2972004-10-30  Canqun Yang  <canqun@nudt.edu.cn>
298
299	* intrinsics/rand.c (irand): Handle NULL argument.
300
3012004-10-07  Paul Brook  <paul@codesourcery.com>
302
303	* io/transfer.c (finalize_transfer): Free internal streams.
304	* io/unix.c (mem_close): Free stream object.
305
3062004-10-07  Paul Brook  <paul@codesourcery.com>
307
308	* intrinsics/string_intrinsics.c (string_verify): Fix off by one
309	error.
310
3112004-10-06  Paul Brook  <paul@codesourcery.com>
312
313	PR libfortran/17709
314	* io/transfer.c (data_transfer_init): Reset sf_seen_eor.
315
3162004-10-04  Andrew Pinski  <pinskia@physics.uc.edu>
317
318	* intrinsics/mvbits.c: Commit the file.
319
3202004-10-04  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
321
322	PR fortran/17283
323	* intrinsics/pack_generic.c (__pack): Allocate memory for return array
324	if not done by caller.
325	(__pack_s): New function.
326	* runtime/memory.c (internal_malloc, internal_malloc64): Allow
327	allocating zero memory.
328
329	PR fortran/17631
330	* Makefile.am (gfor_helper_src): Add intrinsics/mvbits.h.
331	* Makefile.in: Regenerate.
332	* intrinsics/mvbits.h: New file.
333
334	PR fortran/17776
335	* intrinsics/system.c: New file.
336	* Makefile.am: Add dependency for the new file.
337	* Makefile.in: Regenerate.
338
3392004-10-04  Paul Brook  <paul@codesourcery.com>
340	Bud Davis  <bdavis9659@comcast.net>
341
342	PR fortran/17706
343	PR fortran/16434
344	* io/format.c (parse_format_list): Set repeat count for S, SP, SS,
345	BN and BZ formats.
346	* io/write.c (output_float): Don't output minus zero.
347
3482004-10-03  Aaron W. LaFramboise <aaronavay62@aaronwl.com>
349
350	* intrinsics/abort.c ("libgfortran.h"): Move.
351	* intrinsics/date_and_time.c ("libgfortran.h"): Same.
352	* intrinsics/write.c ("libgfortran.h"): Same.
353
3542004-09-26  Tobias Schlueter  <tobis.schlueter@physik.uni-muenchen.de>
355
356	PR libfortran/16137
357	* config.h.in (HAVE_POWF): Undefine.
358	* configure.ac: Check for 'powf' in library.
359	* configure: Regenerate.
360	* intrinsics/c99_functions.c (powf): New function.
361
3622004-09-24  Tobias Schlueter  <tobis.schlueter@physik.uni-muenchen.de>
363
364	* intrinsics/etime.c (etime_): New function.
365
3662004-09-21  Steven G. Kargl  <kargls@comcast.net>
367
368	* libgfortran.h: define gfc_alloca()
369	* intrinsics/env.c (getenv, get_environment_variable_i4): Use it.
370
3712004-09-21  Bud Davis  <bdavis9659@comcast.net>
372
373	PR fortran/17286
374	* io/list_read.c (namelist_read): ignore spaces after
375	the '=' for namelist reads.
376
3772004-09-15  Aaron W. LaFramboise <aaronavay62@aaronwl.com>
378
379	* config.h.in: Regenerate.
380	* configure: Regenerate.
381	* configure.ac (AC_CHECK_HEADERS): Check for sys/mman.h.
382	* unix.c: Include stdio.h.
383	(HAVE_SYS_MMAN_H): Check.
384	(PROT_READ, PROT_WRITE): Provide default definitions.
385
3862004-09-15  Steven G. Kargl  <kargls@comcast.net>
387
388	* intrincics/getcwd.c: New file.
389	* Makefile.am: Add getcwd.c.
390	* Makefile.in: Regenerated.
391
3922004-09-15  Steven G. Kargl  <kargls@comcast.net>
393	Paul Brook  <paul@codesourcery.com>
394
395	* intrinsics/env.c (getenv, get_environmental_variable): Remove
396	trailing white space.  Use alloca.  Honour trim_name.
397
3982004-09-13  Bud Davis  <bdavis9659@comcast.net>
399
400	PR fortran/17090
401
402	* io/list_read.c (list_formatted_read): Handle trailing spaces
403	at end of line.
404
4052004-09-06  Steven G. Kargl  <kargls@comcast.net>
406
407	* io/write.c (output_float): Typo in comment.  Remove debugging
408	printf.  Fix format for FP of form 1e10.
409
4102004-09-03  Richard Henderson  <rth@redhat.com>
411
412	* intrinsics/cshift0.c (DEF_COPY_LOOP, copy_loop_int, copy_loop_long,
413	copy_loop_double, copy_loop_ldouble): New.
414	(__cshift0): Make shift type ssize_t.  Use % operator instead of
415	div.  Use specialized versions of copy loop depending on the shape.
416
4172004-09-02  Paul Brook  <paul@codesourcery.com>
418
419	* io/format.c (parse_format_list): Set repeat count for P descriptors.
420	* write.c (output_float): Fix condition.  Correctly handle nonzero
421	scale factor.
422
4232004-09-01  Eric Botcazou  <ebotcazou@libertysurf.fr>
424
425	* mk-sik-inc.sh: Use a temporary string instead of 'echo -n'.
426	* mk-srk-inc.sh: Likewise.
427
4282004-09-01  Paul Brook  <paul@codesourcery.com>
429
430	* runtime/error.c (generate_error): Set both iostat and
431	library_return.
432
4332004-08-31  Paul Brook  <paul@codesourcery.com>
434
435	PR libfortran/16805
436	* io/list_read.c (next_char): Don't signal EOF for internal files.
437	* io/unix.c (mem_alloc_r_at): Don't return NULL for incomplete reads.
438
4392004-08-31  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
440
441	* io/unit.c: Separate copyright years by ','.
442	(compare, insert_unit, delete_unit, is_internal_unit, close_units):
443	Remove blank line in beginning of function.
444	(get_unit): Simplify code.
445
4462004-08-31  Paul Brook  <paul@codesourcery.com>
447
448	* io/unit.c (get_unit): Remove superfluous if.
449
4502004-08-31  Paul Brook  <paul@codesourcery.com>
451
452	* io/transfer.c (read_sf): Rename uinty to readlen.  Detect EOF.
453	(finalize_transfer): Move setjmp after namlist IO.
454	* io/unix.c (mem_alloc_r_at): Calculate remaining length correctly.
455
4562004-08-31  Paul Brook  <paul@codesourcery.com>
457
458	* list_read.c (eat_separator): Set at_eo when a '/' is seen.
459
4602004-08-31  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
461
462	* libgfortran.h: Replace 'gfc_strlen_type' by
463	'gfc_charlen_type'. Update comment accordingly.
464	* intrinsics/args.c, intrinsics/env.c, io/io.h, io/transfer.c:
465	Replace all occurences of 'gfc_strlen_type' by 'gfc_charlen_type'.
466
4672004-08-31  Paul Brook  <paul@codesourcery.com>
468
469	* libgfortran.h: Add comments.
470
4712004-08-30  Richard Henderson  <rth@redhat.com>
472
473	* Makefile.am (gfor_helper_src): Split selected_kind.f90.
474	(gfor_built_src): Add selected_int_kind.inc selected_real_kind.inc.
475	(selected_int_kind.inc selected_real_kind.inc): New rules.
476	* Makefile.in: Regenerate.
477	* mk-sik-inc.sh, mk-srk-inc.sh: New files.
478	* intrinsics/selected_int_kind.f90: Split from selected_kind.f90,
479	include table of detected kinds.
480	* intrinsics/selected_real_kind.f90: Similarly.
481
4822004-08-29  Steven G. Kargl  <kargls@comcast.net>
483	Paul Brook  <paul@codesourcery.com>
484
485	* intrinsics/bessel.c: New file.
486	* intrinsics/erf.c: New file.
487	* Makefie.am: Add intrinsics/bessel.c and intrinsics/erf.c.
488	* configure.ac: Test for C99 Bessel and Error functions.
489	* Makefile.in: Regenerate.
490	* config.h.in: Regenerate.
491	* configure: Regenerate.
492
4932004-08-29  Steven G. Kargl  <kargls@comcast.net>
494	Paul Brook  <paul@codesourcery.com>
495
496	* Makefile.am: Add intrinsics/getXid.c.
497	* configure.ac: Add tests for get{g,p,u}id.
498	* config.h.in: Regenerate.
499	* Makefile.in: Regenerate.
500	* configure: Regenerate.
501
5022004-08-28  Paul Brook  <paul@codesourcery.com>
503
504	PR libfortran/17195
505	* libgfortran.h (rtoa): Remove prototype.
506	* runtime/error.c (rtoa): Remove.
507	* io/write.c (calculate_G_format): Don't add blanks if E format is
508	used.  Add correct number of blanks when exponent width is specified.
509	(output_float): Rewrite.
510
5112004-08-27  Paul Brook  <paul@codesourcery.com>
512
513	* io/rewind.c (st_rewind): Reset unit to read mode.
514
5152004-08-27  Bud Davis  <bdavis9659@comcast.net>
516
517	PR fortran/16597
518	* io/io.h: created typedef for unit_mode.
519	* io/io.h (gfc_unit): added mode to unit structure.
520	* io/transfer.c (data_transfer_init): flush if a write then
521	read is done on a unit (direct access files).
522	* io/rewind.c (st_rewind): Used unit mode instead of global.
523
5242004-08-24  Bud Davis  <bdavis9659@comcast.net>
525
526	PR fortran/17143
527	* runtime/error.c (itoa): keep from overflowing during
528	mod operation by using unsigned variable.
529
5302004-08-24  Bud Davis  <bdavis9659@comcast.net>
531
532	PR fortran/17164
533	* runtime/string_intrinsics.c (string_index):check for
534	substring longer than string.
535
5362004-08-24  David Edelsohn  <edelsohn@gnu.org>
537
538	* Makefile.am (libgfortran_la_LDFLAGS): Add -lm.
539	* Makefile.in: Rebuilt.
540
5412004-08-23  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
542
543	* io/io.h, io/list_read.c, io/open.c, io/transfer.c, io/write.c:
544	Fix formatting issues, update copyright years.
545
5462004-08-21  Bud Davis  <bdavis9659@comcast.net>
547
548	PR 16908
549	* io/transfer.c (next_record_w): Do not blank pad.
550	* io/transfer.c (next_record): Take into account partial records.
551
5522004-08-18  Victor Leikehman  <lei@il.ibm.com>
553
554	PR fortran/13278
555	* io/transfer.c (st_set_nml_var)
556	* io/write.c (namelist_write): Allow var_name and var_name_len to be
557	null. For strings, use string_length field instead of len.
558	* io/io.h (struct namelist_type): New field string_length.
559	(st_set_nml_var_char): New argument string_length.
560
5612004-08-13  Bud Davis  <bdavis9659@comcast.net>
562
563	PR gfortran/16935
564	* io/open.c (st_open): use flags instead of the unit structure.
565
5662004-08-10  Victor Leikehman  <lei@il.ibm.com>
567
568	* io/list_read.c (namelist_read): Convert variable names
569	to lower case, so that mixed-case names are recognized.
570	Don't read beyond terminating slash.
571
5722004-08-09  Richard Henderson  <rth@redhat.com>
573	    Roger Sayle  <roger@eyesopen.com>
574
575	* intrinsics/c99_functions.c (nextafterf): New implementation that
576	works correctly with denormalized numbers.
577
5782004-08-09  Victor Leikehman  <lei@il.ibm.com>
579
580	* m4/matmul.m4, m4/matmull.m4, intrinsics/eoshift0.c,
581	intrinsics/eoshift2.c, intrinsics/transpose_generic.c:
582	Allocate space if return value has NULL in its data field.
583	* generated/*.c: Regenerate.
584
5852004-08-06  Janne Blomqvist  <jblomqvi@cc.hut.fi>
586
587	* intrinsics/env.c: New file.
588	* Makefile.am: Add env.c to build.
589	* Makefile.in: Regenerate.
590
5912004-08-05  Victor Leikehman  <lei@il.ibm.com>
592
593	PR libfortran/16704
594	* io/read.c (read_radix): Understand letters f and F as hex digits.
595
5962004-08-04  Victor Leikehman  <lei@il.ibm.com>
597
598	* libgfortran.h (array_t, size0) New declarations.
599	* m4/ifunction.m4, m4/transpose.m4, intrinsics/cshift0.c: Allocate
600	space if return value descriptor has NULL in its data field,
601	and initialize bounds and stride.
602	* intrinsics/size.c (array_t, size0): Declarations moved to
603	libgfortran.h.
604	* generated/*.c: Regenerate.
605
6062004-08-03  Roger Sayle  <roger@eyesopen.com>
607
608	PR libfortran/16137
609	* configure.ac: Add tests for acosf, asinf, atan2f, atanf, ceilf,
610	copysignf, cosf, coshf, expf, floorf, frexpf, hypotf, logf, log10f,
611	scalbnf, sinf, sinhf, sqrtf, tanf and tanhf in libm.
612	* config.h.in: Regenerate.
613	* configure: Regenerate.
614
615	* instrinsics/c99_functions.c (acosf, asinf, atan2f, atanf, ceilf,
616	copysignf, cosf, coshf, expf, floorf, frexpf, hypotf, logf, log10f,
617	nextafterf, scalbnf, sinf, sinhf, sqrtf, tanf, tanhf): New stub
618	implementations for targets that don't support C99 float functions.
619
6202004-08-01  Roger Sayle  <roger@eyesopen.com>
621
622	* io/write.c (write_float): Use the slightly more portable isnan
623	in preference to isinf.
624
6252004-07-18  Bud Davis  <bdavis9659@comcast.net>
626
627	* configure.ac: Add check for LFS support.
628	* configure: Regenerate
629
6302004-07-11  Paul Brook  <paul@codesourcery.com>
631
632	PR fortran/16303
633	* m4/cexp.m4 (carg): Return -pi to pi.
634	* generated/exp_c?.c: Regenerate.
635
6362004-07-08  Andreas Krebbel  <krebbel1@de.ibm.com>
637
638	PR fortran/16291
639	* libgfortran/io/write.c: (write_float): Added length check.
640	Remove pointless memset calls.
641
6422004-07-04  Bud Davis  <bdavis9659@comcast.net>
643	    Paul Brook  <paul@codesourcery.com>
644
645	PR fortran/15472
646	* io/transfer.c(us_write): set recl for seq unform writes to max size.
647	* io/transfer.c(data_transfer_init): handle un-opened seq unform unit.
648	* io/unix.c(fd_alloc_w_at): handle requests at start, fd_flush at
649	right time.
650	* io/unix.c(is_seekable): set based upon the file/device, not the
651	method being used to access it (fd or mmap).
652	* io/unix.c(fd_flush): don't set file_size if !seekable.
653	* io/unix.c(fd_truncate: ditto.
654
6552004-07-04  Janne Blomqvist  <jblomqvi@cc.hut.fi>
656	Paul Brook  <paul@codesourcery.com>
657
658	PR fortran/15280
659	PR fortran/15665
660	* libgfortran.h (gfc_strlen_type): Define.
661	* intrinsics/args.c (getarg): Rename ...
662	(getarg_i4): ... to this.
663	(getarg_i8, get_command_argument_i4, get_command_argument_i8,
664	get_command_i4, get_command_i8): New functions.
665
6662004-07-04  Matthias Klose  <doko@debian.org>
667
668	* libtool-version: New.
669	* Makefile.am (libgfortran_la_LDFLAGS): Use -version-info for soname.
670	* Makefile.in: Regenerate.
671	* configure.ac: Remove libtool_VERSION macro
672	* configure: Regenerate
673
6742004-06-30  Steve Kargl  <sgk@troutmask.apl.washington.edu>
675	    Steven Bosscher  <stevenb@suse.de>
676
677	* intrinsics/rand.c (rand): Wrap the irand() call from the previous
678	commit in prefix.
679
6802004-06-29  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
681	Paul Brook  <paul@codesourcery.com>
682
683	* runtime/normalize.c (normalize_r4_i4, normalize_r8_i8): Fix
684	comments.
685	* intrinsics/rand.c (rand): Call irand() in call to normalize_r4_i4.
686
6872004-06-27  Bud Davis  <bdavis9659@comcast.net>
688
689	PR gfortran/12839
690	* io/write.c (write_float): check signbit for Infinity.
691
6922004-06-26  Bud Davis  <bdavis9659@comcast.net>
693
694	PR gfortran/16196
695	* unix.c(regular_file): create file if it does not exist.
696
6972004-06-24  Andrew Pinski  <apinski@apple.com>
698
699	* configure.ac: Remove check for libmx.
700	* configure: Regenerate.
701
7022004-06-22  Janne Blomqvist  <jblomqvi@cc.hut.fi>
703
704	PR fortran/15750
705	* inquire.c (st_inquire): Add comment
706	* io.h (st_parameter): Add iolength.
707	(st_iolength, st_iolength_done): Declare.
708	* transfer.c (iolength_transfer, iolength_transfer_init,
709	st_iolength, st_iolength_done): New functions.
710
7112004-06-21  Steven G. Kargl  <kargls@comcast.net>
712
713	* etime.c (etime_sub): Remove array rank check;
714	Add check for sufficient space.
715
7162004-06-19  Bud Davis  <bdavis9659@comcast.net>
717
718	PR gfortran/16080
719	* io/list_read.c(set_value): fixed spelling.
720
7212004-06-19  Bud Davis  <bdavis9659@comcast.net>
722
723	PR gfortran/16080
724	* io/list_read.c(set_value): don't copy if the string is null.
725
7262004-06-14  Bud Davis  <bdavis9659@comcast.net>
727
728	PR gfortran/15292
729	* intrinsics/c99_functions.c: Use fpclassify if it exists.
730
7312004-06-13  Paul Brook  <paul@codesourcery.com>
732
733	* Makefile.am (gfor_helper_src): Add runtime/normalize.f90.
734	* configure.ac: Add checks for nextafter and nextafterf.
735	* Makefile.in, config.h.in, configure: Regenerate.
736	* libgfortran.h (normalize_r4_i4, normalize_r8_i8): Declare.
737	* intrinsics/rand.c (rand): Use normalize_r4_i4.
738	* intrinsics/random.c (random_r4): Use normalize_r4_i4.
739	(random_r8): Use normalize_r8_i8.
740	* runtime/normalize.c: New file.
741
7422004-06-13  Steven G. Kargl  <kargls@comcast.net>
743	    Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
744
745	* random.c: Fix several spelling and formatting mistakes in
746	comments.
747	(random_r8): Fix loop to make random numbers range in [0,1(.
748
749
7502004-06-13  Steven G. Kargl  <kargls@comcast.net>
751
752	* random.c (random_r4): Burn a random number.
753	(random_r8): fix infinite loop.
754
7552004-06-12  Bud Davis  <bdavis9659@comcast.net>
756	    Steve Kargl  <sgk@troutmask.apl.washington.edu>
757
758	PR gfortran/15292
759	* intrinsics/c99_functions.c: New file.
760	* Makefile.am: Add new file.
761	* configure.ac: Added test for round/roundf.
762	* Makefile.in: Regenerate.
763	* configure: Regenerate.
764	* configure.h.in: Regenerate.
765
7662004-06-12  Steven G. Kargl  <kargls@comcast.net>
767
768	* Makefile.am: Add rand.c and etime.c
769	* Makefile.in: Regenerated.
770	* aclocal.in: Regenerated.
771	* cpu_time.c (second_sub, second): New functions.
772	* rand.c (irand, rand, srand): New file.
773	* etime.c (etime_sub, etime): New file.
774
7752004-06-12  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
776	    Steven Bosscher  <stevenb@suse.de>
777
778	PR fortran/14923
779	* intrinsics/date_and_time.c: New file.
780	* Makefile.am (gfor_helper_src): Add intrinsics/date_and_time.c.
781	* Makefile.in, aclocal.m4: Regenerate.
782	* libgfortran.h: Prototype date_and_time().
783
7842004-06-12  Bud Davis  <bdavis9659@comcast.net>
785
786	PR fortran/15665
787	* intrinsics/args.c: Implement GETARG and IARGC.
788	* Makefile.am: Add it.
789	* Makefile.in: Regenerate.
790
7912004-06-12  Bud Davis  <bdavis9659@comcast.net>
792
793	PR gfortran/12839
794	* io/write.c(write_float): Format inf and nan IAW F2003.
795
7962004-06-09  Bud Davis  <bdavis9659@comcaste.net>
797
798	PR gfortran/14897
799	* io/transfer.c (formatted_transfer): position is unique
800	 for T and TL edit descriptors.
801	(data_transfer_init): set record length to size of internal
802	 file.
803
8042004-06-09  Bud Davis  <bdavis9659@comcast.net>
805
806	PR gfortran/15755
807	* io/backspace.c(st_backspace): call correct routine for
808	formatted and un-formatted units.
809
8102004-05-30  Andreas Jaeger  <aj@suse.de>, Steven Bosscher <stevenb@suse.de>
811
812	PR gfortran/11800
813	* Makefile.am (AM_CPPFLAGS): Renamed from INCLUDES.
814	(lib_LTLIBRARIES): Rename to ...
815	(toolexeclib_LTLIBRARIES): this for multilib support.
816	* configure.in: Rename to ...
817	* configure.ac: this.  Update to modern autoconf style, enable
818	multilibs, support --enable-version-specific-runtime-libs.
819	* Makefile.in: Regenerated.
820	* configure: Regenerated.
821	* aclocal.m4: Regenerated.
822
8232004-05-30  Steven G. Kargl  <kargls@comcast.net>
824
825	* libgfortran.h (random_seed): Update prototype.
826	* intrinsics/random.c: Disable old implementation and add new one.
827
8282004-05-30  Andreas Jaeger  <aj@suse.de>
829
830	* intrinsics/random.c: Include unistd.h for close and read
831	prototypes, remove unneeded inclusion of assert.h.
832
833	* intrinsics/abort.c: Include stdlib.h for abort prototype, remove
834	unneeded inclusion of assert.h.
835
8362004-05-27  Tobias Schlueter  <tobias.shclueter@physik.uni-muenchen.de>
837
838	PR fortran/15234
839	* intrinsics/associated.c: Remove enum.
840	(associated): Replace TRUE/FALSE by 1/0.
841
8422004-05-23  Steven G. Kargl  <kargls@comcast.net>
843
844	* random.c (random_seed): Use correct variable.
845
8462004-05-22  Steven G. Kargl  <kargls@comcast.net>
847
848	* intrinsics/system_clock: New file.
849	* Makefile.am: Add intrinsics/system_clock.c.
850	* Makefile.in: Regenerate.
851
8522004-05-21  Roger Sayle  <roger@eyesopen.com>
853
854	* io/format.c (parse_format_list): Allow the comma after a string
855	literal to be optional.
856
8572004-05-18  Paul Brook  <paul@codesourcery.com>
858	Feng Wang  <fengwang@nudt.edu.cn>
859
860	* Makefile.am (i_pow_c): Set it. Add build rule.
861	(gfor_built_src): Use it.
862	(m4_files): add m4/pow.m4.
863	* Makefile.in: Regenerate.
864	* m4/pow.m4: New file.
865	* generated/pow_*.c: Regenerate.
866
8672004-05-18  Paul Brook  <paul@codesourcery.com>
868
869	* Makefile.am: Remove references to types.m4.
870	* m4/iparm.m4: Merge with types.m4.
871	* m4/types.m4: Remove.
872	* m4/cshift1.m4, m4/dotprod.m4, m4/dotprodc.m4, m4/dotprodl.m4,
873	m4/eoshift1.m4, m4/eoshift3.m4, m4/iforeach.m4, m4/ifunction.m4,
874	m4/in_pack.m4, m4/in_unpack.m4, m4/iparm.m4, m4/matmul.m4,
875	m4/matmull.m4, m4/maxloc0.m4, m4/maxloc1.m4, m4/maxval.m4,
876	m4/minloc0.m4, m4/minloc1.m4, m4/minval.m4, m4/reshape.m4,
877	m4/shape.m4, m4/specific.m4, m4/specific2.m4, m4/transpose.m4):
878	Update to use new iparm.m4.
879	* generated/*.c: Regenerate.
880
8812004-05-18  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
882
883	PR fortran/15235
884	* gfortran.h (offset_t): Rename to ...
885	(gfc_offset): ... this.
886	* io/backspace.c (formatted_backspace, unformatted_backspace),
887	io/io.h (stream, gfc_unit, global_t, file_length, file_position),
888	transfer.c (us_read, us_write, next_record_r, next_record_w),
889	io/unit.c (init_units), unix.c (unix_stream, fd_alloc,
890	fd_alloc_r_at, fd_alloc_w_at, fd_seek, mmap_alloc,
891	mmap_alloc_r_at, mmap_alloc_w_at, mmap_seek, mem_alloc_r_at,
892	mem_alloc_w_at, mem_seek, file_length, file_position): Replace all
893	occurences of offset_t by gfc_offset.
894
8952004-05-16  Paul Brook  <paul@codesourcery.com>
896
897	* io/format.c (write_real): Don't include padding in format.
898
8992004-05-16  Paul Brook  <paul@codesourcery.com>
900
901	* io/format.c (format_lex): Make c an int.
902
9032004-05-16  Janne Blomqvist  <jblomqvi@cc.hut.fi>
904	Paul Brook  <paul@codesourcery.com>
905
906	* io/write.c (write_logical): Don't print extra blank.
907	(write_integer): Base field width on kind.
908	(list_formatted_write): Output initial blank.
909
9102004-05-16  Janne Blomqvist  <jblomqvi@cc.hut.fi>
911
912	* io/io.h (flush): Add prototype.
913	* io/transfer.c (finalize_transfer): Flush partial records.
914	* io/unix.c (flush): New function.
915
9162004-05-15  Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
917
918	PR fortran/15234
919	* io/io.h (unit_t): Rename to ...
920	(gfc_unit) ... this.
921	(unit_root, current_unit, find_file, find_unit, get_unit): Now
922	of type gfc_unit.
923	(delete_file, insert_unit, close_unit): Argument now of type
924	gfc_unit.
925	* backspace.c (st_backspace), close.c (st_close), endfile.c
926	(st_endfile), inquire.c (inquire_via_unit, st_inquire), open.c
927	(test_endfile, edit_modes, new_unit, already_open, st_open),
928	rewind.c (st_rewind), transfer.c (current_unit), unit.c
929	(internal_unit, unit_cache, rotate_left, rotate_right, insert,
930	insert_unit, delete_root, delete_treap, delete_unit, find_unit,
931	get_unit, init_units, close_unit), unix.c (find_file0,
932	find_file, delete_file): Replace all occurences of unit_t by
933	gfc_unit.
934
9352004-05-15  Bud Davis  <bdavis9659@comcast.net>
936
937	PR fortran/15311
938	* io/write.c (write_a): right justify A edit output.
939
9402004-05-14  Bud Davis  <bdavis9659@comcast.net>
941
942	PR fortran/15149
943	* libgfortan.h,intrinsics/random.c: Made random_seed visible.
944	* runtime/main.c(init): Call random_seed as part of MAIN init.
945
9462004-05-13  Tobias Schlter  <tobias.schlueter@physik.uni-muenchen.de>
947
948	* io/format.c: (parse_format_list): No comma is required after
949	P descriptor.
950
9512004-05-13  Bud Davis  <bdavis9659@comcast.net>
952
953	PR fortran/15204
954	* io/intrinsic/string_intrinsics.c (adjustr): rework logic.
955
9562004-05-06  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
957	    Steven Bosscher  <stevenb@suse.de>
958
959	PR libfortran/15234
960	* libgfortran.h: Include <inttypes.h> if available.
961
9622004-05-03  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
963
964	* io/unix.c (MAP_FAILED): Define if missing.
965	(mmap_alloc): Cast MAP_FAILED to char *.
966	(mmap_open): Likewise.
967
9682004-04-26  Bud Davis  <bdavis9659@comcast.net>
969
970	* generated/_abs_i8.f90: New file.
971	* generated/_abs_c4.f90: New file.
972	* generated/_abs_c8.f90: New file.
973	* Makefile.am: Add them.
974	* Makefile.in: Regenerate.
975`
9762004-04-26  Bud Davis  <bdavis9659@comcast.net>
977
978	PR fortran/14056
979	* generated/_abs_i4.f90: New file.
980	* Makefile.am: Add it.
981	* Makefile.in: Regenerate.
982
9832004-04-25  Bud Davis  <bdavis9659@comcast.net>
984
985	PR fortran/14942
986	* io/list_read.c(list_formatted_read): finish consuming the
987	spaces and seperators at eoln to get ready for next item.
988
9892004-04-23  Bud Davis  <bdavis9659@comcast.net>
990
991	PR fortran/15113
992	* io/read.c(read_a): Handle field width > destination and no field width.
993
9942004-04-22  Bud Davis  <bdavis9659@comcast.net>
995
996	PR fortran/14906
997	* io/format.c (format_item): gracefully handle a ')'
998	when it is the first character encountered in the string.
999
10002004-04-11  Bud Davis  <bdavis9659@comcast.net>
1001
1002	PR fortran/14904
1003	* io/transfer.c (next_record): Update last_record when
1004	more than one record is written to a direct access file
1005	with one write statement.
1006
10072004-04-11  Bud Davis  <bdavis9659@comcast.net>
1008
1009	PR fortran/14901
1010	* io/transfer.c (next_record_w) : No '\n' if internal.
1011	* io/unix.c (empty_internal_buffer) : Init to spaces, not '\n'.
1012
10132004-04-11  Bud Davis  <bdavis9659@comcast.net>
1014
1015	* io.h (ioparm): Interface from FE is 32 bit, irregardless of offset_t.
1016	Will need to change this later to support direct access files > 2gb.
1017
10182004-04-03  Bud Davis  <bdavis9659@comcast.net>
1019
1020	PR gfortran/14762
1021	* io/transfer.c (next_record_r) : Skip to next record.
1022
10232004-04-03  Bud Davis  <bdavis9659@comcast.net>
1024
1025	PR gfortran/14836
1026	* io/transfer.c (next_record): Update last_record for DIRECT
1027
10282004-04-03  Bud Davis  <bdavis9659@comcast.net>
1029
1030	PR gfortran/14837
1031	* io/unix.c (find_file0): Use fd field of struct
1032
10332004-04-03  Bud Davis  <bdavis9659@comcast.net>
1034
1035	PR 14831
1036	* io/inquire.c (inquire_via_unit): Changed return string for
1037	BLANK=NULL. Use correct variable for ACTION.
1038
10392004-04-01  Bud Davis  <bdavis9659@comcast.net>
1040
1041	PR 14746
1042	* io/read.c (read_f): Allow a decimal without a leading digit.
1043	* io/write.c (output_float): remove a leading '0' to keep from
1044	overflowing the field (F edit descriptor).
1045
10462004-04-01  Bud Davis  <bdavis9659@comcast.net>
1047
1048	PR gfortran/14565
1049	* io/open.c (new_unit),
1050	* io/io.h : new_unit is now visible
1051	* io/transfer.c (data_transfer_init): open unit if no OPEN statement.
1052	* io/transfer.c (data_transfer_init): remove compile warnings.
1053	* io/rewind.c (st_rewind): ftruncate if writing.
1054
10552004-03-24  Bud Davis  <bdavis9659@comcast.net>
1056
1057	* write.c (write_l): Use extract_int for 'L' edit descriptor.
1058
10592004-03-24  Bud Davis  <bdavis9659@comcast.net>
1060
1061	PR 13919
1062	* io/io.h (global_t):
1063	* io/list_read.c (next_char,list_formatted_read,ist_formatted_read):
1064	  Move eof_jmp to a global structure.
1065	* io/transfer.c(finalize_transfer) : Set up eof_jump for callers.
1066
10672004-03-24  Bud Davis  <bdavis9659@comcast.net>
1068
1069	* m4/cexp.m4 (csqrt): Actually use the passed value.
1070	* generated/exp_c?.c: Regenerate.
1071
10722004-03-24  Bud Davis  <bdavis9659@comcast.net>
1073
1074	PR 12921
1075	* io.h, transfer.c, open.c : recl_in changed from ptr to variable.
1076	* open.c (new_unit): Moved test for positioned direct access error.
1077	(init_units): Corrected calculation of max records.
1078
10792004-02-06  Feng Wang  <fengwang@nudt.edu.cn>
1080
1081	* Makefile.am: Add m4/dotprodc.m4. And fix spelling.
1082	* Makefile.in: Regenerate.
1083	* m4/dotprodc.m4: New file. Implement complex dot_product.
1084	* m4/dotprod.m4: Delete the complex implementation.
1085	* generated/dotprod_*: Update.
1086
10872004-02-07  Bud Davis  <bdavis9659@comcast.net>
1088
1089	* transfer.c (write_constant_string): Do not delete H's in hollerith
1090	formats.
1091
10922004-01-05  Andrew Pinski  <apinski@apple.com>
1093
1094	* configure.in: Check for csin in -lmx also.
1095	* configure: Regenerate.
1096
10972004-01-01  Paul Brook  <paul@codesourcery.com>
1098
1099	* io/list_read.c (find_nml_node): Make static.
1100	(match_namelist_name): Ditto.
1101	* io/read.c (convert_precision_real): Make static, fix spelling.
1102	* io/transfer.c (extract_real): Remove unused prototype.
1103	(st_set_nml_var): Make static.
1104	* io/write.c (extract_real): Make static.
1105
1106
1107Copyright (C) 2004 Free Software Foundation, Inc.
1108
1109Copying and distribution of this file, with or without modification,
1110are permitted in any medium without royalty provided the copyright
1111notice and this notice are preserved.
1112