[Ada] Eliminate redundant overflow checks for conversions from fixed-point
[official-gcc.git] / libgfortran / ChangeLog-2004
blob4775115a37075117895ed199eff2685c94bd5a7c
1 2004-12-27  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
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.
10 2004-12-23  Bud Davis  <bdavis9659@comcast.net>
12         PR fortran/19071
13         * io/tranfer.c (formatted_transfer): moved check for
14         format reversion inside the processing loop.
16 2004-12-19  Aaron W. LaFramboise  <aaronavay62@aaronwl.com>
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.
24 2004-12-15  Bud Davis  <bdavis9659@comcast.net>
25             Steven G. Kargl  <kargls@comcast.net>
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
31 2004-12-14  Steve Ellcey  <sje@cup.hp.com>
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.
38 2004-12-14  Steven G. Kargl  <kargls@comcast.net>
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.
46 2004-12-13  David Edelsohn  <edelsohn@gnu.org>
48         * io/transfer.c (read_sf): Change bitwise "and" to logical "and".
50 2004-12-12  Richard Henderson  <rth@redhat.com>
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.
62 2004-12-12  Richard Henderson  <rth@redhat.com>
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.
99 2004-12-09  David Edelsohn  <edelsohn@gnu.org>
101         PR bootstrap/18895
102         Revert 2004-12-07 change.
103         * Makefile.am (AM_MAKEFLAGS): Delete.
104         * Makefile.in: Regenerate.
106 2004-12-07  Steve Ellcey  <sje@cup.hp.com>
108         * libgfortran/Makefile.am (AM_MAKEFLAGS): New.
109         * libgfortran/Makefile.in: Regenerate
111 2004-12-07  Steve Ellcey  <sje@cup.hp.com>
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.
119 2004-12-07  Eric Botcazou  <ebotcazou@libertysurf.fr>
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.
128 2004-12-06  Richard Henderson  <rth@redhat.com>
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.
137 2004-12-06  Richard Henderson  <rth@redhat.com>
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.
153 2004-12-06  Richard Henderson  <rth@redhat.com>
155         * Makefile.am: Generate all m4 output under $(srcdir).
156         * Makefile.in: Regenerate.
158 2004-12-02  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
160         PR fortran/18710
161         * io/transfer.c (unformatted_read, unformatted_write): width of
162         a COMPLEX is twice its kind.
164 2004-12-02  Richard Sandiford  <rsandifo@redhat.com>
166         * configure.ac: Use TL_AC_GCC_VERSION to set gcc_version.
167         * configure, aclocal.m4, Makefile.in: Regenerate.
169 2004-12-02  Bud Davis  <bdavis9659@comcast.net>
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.
175 2004-12-02  Bud Davis  <bdavis9659@comcast.net>
177         * io/inquire.c (inquire_via_unit): do not allow a direct access
178         file to be opened for sequential I/O.
180 2004-12-02  Steven G. Kargl  <kargls@comcast.net>
181         Paul Brook  <paul@codesourcery.com>
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.
195 2004-12-01  Aaron W. LaFramboise  <aaronavay62@aaronwl.com>
197         * Makefile.am (AM_CPPFLAGS): Use -iquote instead of -I.
199 2004-11-28  Bud Davis  <bdavis9659@comcast.net>
201         * io/unix.c (mmap_alloc_w_a): check for a write to a location
202         less than the mapped area.
204 2004-11-27  Bud Davis  <bdavis9659@comcast.net>
206         PR fortran/18364
207         *  io/endfile.c (st_endfile): flush the stream before truncating.
209 2004-11-24  Kelley Cook  <kcook@gcc.gnu.org>
211         * configure: Regenerate for libtool change.
213 2004-11-22  Steven Bosscher  <stevenb@suse.de>
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.
223 2004-11-20  Roger Sayle  <roger@eyesopen.com>
225         * io/write.c (write_float, list_formatted_write): Fix indentation.
227 2004-11-20  Eric Botcazou  <ebotcazou@libertysurf.fr>
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.
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.
245 2004-11-20  Steven G. Kargl  <kargls@comcast.net>
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
253 2004-11-18  Victor Leikehman  <lei@il.ibm.com>
255         * m4/matmul.m4: Loops reordered to improve cache behavior.
256         * generated/matmul_??.c: Regenerated.
258 2004-11-10  Paul Brook  <paul@codesourcery.com>
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.
268 2004-11-05  Andreas Schwab  <schwab@suse.de>
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.
276 2004-11-05  Kelley Cook  <kcook@gcc.gnu.org>
278         * acinclude.m4: Properly quote AC_CACHE_CHECK.
279         * Makefile.am: Add in ACLOCAL_AMFLAGS.
280         * aclocal.m4, configure, Makefile.in: Regenerate.
282 2004-10-30  Aaron W. LaFramboise <aaronavay62@aaronwl.com>
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.
293 2004-10-30  Aaron W. LaFramboise <aaronavay62@aaronwl.com>
295         *  intrinsics/system.c ("libgfortran.h"): Move after system headers.
297 2004-10-30  Canqun Yang  <canqun@nudt.edu.cn>
299         * intrinsics/rand.c (irand): Handle NULL argument.
301 2004-10-07  Paul Brook  <paul@codesourcery.com>
303         * io/transfer.c (finalize_transfer): Free internal streams.
304         * io/unix.c (mem_close): Free stream object.
306 2004-10-07  Paul Brook  <paul@codesourcery.com>
308         * intrinsics/string_intrinsics.c (string_verify): Fix off by one
309         error.
311 2004-10-06  Paul Brook  <paul@codesourcery.com>
313         PR libfortran/17709
314         * io/transfer.c (data_transfer_init): Reset sf_seen_eor.
316 2004-10-04  Andrew Pinski  <pinskia@physics.uc.edu>
318         * intrinsics/mvbits.c: Commit the file.
320 2004-10-04  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
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.
329         PR fortran/17631
330         * Makefile.am (gfor_helper_src): Add intrinsics/mvbits.h.
331         * Makefile.in: Regenerate.
332         * intrinsics/mvbits.h: New file.
334         PR fortran/17776
335         * intrinsics/system.c: New file.
336         * Makefile.am: Add dependency for the new file.
337         * Makefile.in: Regenerate.
339 2004-10-04  Paul Brook  <paul@codesourcery.com>
340         Bud Davis  <bdavis9659@comcast.net>
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.
348 2004-10-03  Aaron W. LaFramboise <aaronavay62@aaronwl.com>
350         * intrinsics/abort.c ("libgfortran.h"): Move.
351         * intrinsics/date_and_time.c ("libgfortran.h"): Same.
352         * intrinsics/write.c ("libgfortran.h"): Same.
354 2004-09-26  Tobias Schlueter  <tobis.schlueter@physik.uni-muenchen.de>
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.
362 2004-09-24  Tobias Schlueter  <tobis.schlueter@physik.uni-muenchen.de>
364         * intrinsics/etime.c (etime_): New function.
366 2004-09-21  Steven G. Kargl  <kargls@comcast.net>
368         * libgfortran.h: define gfc_alloca()
369         * intrinsics/env.c (getenv, get_environment_variable_i4): Use it.
371 2004-09-21  Bud Davis  <bdavis9659@comcast.net>
373         PR fortran/17286
374         * io/list_read.c (namelist_read): ignore spaces after
375         the '=' for namelist reads.
377 2004-09-15  Aaron W. LaFramboise <aaronavay62@aaronwl.com>
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.
386 2004-09-15  Steven G. Kargl  <kargls@comcast.net>
388         * intrincics/getcwd.c: New file.
389         * Makefile.am: Add getcwd.c.
390         * Makefile.in: Regenerated.
392 2004-09-15  Steven G. Kargl  <kargls@comcast.net>
393         Paul Brook  <paul@codesourcery.com>
395         * intrinsics/env.c (getenv, get_environmental_variable): Remove
396         trailing white space.  Use alloca.  Honour trim_name.
398 2004-09-13  Bud Davis  <bdavis9659@comcast.net>
400         PR fortran/17090
402         * io/list_read.c (list_formatted_read): Handle trailing spaces
403         at end of line.
405 2004-09-06  Steven G. Kargl  <kargls@comcast.net>
407         * io/write.c (output_float): Typo in comment.  Remove debugging
408         printf.  Fix format for FP of form 1e10.
410 2004-09-03  Richard Henderson  <rth@redhat.com>
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.
417 2004-09-02  Paul Brook  <paul@codesourcery.com>
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.
423 2004-09-01  Eric Botcazou  <ebotcazou@libertysurf.fr>
425         * mk-sik-inc.sh: Use a temporary string instead of 'echo -n'.
426         * mk-srk-inc.sh: Likewise.
428 2004-09-01  Paul Brook  <paul@codesourcery.com>
430         * runtime/error.c (generate_error): Set both iostat and
431         library_return.
433 2004-08-31  Paul Brook  <paul@codesourcery.com>
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.
439 2004-08-31  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
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.
446 2004-08-31  Paul Brook  <paul@codesourcery.com>
448         * io/unit.c (get_unit): Remove superfluous if.
450 2004-08-31  Paul Brook  <paul@codesourcery.com>
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.
456 2004-08-31  Paul Brook  <paul@codesourcery.com>
458         * list_read.c (eat_separator): Set at_eo when a '/' is seen.
460 2004-08-31  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
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'.
467 2004-08-31  Paul Brook  <paul@codesourcery.com>
469         * libgfortran.h: Add comments.
471 2004-08-30  Richard Henderson  <rth@redhat.com>
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.
482 2004-08-29  Steven G. Kargl  <kargls@comcast.net>
483         Paul Brook  <paul@codesourcery.com>
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.
493 2004-08-29  Steven G. Kargl  <kargls@comcast.net>
494         Paul Brook  <paul@codesourcery.com>
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.
502 2004-08-28  Paul Brook  <paul@codesourcery.com>
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.
511 2004-08-27  Paul Brook  <paul@codesourcery.com>
513         * io/rewind.c (st_rewind): Reset unit to read mode.
515 2004-08-27  Bud Davis  <bdavis9659@comcast.net>
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.
524 2004-08-24  Bud Davis  <bdavis9659@comcast.net>
526         PR fortran/17143
527         * runtime/error.c (itoa): keep from overflowing during
528         mod operation by using unsigned variable.
530 2004-08-24  Bud Davis  <bdavis9659@comcast.net>
532         PR fortran/17164
533         * runtime/string_intrinsics.c (string_index):check for
534         substring longer than string.
536 2004-08-24  David Edelsohn  <edelsohn@gnu.org>
538         * Makefile.am (libgfortran_la_LDFLAGS): Add -lm.
539         * Makefile.in: Rebuilt.
541 2004-08-23  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
543         * io/io.h, io/list_read.c, io/open.c, io/transfer.c, io/write.c:
544         Fix formatting issues, update copyright years.
546 2004-08-21  Bud Davis  <bdavis9659@comcast.net>
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.
552 2004-08-18  Victor Leikehman  <lei@il.ibm.com>
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.
561 2004-08-13  Bud Davis  <bdavis9659@comcast.net>
563         PR gfortran/16935
564         * io/open.c (st_open): use flags instead of the unit structure.
566 2004-08-10  Victor Leikehman  <lei@il.ibm.com>
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.
572 2004-08-09  Richard Henderson  <rth@redhat.com>
573             Roger Sayle  <roger@eyesopen.com>
575         * intrinsics/c99_functions.c (nextafterf): New implementation that
576         works correctly with denormalized numbers.
578 2004-08-09  Victor Leikehman  <lei@il.ibm.com>
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.
585 2004-08-06  Janne Blomqvist  <jblomqvi@cc.hut.fi>
587         * intrinsics/env.c: New file.
588         * Makefile.am: Add env.c to build.
589         * Makefile.in: Regenerate.
591 2004-08-05  Victor Leikehman  <lei@il.ibm.com>
593         PR libfortran/16704
594         * io/read.c (read_radix): Understand letters f and F as hex digits.
596 2004-08-04  Victor Leikehman  <lei@il.ibm.com>
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.
606 2004-08-03  Roger Sayle  <roger@eyesopen.com>
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.
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.
620 2004-08-01  Roger Sayle  <roger@eyesopen.com>
622         * io/write.c (write_float): Use the slightly more portable isnan
623         in preference to isinf.
625 2004-07-18  Bud Davis  <bdavis9659@comcast.net>
627         * configure.ac: Add check for LFS support.
628         * configure: Regenerate
630 2004-07-11  Paul Brook  <paul@codesourcery.com>
632         PR fortran/16303
633         * m4/cexp.m4 (carg): Return -pi to pi.
634         * generated/exp_c?.c: Regenerate.
636 2004-07-08  Andreas Krebbel  <krebbel1@de.ibm.com>
638         PR fortran/16291
639         * libgfortran/io/write.c: (write_float): Added length check.
640         Remove pointless memset calls.
642 2004-07-04  Bud Davis  <bdavis9659@comcast.net>
643             Paul Brook  <paul@codesourcery.com>
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.
655 2004-07-04  Janne Blomqvist  <jblomqvi@cc.hut.fi>
656         Paul Brook  <paul@codesourcery.com>
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.
666 2004-07-04  Matthias Klose  <doko@debian.org>
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
674 2004-06-30  Steve Kargl  <sgk@troutmask.apl.washington.edu>
675             Steven Bosscher  <stevenb@suse.de>
677         * intrinsics/rand.c (rand): Wrap the irand() call from the previous
678         commit in prefix.
680 2004-06-29  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
681         Paul Brook  <paul@codesourcery.com>
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.
687 2004-06-27  Bud Davis  <bdavis9659@comcast.net>
689         PR gfortran/12839
690         * io/write.c (write_float): check signbit for Infinity.
692 2004-06-26  Bud Davis  <bdavis9659@comcast.net>
694         PR gfortran/16196
695         * unix.c(regular_file): create file if it does not exist.
697 2004-06-24  Andrew Pinski  <apinski@apple.com>
699         * configure.ac: Remove check for libmx.
700         * configure: Regenerate.
702 2004-06-22  Janne Blomqvist  <jblomqvi@cc.hut.fi>
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.
711 2004-06-21  Steven G. Kargl  <kargls@comcast.net>
713         * etime.c (etime_sub): Remove array rank check;
714         Add check for sufficient space.
716 2004-06-19  Bud Davis  <bdavis9659@comcast.net>
718         PR gfortran/16080
719         * io/list_read.c(set_value): fixed spelling.
721 2004-06-19  Bud Davis  <bdavis9659@comcast.net>
723         PR gfortran/16080
724         * io/list_read.c(set_value): don't copy if the string is null.
726 2004-06-14  Bud Davis  <bdavis9659@comcast.net>
728         PR gfortran/15292
729         * intrinsics/c99_functions.c: Use fpclassify if it exists.
731 2004-06-13  Paul Brook  <paul@codesourcery.com>
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.
742 2004-06-13  Steven G. Kargl  <kargls@comcast.net>
743             Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
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(.
750 2004-06-13  Steven G. Kargl  <kargls@comcast.net>
752         * random.c (random_r4): Burn a random number.
753         (random_r8): fix infinite loop.
755 2004-06-12  Bud Davis  <bdavis9659@comcast.net>
756             Steve Kargl  <sgk@troutmask.apl.washington.edu>
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.
766 2004-06-12  Steven G. Kargl  <kargls@comcast.net>
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.
775 2004-06-12  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
776             Steven Bosscher  <stevenb@suse.de>
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().
784 2004-06-12  Bud Davis  <bdavis9659@comcast.net>
786         PR fortran/15665
787         * intrinsics/args.c: Implement GETARG and IARGC.
788         * Makefile.am: Add it.
789         * Makefile.in: Regenerate.
791 2004-06-12  Bud Davis  <bdavis9659@comcast.net>
793         PR gfortran/12839
794         * io/write.c(write_float): Format inf and nan IAW F2003.
796 2004-06-09  Bud Davis  <bdavis9659@comcaste.net>
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.
804 2004-06-09  Bud Davis  <bdavis9659@comcast.net>
806         PR gfortran/15755
807         * io/backspace.c(st_backspace): call correct routine for
808         formatted and un-formatted units.
810 2004-05-30  Andreas Jaeger  <aj@suse.de>, Steven Bosscher <stevenb@suse.de>
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.
823 2004-05-30  Steven G. Kargl  <kargls@comcast.net>
825         * libgfortran.h (random_seed): Update prototype.
826         * intrinsics/random.c: Disable old implementation and add new one.
828 2004-05-30  Andreas Jaeger  <aj@suse.de>
830         * intrinsics/random.c: Include unistd.h for close and read
831         prototypes, remove unneeded inclusion of assert.h.
833         * intrinsics/abort.c: Include stdlib.h for abort prototype, remove
834         unneeded inclusion of assert.h.
836 2004-05-27  Tobias Schlueter  <tobias.shclueter@physik.uni-muenchen.de>
838         PR fortran/15234
839         * intrinsics/associated.c: Remove enum.
840         (associated): Replace TRUE/FALSE by 1/0.
842 2004-05-23  Steven G. Kargl  <kargls@comcast.net>
844         * random.c (random_seed): Use correct variable.
846 2004-05-22  Steven G. Kargl  <kargls@comcast.net>
848         * intrinsics/system_clock: New file.
849         * Makefile.am: Add intrinsics/system_clock.c.
850         * Makefile.in: Regenerate.
852 2004-05-21  Roger Sayle  <roger@eyesopen.com>
854         * io/format.c (parse_format_list): Allow the comma after a string
855         literal to be optional.
857 2004-05-18  Paul Brook  <paul@codesourcery.com>
858         Feng Wang  <fengwang@nudt.edu.cn>
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.
867 2004-05-18  Paul Brook  <paul@codesourcery.com>
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.
881 2004-05-18  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
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.
895 2004-05-16  Paul Brook  <paul@codesourcery.com>
897         * io/format.c (write_real): Don't include padding in format.
899 2004-05-16  Paul Brook  <paul@codesourcery.com>
901         * io/format.c (format_lex): Make c an int.
903 2004-05-16  Janne Blomqvist  <jblomqvi@cc.hut.fi>
904         Paul Brook  <paul@codesourcery.com>
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.
910 2004-05-16  Janne Blomqvist  <jblomqvi@cc.hut.fi>
912         * io/io.h (flush): Add prototype.
913         * io/transfer.c (finalize_transfer): Flush partial records.
914         * io/unix.c (flush): New function.
916 2004-05-15  Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
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.
935 2004-05-15  Bud Davis  <bdavis9659@comcast.net>
937         PR fortran/15311
938         * io/write.c (write_a): right justify A edit output.
940 2004-05-14  Bud Davis  <bdavis9659@comcast.net>
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.
946 2004-05-13  Tobias Schlter  <tobias.schlueter@physik.uni-muenchen.de>
948         * io/format.c: (parse_format_list): No comma is required after
949         P descriptor.
951 2004-05-13  Bud Davis  <bdavis9659@comcast.net>
953         PR fortran/15204
954         * io/intrinsic/string_intrinsics.c (adjustr): rework logic.
956 2004-05-06  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
957             Steven Bosscher  <stevenb@suse.de>
959         PR libfortran/15234
960         * libgfortran.h: Include <inttypes.h> if available.
962 2004-05-03  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
964         * io/unix.c (MAP_FAILED): Define if missing.
965         (mmap_alloc): Cast MAP_FAILED to char *.
966         (mmap_open): Likewise.
968 2004-04-26  Bud Davis  <bdavis9659@comcast.net>
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.
976 2004-04-26  Bud Davis  <bdavis9659@comcast.net>
978         PR fortran/14056
979         * generated/_abs_i4.f90: New file.
980         * Makefile.am: Add it.
981         * Makefile.in: Regenerate.
983 2004-04-25  Bud Davis  <bdavis9659@comcast.net>
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.
989 2004-04-23  Bud Davis  <bdavis9659@comcast.net>
991         PR fortran/15113
992         * io/read.c(read_a): Handle field width > destination and no field width.
994 2004-04-22  Bud Davis  <bdavis9659@comcast.net>
996         PR fortran/14906
997         * io/format.c (format_item): gracefully handle a ')'
998         when it is the first character encountered in the string.
1000 2004-04-11  Bud Davis  <bdavis9659@comcast.net>
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.
1007 2004-04-11  Bud Davis  <bdavis9659@comcast.net>
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'.
1013 2004-04-11  Bud Davis  <bdavis9659@comcast.net>
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.
1018 2004-04-03  Bud Davis  <bdavis9659@comcast.net>
1020         PR gfortran/14762
1021         * io/transfer.c (next_record_r) : Skip to next record.
1023 2004-04-03  Bud Davis  <bdavis9659@comcast.net>
1025         PR gfortran/14836
1026         * io/transfer.c (next_record): Update last_record for DIRECT
1028 2004-04-03  Bud Davis  <bdavis9659@comcast.net>
1030         PR gfortran/14837
1031         * io/unix.c (find_file0): Use fd field of struct
1033 2004-04-03  Bud Davis  <bdavis9659@comcast.net>
1035         PR 14831
1036         * io/inquire.c (inquire_via_unit): Changed return string for
1037         BLANK=NULL. Use correct variable for ACTION.
1039 2004-04-01  Bud Davis  <bdavis9659@comcast.net>
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).
1046 2004-04-01  Bud Davis  <bdavis9659@comcast.net>
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.
1055 2004-03-24  Bud Davis  <bdavis9659@comcast.net>
1057         * write.c (write_l): Use extract_int for 'L' edit descriptor.
1059 2004-03-24  Bud Davis  <bdavis9659@comcast.net>
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.
1067 2004-03-24  Bud Davis  <bdavis9659@comcast.net>
1069         * m4/cexp.m4 (csqrt): Actually use the passed value.
1070         * generated/exp_c?.c: Regenerate.
1072 2004-03-24  Bud Davis  <bdavis9659@comcast.net>
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.
1079 2004-02-06  Feng Wang  <fengwang@nudt.edu.cn>
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.
1087 2004-02-07  Bud Davis  <bdavis9659@comcast.net>
1089         * transfer.c (write_constant_string): Do not delete H's in hollerith
1090         formats.
1092 2004-01-05  Andrew Pinski  <apinski@apple.com>
1094         * configure.in: Check for csin in -lmx also.
1095         * configure: Regenerate.
1097 2004-01-01  Paul Brook  <paul@codesourcery.com>
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.
1107 Copyright (C) 2004 Free Software Foundation, Inc.
1109 Copying and distribution of this file, with or without modification,
1110 are permitted in any medium without royalty provided the copyright
1111 notice and this notice are preserved.