64f188ffb9d183112bbb4cbb610c5413872e5f09
[gcc.git] / libgfortran / ChangeLog
1 2005-10-14 Uros Bizjak <uros@kss-loka.si>
2
3 * config/fpu-387.h (set_fpu): Remove extra ":" in stmxcsr.
4 Change cw and cw_sse variables to unsigned.
5 (SSE): New definition.
6 (has_sse): Use it.
7
8 2005-10-13 Thomas Koenig <Thomas.Koenig@online.de>
9
10 * io/unix.c(fd_alloc_r_at): Use read() instead of do_read()
11 only in case of special files (e.g. terminals).
12
13 2005-10-13 Uros Bizjak <uros@kss-loka.si>
14
15 * config/fpu-387.h (set_fpu): Add "=m" for stmxcsr.
16
17 2005-10-12 Francois-Xavier Coudert <coudert@clipper.ens.fr>
18
19 * Makefile.am: Add fpu.c to the build process, and
20 target-dependent code as fpu-target.h.
21 * Makefile.in: Regenerate.
22 * configure.ac: Add call to configure.host to set
23 FPU_HOST_HEADER.
24 * configure: Regenerate.
25 * configure.host: New script to determine which host-dependent
26 code should go in.
27 * libgfortran.h: Add fpe option, remove previous fpu_ options.
28 Add bitmasks for different FPE traps. Add prototype for set_fpu.
29 * runtime/environ.c: Remove environment variables to control
30 fpu behaviour.
31 * runtime/fpu.c (set_fpe): New function for the front-end.
32 * runtime/main.c (init): Set FPU state.
33 * config: New directory to store host-dependent code.
34 * config/fpu-387.h: New file with code handling the i387 FPU.
35 * config/fpu-glibc.h: New file with code for glibc systems.
36 * config/fpu-generic.h: Fallback for the most generic host. Issue
37 warnings.
38
39 2005-10-12 Janne Blomqvist <jblomqvi@cc.hut.fi>
40
41 * io/unix.c(fd_alloc_r_at): Remove parts of patch of 2005/10/07 that
42 cause input from the terminal to hang.
43
44 2005-10-11 Steven G. Kargl <kargls@comcast.net>
45
46 PR libgfortran/24313
47 * c99_functions.c (csqrtf, csqrt): Fix choice of branch cut. Note
48 csqrt{f} were imported from glibc, and this bug is still present
49 there. glibc PR is 1146.
50
51 2005-10-07 Janne Blomqvist <jblomqvi@cc.hut.fi>
52
53 PR fortran/16339
54 PR fortran/23363
55 * io/io.h: Add read and write members to stream, define access
56 macros.
57 * io/transfer.c (read_block_direct): New function.
58 (write_block_direct): New function.
59 (unformatted_read): Change to use read_block_direct.
60 (unformatted_write): Change to use write_block_direct.
61 * io/unix.c: Remove mmap includes and defines.
62 (writen): Remove.
63 (readn): Remove.
64 (reset_stream): New function.
65 (do_read): New function.
66 (do_write): New function.
67 (fd_flush): Change to use do_write() instead of writen().
68 (fd_alloc_r_at): Change to use do_read().
69 (fd_seek): Change return type to try, as the prototype. Add check
70 to avoid syscall overhead if possible.
71 (fd_read): New function.
72 (fd_write): New function.
73 (fd_open): Set pointers for new functions.
74 (mem_read): New function.
75 (mem_write): New function.
76 (open_internal): Set pointers for new functions.
77 (is_seekable): Clean up comment.
78
79 2005-10-07 Jerry DeLisle <jvdelisle@verizon.net>
80
81 * io/transfer.c (write_block): Add test for end-of-file condition,
82 removed from mem_alloc_w_at. (next_record_w): Clean up checks for
83 NULL pointer returns from s_alloc_w.
84 * io/unix.c (mem_alloc_w_at): Remove call to generate_error end-of-file.
85 * io/write.c (write_float): Add checks for NULL pointer returns from
86 write_block calls. (write_integer): Same.
87
88 2005-10-03 Jakub Jelinek <jakub@redhat.com>
89
90 * runtime/memory.c (allocate_size): Malloc 1 byte if size == 0.
91
92 2005-10-03 Francois-Xavier Coudert <coudert@clipper.ens.fr>
93
94 PR libfortran/19308
95 PR libfortran/22437
96 * Makefile.am: Add generated files for large real and integers
97 kinds. Add a rule to create the kinds.inc c99_protos.inc files.
98 Use kinds.inc to preprocess Fortran generated files.
99 * libgfortran.h: Add macro definitions for GFC_INTEGER_16_HUGE,
100 GFC_REAL_10_HUGE and GFC_REAL_16_HUGE. Add types gfc_array_i16,
101 gfc_array_r10, gfc_array_r16, gfc_array_c10, gfc_array_c16,
102 gfc_array_l16.
103 * mk-kinds-h.sh: Define macros HAVE_GFC_LOGICAL_* and
104 HAVE_GFC_COMPLEX_* when these types are available.
105 * intrinsics/ishftc.c (ishftc16): New function for GFC_INTEGER_16.
106 * m4/all.m4, m4/any.m4, m4/count.m4, m4/cshift1.m4, m4/dotprod.m4,
107 m4/dotprodc.m4, m4/dotprodl.m4, m4/eoshift1.m4, m4/eoshift3.m4,
108 m4/exponent.m4, m4/fraction.m4, m4/in_pack.m4, m4/in_unpack.m4,
109 m4/matmul.m4, m4/matmull.m4, m4/maxloc0.m4, m4/maxloc1.m4,
110 m4/maxval.m4, m4/minloc0.m4, m4/minloc1.m4, m4/minval.m4, m4/mtype.m4,
111 m4/nearest.m4, m4/pow.m4, m4/product.m4, m4/reshape.m4,
112 m4/set_exponent.m4, m4/shape.m4, m4/specific.m4, m4/specific2.m4,
113 m4/sum.m4, m4/transpose.m4: Protect generated functions with
114 appropriate "#if defined (HAVE_GFC_type_kind)" preprocessor directives.
115 * Makefile.in: Regenerate.
116 * all files in generated/: Regenerate.
117
118 2005-10-01 Jakub Jelinek <jakub@redhat.com>
119
120 * runtime/memory.c (malloc_t): Remove.
121 (GFC_MALLOC_MAGIC, HEADER_SIZE, DATA_POINTER, DATA_HEADER): Remove.
122 (mem_root, runtime_cleanup, malloc_with_header): Remove.
123 (internal_malloc_size): Use just get_mem if size != 0, return NULL
124 otherwise.
125 (internal_free): Just free if non-NULL.
126 (internal_realloc_size): Remove debugging stuff.
127 (allocate_size): Use malloc directly, remove debugging stuff.
128 (deallocate): Use free directly, fix error message wording.
129
130 * libgfortran.h (GFC_ITOA_BUF_SIZE, GFC_XTOA_BUF_SIZE,
131 GFC_OTOA_BUF_SIZE, GFC_BTOA_BUF_SIZE): Define.
132 (gfc_itoa, xtoa): Add 2 extra arguments.
133 * runtime/environ.c: Include stdio.h.
134 (check_buffered): Use sprintf.
135 * runtime/error.c: Include assert.h.
136 (gfc_itoa, xtoa): Add 2 extra arguments, avoid using static
137 buffers.
138 (st_printf, st_sprintf): Adjust callers.
139 * io/write.c (otoa, btoa): Add 2 extra arguments, avoid using
140 static buffers.
141 (write_int, write_decimal): Add 2 extra arguments to conv
142 function pointer, adjust caller.
143 (write_integer): Adjust gfc_itoa caller.
144
145 * io/unit.c (get_array_unit_len): Return 0 rather than NULL.
146
147 * io/read.c (read_f): Remove spurious pointer dereference.
148
149 2005-09-30 Janne Blomqvist <jblomqvi@cc.hut.fi>
150
151 PR 24112
152 * io/open.c (edit_modes): Check for correct flag.
153
154 2005-09-29 Jakub Jelinek <jakub@redhat.com>
155
156 * runtime/string.c (find_option): Change 3rd argument to
157 const st_option *.
158 * libgfortran.h (find_option): Likewise.
159 * runtime/environ.c (rounding, precision, signal_choices): Constify.
160 (init_choice, show_choice): Change 2nd argument to const choice *.
161 * io/open.c (access_opt, action_opt, blank_opt, delim_opt, form_opt,
162 position_opt, status_opt, pad_opt): Constify.
163 * io/transfer.c (advance_opt): Likewise.
164 * io/inquire.c (undefined): Likewise.
165 * io/close.c (status_opt): Likewise.
166 * io/format.c (posint_required, period_required, nonneg_required,
167 unexpected_element, unexpected_end, bad_string, bad_hollerith,
168 reversion_error): Likewise.
169 * io/unix.c (yes, no, unknown): Change from const char *
170 into const char [].
171
172 2005-09-27 Steve Ellcey <sje@cup.hp.com>
173
174 PR target/23552
175 * acinclude.m4 (LIBGFOR_CHECK_FOR_BROKEN_ISFINITE): New.
176 (LIBGFOR_CHECK_FOR_BROKEN_ISNAN): New.
177 (LIBGFOR_CHECK_FOR_BROKEN_FPCLASSIFY): New.
178 * configure.ac (LIBGFOR_CHECK_FOR_BROKEN_ISFINITE): Add use.
179 (LIBGFOR_CHECK_FOR_BROKEN_ISNAN): Add use.
180 (LIBGFOR_CHECK_FOR_BROKEN_FPCLASSIFY): Add use.
181 * configure: Regenerate.
182 * config.h.in: Regenerate.
183 * libgfortan.h (isfinite): undef if broken, set if needed.
184 (isnan): undef if broken, set if needed.
185 (fpclassify): undef if broken, set if needed.
186 * io/write.c: Remove TODO comment about working isfinite.
187 * intrinsics/c99_functions.c (round): Use isfinite instead
188 of fpclassify.
189 * intrinsics/c99_functions.c (roundf): Ditto.
190
191 2005-09-24 Janne Blomqvist <jblomqvi@cc.hut.fi>
192
193 * io.h: Changed prototypes of list_formatted_{read|write}.
194 * list_read.c (list_formatted_read): Renamed to
195 list_formatted_read_scalar and made static.
196 (list_formatted_read): New function.
197 * transfer.c: Prototype for transfer_array. Changed transfer
198 function pointer.
199 (unformatted_read): Add nelems argument, use it.
200 (unformatted_write): Likewise.
201 (formatted_transfer): Changed name to formatted_transfer_scalar.
202 (formatted_transfer): New function.
203 (transfer_integer): Add nelems argument to transfer call, move
204 updating item count to transfer functions.
205 (transfer_real): Likewise.
206 (transfer_logical): Likewise.
207 (transfer_character): Likewise.
208 (transfer_complex): Likewise.
209 (transfer_array): New function.
210 (data_transfer_init): Call formatted_transfer with new argument.
211 (iolength_transfer): New argument, use it.
212 * write.c (list_formatted_write): Renamed to
213 list_formatted_write_scalar, made static.
214 (list_formatted_write): New function.
215
216 2005-09-26 David Edelsohn <edelsohn@gnu.org>
217
218 * configure.ac: Add check for __clog.
219 * configure: Regenerate.
220
221 2005-09-25 Francois-Xavier Coudert <coudert@clipper.ens.fr>
222
223 * c99_protos.h: Add prototypes for C99 complex functions.
224 * libgfortran.h: Include complex.h before c99_protos.h.
225 * intrinsics/c99_functions.c: Define HAVE_ macros for the
226 fallback functions we provide.
227 (cabsf, cabs, cabsl, cargf, carg, cargl, cexpf, cexp, cexpl,
228 clogf, clog, clogl, clog10f, clog10, clog10l, cpowf, cpow, cpowl,
229 cqsrtf, csqrt, csqrtl, csinhf, csinh, csinhl, ccoshf, ccosh,
230 ccoshl, ctanhf, ctanh, ctanhl, csinf, csin, csinl, ccosf, ccos,
231 ccosl, ctanf, ctan, ctanl): New fallback functions.
232 * Makefile.am (gfor_math_trig_c, gfor_math_trig_obj,
233 gfor_specific_c, gfor_cmath_src, gfor_cmath_obj): Remove.
234 * Makefile.in: Regenerate.
235 * configure.ac: Remove checks for csin. Add checks for all C99
236 complex functions.
237 * config.h.in: Regenerate.
238 * configure: Regenerate.
239 * aclocal.m4: Regenerate.
240
241 2005-09-25 Francois-Xavier Coudert <coudert@clipper.ens.fr>
242 Danny Smith <dannysmith@users.sourceforge.net>
243
244 PR libfortran/23803
245 * intrinsics/getXid.c: Add getpid wrapper for MinGW.
246 * intrinsics/getlog.c: Add getlogin wrapper for MinGW.
247 * intrinsics/hostnm.c: Add gethostname wrapper for MinGW.
248
249 2005-09-24 Francois-Xavier Coudert <coudert@clipper.ens.fr>
250
251 PR libfortran/23802
252 * intrinsics/sleep.c: Add correct sleep macro for MinGW.
253
254 2005-09-24 Francois-Xavier Coudert <coudert@clipper.ens.fr>
255
256 PR libfortran/23380
257 * intrinsics/cpu_time.c (__cpu_time_1): Provide a MS Windows
258 version.
259
260 2005-09-14 Jerry DeLisle <jvdelisle@verizon.net
261
262 PR fortran/21875 Internal Unit Array I/O, NIST
263 * libgfortran.h: Add run time error code for array stride.
264 * runtime/error.c (translate_error): Add error message for
265 array stride.
266 * io/io.h: Add array descriptor pointer to IOPARM structure.
267 Add prtotypes for two new functions.
268 * io/transfer.c (data_transfer_init): Removed initialization and
269 moved to unit.c (get_unit)
270 * io/transfer.c (next_record_r): Include internal unit read
271 functionality.
272 * io/transfer.c (next_record_w): Include internal unit write
273 functionality, including padding of character array records.
274 * io/unit.c (get_array_unit_len): New function to return the number
275 of records in the character array 'file' from the array descriptor.
276 * io/unit.c (get_unit): Gathered initialization code from
277 init_data_transfer for internal units and added initialization of
278 character array unit.
279 * io/unit.c (is_array_io): New function to determine if internal unit
280 is an array.
281 * io/unix.c (mem_alloc_w_at): Add error checks for bad record length
282 and end of file.
283
284 2005-09-13 Richard Sandiford <richard@codesourcery.com>
285
286 PR target/19269
287 * intrinsics/cshift0.c (cshift0): Add an extra size argument.
288 (cshift0_1, cshift0_2, cshift0_4, cshift0_8): Replace explicit
289 implementations with...
290 (DEFINE_CSHIFT): ...this new macro. Define character versions too.
291 * intrinsics/eoshift0.c (zeros): Delete.
292 (eoshift0): Add extra size and filler arguments. Use memset if no
293 bound is provided.
294 (eoshift0_1, eoshift0_2, eoshift0_4, eoshift0_8): Replace explicit
295 implementations with...
296 (DEFINE_EOSHIFT): ...this new macro. Define character versions too.
297 * intrinsics/eoshift2.c (zeros): Delete.
298 (eoshift2): Add extra size and filler arguments. Use memset if no
299 bound is provided.
300 (eoshift2_1, eoshift2_2, eoshift2_4, eoshift2_8): Replace explicit
301 implementations with...
302 (DEFINE_EOSHIFT): ...this new macro. Define character versions too.
303 * intrinsics/pack.c (pack_internal): New static function, reusing
304 the contents of pack and adding an extra size argument. Change
305 "mptr" rather than "m" when calculating the array size.
306 (pack): Redefine as a forwarder to pack_internal.
307 (pack_s_internal): New static function, reusing the contents of
308 pack_s and adding an extra size argument.
309 (pack_s): Redefine as a forwarder to pack_s_internal.
310 (pack_char, pack_s_char): New functions.
311 * intrinsics/reshape.c (reshape_internal): New static function,
312 reusing the contents of reshape and adding an extra size argument.
313 (reshape): Redefine as a forwarder to reshape_internal.
314 (reshape_char): New function.
315 * intrinsics/spread.c (spread_internal): New static function,
316 reusing the contents of spread and adding an extra size argument.
317 (spread): Redefine as a forwarder to spread_internal.
318 (spread_char): New function.
319 * intrinsics/transpose.c (transpose_internal): New static function,
320 reusing the contents of transpose and adding an extra size argument.
321 (transpose): Redefine as a forwarder to transpose_internal.
322 (transpose_char): New function.
323 * intrinsics/unpack.c (unpack_internal): New static function, reusing
324 the contents of unpack1 and adding extra size and fsize arguments.
325 (unpack1): Redefine as a forwarder to unpack_internal.
326 (unpack0): Call unpack_internal instead of unpack1.
327 (unpack1_char, unpack0_char): New functions.
328 * m4/cshift1.m4 (cshift1): New static function, reusing the contents
329 of cshift1_<kind> and adding an extra size argument.
330 (cshift1_<kind>): Redefine as a forwarder to cshift1.
331 (cshift1_<kind>_char): New function.
332 * m4/eoshift1.m4 (zeros): Delete.
333 (eoshift1): New static function, reusing the contents of
334 eoshift1_<kind> and adding extra size and filler arguments.
335 Fix calculation of hstride. Use memset if no bound is provided.
336 (eoshift1_<kind>): Redefine as a forwarder to eoshift1.
337 (eoshift1_<kind>_char): New function.
338 * m4/eoshift3.m4 (zeros): Delete.
339 (eoshift3): New static function, reusing the contents of
340 eoshift3_<kind> and adding extra size and filler arguments.
341 Use memset if no bound is provided.
342 (eoshift3_<kind>): Redefine as a forwarder to eoshift3.
343 (eoshift3_<kind>_char): New function.
344 * generated/cshift1_4.c, generated/cshift1_8.c,
345 * generated/eoshift1_4.c, generated/eoshift1_8.c,
346 * generated/eoshift3_4.c, generated/eoshift3_8.c: Regenerate.
347
348 2005-09-11 Francois-Xavier Coudert <coudert@clipper.ens.fr>
349
350 PR libfortran/20179
351 * io/unix.c (is_preconnected): Add function to test if a stream
352 corresponds to a preconnected unit.
353 * io/io.h: Add prototype for is_preconnected.
354 * io/transfer.c (data_transfer_init): Do not truncate
355 preconnected units.
356
357 2005-09-10 Janne Blomqvist <jblomqvi@cc.hut.fi>
358
359 * io/unix.c: Remove mmap code.
360
361 2005-09-09 Francois-Xavier Coudert <coudert@clipper.ens.fr>
362
363 PR libfortran/23784
364 * io/close.c (st_close): Call library_end even in case of error.
365
366 2005-09-09 Thomas Koenig <Thomas.Koenig@online.de>
367
368 * io/io.h: Add iomsg as last field of st_parameter.
369 * runtime/error.c (generate_error): If iomsg is present, copy
370 the message there.
371
372 2005-09-09 Richard Sandiford <richard@codesourcery.com>
373
374 PR fortran/12840
375 * runtime/memory.c (internal_malloc_size): Return a null pointer
376 if the size is zero.
377 (internal_free): Do nothing if the pointer is null.
378 (internal_realloc_size, internal_realloc, internal_realloc64): New.
379
380 2005-09-07 Francois-Xavier Coudert <coudert@clipper.ens.fr>
381
382 PR libfortran/23262
383 * acinclude.m4 (LIBGFOR_CHECK_CRLF): New check.
384 * configure.ac: Use new check.
385 * configure.in: Regenerate.
386 * config.h.in: Regenerate.
387 * configure: Regenerate.
388 * io/transfer.c (next_record_w): Add case for CRLF as line
389 terminator.
390 * io/unix.c (tempfile, regular_file): Open files with
391 O_BINARY on systems with CRLF.
392
393 2005-09-07 Steve Ellcey <sje@cup.hp.com>
394
395 PR libfortran/23419
396 * io/write.c (extract_int): Use memcpy to access buffer.
397 (extract_uint): Ditto.
398 (extract_real): Ditto.
399
400 2005-09-05 Thomas Koenig <Thomas.Koenig@online.de>
401
402 * io/list_read.c: Adjust size of of value to 32 (to hold
403 kind=16 complex values).
404
405 2005-09-04 Thomas Koenig <Thomas.Koenig@online.de>
406
407 PR libfortran/23321
408 * io/transfer.c(data_transfer_init): Check for a too-large
409 record number. Return if sseek failed.
410
411 2005-09-03 Jakub Jelinek <jakub@redhat.com>
412
413 * io/read.c (read_x): Take int argument instead of fnode * and
414 digging the N from F->u.n.
415 * io/io.h (read_x): Adjust prototype.
416 * io/transfer.c (formatted_transfer): Adjust callers. Don't clobber
417 f->u.n for FMT_T.
418
419 2005-09-02 Francois-Xavier Coudert <coudert@clipper.ens.fr>
420
421 * io/unix.c (stream_ttyname): Protect use of ttyname by
422 HAVE_TTYNAME macro.
423 * configure.ac: Add check for ttyname.
424 * config.h.in: Regenerate.
425 * configure: Regenerate.
426
427 2005-09-02 Andreas Jaeger <aj@suse.de>
428
429 * libgfortran.h: Add prototype for init_compile_options.
430
431 * io/io.h: Add prototype for notify_std.
432
433 2005-08-31 Steve Ellcey <sje@cup.hp.com>
434
435 * io/read.c (set_integer): Use memcpy to fill buffer.
436
437 2005-08-31 Steve Ellcey <sje@cup.hp.com>
438
439 PR target/23556
440 * io/read.c (convert_real): Use memcpy to fill buffer.
441
442 2005-08-29 Thomas Koenig <Thomas.Koenig@online.de>
443
444 PR libfortran/23598
445 * io/lock.c(library_start): If ioparm.iostat is present, clear
446 it unconditionally.
447
448 2005-08-27 Francois-Xavier Coudert <coudert@clipper.ens.fr>
449
450 * acinclude.m4 (LIBGFOR_CHECK_UNLINK_OPEN_FILE): Add check to see
451 if target can unlink open files.
452 * configure.ac: Use this new test.
453 * config.h.in: Regenerate.
454 * configure: Regenerate.
455 * Makefile.in: Regenerate.
456 * aclocal.ac: Regenerate.
457 * io/io.h: Add prototype for unpack_filename.
458 * io/close.c (st_close): Delete file after closing unit if
459 HAVE_UNLINK_OPEN_FILE is not defined.
460 * io/unix.c (unpack_filename): Unlink scratch file after opening
461 it only if HAVE_UNLINK_OPEN_FILE is defined.
462
463 2005-08-17 Kelley Cook <kcook@gcc.gnu.org>
464
465 * All files: Update FSF address.
466
467 2005-08-16 Thomas Koenig <Thomas.Koenig@online.de>
468
469 PR libfortran/23428
470 * io/transfer.c (iolength_transfer): Remove __attribute__ ((unused))
471 from type. Return correct length for inquire(iolength=)
472 for complex variables.
473
474 2005-08-11 Francois-Xavier Coudert <coudert@clipper.ens.fr>
475 Steven Bosscher <stevenb@suse.de>
476
477 PR libfortran/20006
478 * Makefile.am: Add file runtime/compile_options.c.
479 * Makefile.in: Regenerate.
480 * libgfortran.h: Create structure compile_options_t. Define the
481 compile_options variable and GFC_STD_ macros.
482 * runtime/compile_options.c: New file.
483 * runtime/error.c (notify_std): New function.
484 * runtime/main.c (init): Call init_compile_options during
485 initialization.
486 * io/format.c: Use the new notify_std function for the $
487 descriptor extension.
488
489 2005-08-09 Francois-Xavier Coudert <coudert@clipper.ens.fr>
490 * Makefile.am: Add file intrinsics/tty.c to Makefile process.
491 * Makefile.in: Regenerate.
492 * io/io.h: Prototypes for new functions stream_isatty and
493 stream_ttyname.
494 * io/unix (stream_isatty, stream_ttyname): New functions to call
495 isatty() and ttyname() on a given unit.
496 * intrinsics/tty.c: New file to implement g77 intrinsics TTYNAM
497 and ISATTY.
498
499 2005-08-08 Jerry DeLisle <jvdelisle@verizon.net>
500
501 PR libfortran/23154
502 * io/transfer.c (data_transfer_init): Initialize
503 current_unit->bytes_left for a read.
504
505 2005-08-07 Janne Blomqvist <jblomqvi@cc.hut.fi>
506
507 PR fortran/22390
508 * io/backspace.c: File removed, contents moved to ...
509 * io/endfile.c: Ditto.
510 * io/rewind.c: Ditto.
511 * io/file_pos.c: New file, ... here.
512 * Makefile.am: Add file_pos.c to list, remove obsolete files.
513 * Makefile.in: Regenerated.
514
515 2005-08-07 Francois-Xavier Coudert <coudert@clipper.ens.fr>
516
517 * io/io.h: Change DEFAULT_TEMPDIR to /tmp instead of /var/tmp.
518 * io/unix.c (tempfile): Look at the TEMP environment variable
519 to find the temporary files directory. Whitespace correction.
520
521 2005-08-06 Francois-Xavier Coudert <coudert@clipper.ens.fr>
522
523 * io/unix.c: Add O_RDWR to open() call.
524
525 2005-08-04 Paul Thomas <pault@gcc.gnu.org>
526
527 * transfer.c (data_transfer_init): Truncate file in
528 sequential WRITE when last_record == 0, rather than
529 current_record. Cures problem on RH9.
530
531 2005-08-03 Francois-Xavier Coudert <coudert@clipper.ens.fr>
532
533 * libgfortran.h: When isfinite is not provided by the system,
534 define it as a macro, so that it can accept any floating point
535 type.
536
537 2005-08-01 Francois-Xavier Coudert <coudert@clipper.ens.fr>
538
539 PR libfortran/23178
540 * intrinsics/flush.c (flush_i8): Add function flush_i8. Update
541 copyright years.
542
543 2005-07-31 Francois-Xavier Coudert <coudert@clipper.ens.fr>
544
545 PR libfortran/21787
546 * intrinsics/abort.c (abort): Close units before aborting.
547 Updated copyright years.
548
549 2005-07-30 Francois-Xavier Coudert <coudert@clipper.ens.fr>
550
551 PR libfortran/22436
552 * io/write.c (write_real): Add default formats for real(10) and
553 real(16).
554
555 2005-07-30 Paul Thomas <pault@gcc.gnu.org>
556
557 PR fortran/22570 and related issues.
558 * transfer.c (formatted_transfer): Make sure that there
559 really is data present before X- or T- editing. Move all
560 treatment of tabbing during writes to start of next data
561 producing format. Suppress incorrect zeroing of bytes_left
562 in slash formating. Insert int cast for assignment of a
563 difference of two gfc_offsets.
564
565 2005-07-23 Jerry DeLisle <jvdelisle@verizon.net>
566
567 * io/write.c (write_float): Revise output of IEEE exceptional
568 values to comply with F95 and F2003 standards.
569
570 2005-07-22 Jerry DeLisle <jvdelisle@verizon.net>
571
572 PR libfortran/22570
573 * io/unit.c (init_units): Replace BLANK_ZERO with
574 BLANK_UNSPECIFIED.
575
576 2005-07-22 Jerry DeLisle <jvdelisle@verizon.net>
577
578 PR libfortran/21875 (FM111.f)
579 * io/read.c (next_char): Return a ' ' character when BLANK_ZERO
580 or BLANK_NULL are active.
581 (read_decimal): Interpret ' ' character correctly for BZ or BN.
582 (read_radix): Interpret ' ' character correctly for BZ or BN.
583 (read_f): Interpret ' ' character correctly for BZ or BN.
584
585 2005-07-22 Paul Thomas <pault@gcc.gnu.org>
586
587 PR libfortran/22570
588 * read.c (read_x): Correct the condition for doing the
589 x-editing during formatted input.
590 * transfer.c (formatted_transfer): Cast offset difference
591 as int, clean-up arithmetic with new variable, bytes_used,
592 zero counters for FMT_SLASH,
593 (data_transfer_init) Zero X- and T-editing counters
594 unconditionally.
595 (next_record_w) Zero X- and T-editing counters.
596 unconditionally.
597
598 2005-07-17 Jerry DeLisle <jvdelisle@verizon.net>
599
600 * io/write.c (write_float): Fix field width checks for
601 printing 'Infinity' or 'Inf'.
602 (output_float): Fix typo in comment.
603
604 2005-07-12 Paul Thomas <pault@gcc.gnu.org>
605
606 PR libfortran/16435
607 * transfer.c (formatted_transfer): Correct the problems
608 with X- and T-editting that caused TLs followed by TRs
609 to overwrite data, which caused NIST FM908.FOR to fail
610 on many tests.
611 (data_transfer_init): Zero X- and T-editting counters at
612 the start of formatted IO.
613 * write.c (write_x): Write specified number of skips with
614 specified number of spaces at the end.
615
616 2005-07-13 Paul Thomas <pault@gcc.gnu.org>
617
618 * io/read.c (read_complex): Prevent X formatting during reads
619 from going beyond EOR to fix NIST fm908.FOR failure.
620 * io/list_read.c (read_complex): Allow complex data in list-
621 directed reads to have eols either side of the comma to
622 fix NIST FM906.FOR failure.
623
624 2005-07-12 Thomas Koenig <Thomas.Koenig@online.de>
625
626 PR libfortran/21593
627 * io/unix.c: Add member special_file to type unix_stream.
628 (fd_truncate): Don't call ftruncate or chsize if
629 s refers to a special file.
630 (fd_to_stream): initialize s->special_file.
631
632 2005-07-11 David Edelsohn <edelsohn@gnu.org>
633
634 PR libgfortran/22412
635 * io/write.c (otoa): Bias p by SCRATCH_SIZE, not
636 sizeof (SCRATCH_SIZE).
637 (btoa): Same.
638
639 2005-07-09 Jerry DeLisle <jvdelisle@verizon.net>
640
641 PR libfortran/21875 (FM111.f)
642 * io/read.c (next_char): Return a ' ' character when BLANK_ZERO or
643 BLANK_NULL are active.
644 (read_decimal): Interpret ' ' character correctly for BZ or BN.
645 (read_radix): Interpret ' ' character correctly for BZ or BN.
646 (read_f): Interpret ' ' character correctly for BZ or BN.
647 * gfortran.dg/test (fmt_read_bz_bn.f90): New test case.
648
649 2005-07-09 Francois-Xavier Coudert <coudert@clipper.ens.fr>
650 Thomas Koenig <Thomas.Koenig@online.de>
651
652 PR libfortran/22217
653 * io/write.c (extract_unit): New function; extract
654 ints as unsigned signed int of the correct size.
655 (write_int): Use it.
656 * runtime/error.c: Adjust copyright years.
657 Adjust size of buffer to maximum that can occur.
658
659 2005-07-07 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de>
660
661 * libgfortran.h (GFC_ARRAY_DESCRIPTOR): Replace 'type *base' by
662 'size_t offset'.
663 * intrinsics/cshift0.c, intrinsics/eoshift0.c,
664 intrinsics/eoshift2.c,intrinsics/pack_generic.c,
665 intrinsics/reshape_generic.c, intrinsics/spread_generic.c,
666 intrinsics/transpose_generic.c, intrinsics/unpack_generic,
667 m4/cshift1.m4, m4/eoshift1.m4, m4/eoshift3.m4, m4/iforeach.m4,
668 m4/ifunction.m4, m4/matmul.m4, m4/matmull.m4, m4/reshape.m4,
669 m4,transpose.m4: Set renamed field 'offset' to zero instead of
670 'base'.
671 * generated/all_l4.c, generated/all_l8.c,
672 generated/any_l4.c, generated/any_l8.c, generated/count_4_l4.c,
673 generated/count_4_l8.c, generated/count_8_l4.c,
674 generated/count_8_l8.c, generated/chift1_4.c,
675 generated/cshift1_8.c, generated/eoshift1_4.c,
676 generated/eoshift1_8.c, generated/eoshift3_4.c,
677 generated/eoshift3_8.c, generated/matmul_c4.c,
678 generated/matmul_c8.c, generated/matmul_i4.c, matmul_i8.c,
679 generated/matmul_l4.c, generated/matmul_l8.c,
680 generated/matmul_r4.c, generated/matmul_r8.c,
681 generated/maxloc0_4_i4.c, generated/maxloc0_4_i8.c,
682 generated/maxloc0_4_r4.c, generated/maxloc0_4_r8.c,
683 generated/maxloc0_8_i4.c, generated/maxloc0_8_i8.c,
684 generated/maxloc0_8_r4.c, generated/maxloc0_8_r8.c,
685 generated/maxloc1_4_i4.c, generated/maxloc1_4_i8.c,
686 generated/maxloc1_4_r4.c, generated/maxloc1_4_r8.c,
687 generated/maxloc1_8_i4.c, generated/maxloc1_8_i8.c,
688 generated/maxloc1_8_r4.c, generated/maxloc1_8_r8.c,
689 generated/maxval_i4.c, generated/maxval_i8.c,
690 generated/maxval_r4.c, generated/maxval_r8.c,
691 generated/minloc0_4_i4.c, generated/minloc0_4_i8.c,
692 generated/minloc0_4_r4.c, generated/minloc0_4_r8.c,
693 generated/minloc0_8_i4.c, generated/minloc0_8_i8.c,
694 generated/minloc0_8_r4.c, generated/minloc0_8_r8.c,
695 generated/minloc1_4_i4.c, generated/minloc1_4_i8.c,
696 generated/minloc1_4_r4.c, generated/minloc1_4_r8.c,
697 generated/minloc1_8_i4.c, generated/minloc1_8_i8.c,
698 generated/minloc1_8_r4.c, generated/minloc1_8_r8.c,
699 generated/minval_i4.c, generated/minval_i8.c,
700 generated/minval_r4.c, generated/minval_r8.c,
701 generated/product_c4.c, generated/product_c8.c,
702 generated/product_i4.c, generated/product_i8.c,
703 generated/product_r4.c, generated/product_r8.c,
704 generated/reshape_c4.c, generated/reshape_c8.c,
705 generated/reshape_i4.c, generated/reshape_i8.c,
706 generated/sum_c4.c, generated/sum_c8.c, generated/sum_i4.c,
707 generated/sum_i8.c, generated/sum_r4.c, generated/sum_r8.c,
708 generated/transpose_c4.c, generated/transpose_c8.c,
709 generated/transpose_i4.c, generated/transpose_i8.c: Regenerate:
710
711 2005-07-07 Thomas Koenig <Thomas.Koenig@online.de>
712
713 PR libfortran/21594
714 * intrinsics/eoshift0.c: If abs(shift) > len, fill the
715 the whole array with the boundary value, but don't overrun it.
716 * intrinsics/eoshift2.c: Likewise.
717 * m4/eoshift1.m4: Likewise.
718 * m4/eoshift3.m4: Likewise.
719 * generated/eoshift1_4.c: Regenerated.
720 * generated/eoshift1_8.c: Regenerated.
721 * generated/eoshift3_4.c: Regenerated.
722 * generated/eoshift3_8.c: Regenerated.
723
724 2005-07-07 Feng Wang <fengwang@nudt.edu.cn>
725
726 PR fortran/16531
727 * io/transfer.c (formatted_transfer): Enable FMT_A on other types to
728 support Hollerith constants.
729
730 2005-07-01 Andreas Jaeger <aj@suse.de>
731
732 * intrinsics/unpack_generic.c: Remove const from parameter.
733
734 * io/transfer.c (formatted_transfer): Remove unused variable.
735
736 2005-06-28 Thomas Koenig <Thomas.Koenig@online.de>
737
738 PR libfortran/22142
739 * m4/eoshift1.m4: Correct bstride (it needs to be multiplied
740 by size since it's a char pointer).
741 * m4/eoshift1_4.c: Regenerated.
742 * m4/eoshift1_8.c: Regenerated.
743
744 2005-06-28 Thomas Koenig <Thomas.Koenig@online.de>
745
746 PR libfortran/22142
747 * m4/eoshift3.m4: Correct bstride (it needs to be multiplied
748 by size since it's a char pointer).
749 * m4/eoshift3_4.c: Regenerated.
750 * m4/eoshift3_8.c: Regenerated.
751
752 2005-06-28 Francois-Xavier Coudert <coudert@clipper.ens.fr>
753
754 PR libfortran/22170
755 * io/transfer.c (formatted_transfer): Do not iterate on the
756 repeat count of a FMT_SLASH, since this is already done in
757 next_format().
758
759 2005-06-25 Thomas Koenig <Thomas.Koenig@online.de>
760
761 PR libfortran/22144
762 * m4/cshift1.m4: Remove const from argument ret.
763 Populate return array descriptor if ret->data is NULL.
764 * m4/eoshift1.m4: Likewise.
765 * m4/eoshift3.m4: Likewise.
766 * generated/cshift1_4.c: Regenerated.
767 * generated/cshift1_8.c: Regenerated.
768 * generated/eoshift1_4.c: Regenerated.
769 * generated/eoshift1_8.c: Regenerated.
770 * generated/eoshift3_4.c: Regenerated.
771 * generated/eoshift3_8.c: Regenerated.
772
773 2005-06-24 Jerry DeLisle <jvdelisle@verizon.net>
774
775 PR libfortran/21915
776 * Makefile.am: Include intrinsics/hyper.c.
777 * c99_protos.h: Add prototypes for single precision versions of
778 acosh, asinh, and atanh for platforms that do not have these.
779 * config.h.in: Add #undef for wrappers.
780 * configure.ac: Add checks for single precision versions.
781 * aclocal.m4: Regenerated.
782 * Makefile.in: Regenerated.
783 * configure: Regenerated.
784 * intrinsics/hyper.c: New file, adds new wrapper functions.
785
786 2005-06-23 Francois-Xavier Coudert <coudert@clipper.ens.fr>
787
788 * intrinsics/c99_functions.c (log10l): New log10l function for
789 systems where this is not available.
790 * c99_protos.h: Prototype for log10l function.
791 * libgfortran.h: Use generated kinds.h to define GFC_INTEGER_*,
792 GFC_UINTEGER_*, GFC_LOGICAL_*, GFC_REAL_*, GFC_COMPLEX_*. Update
793 prototypes for gfc_itoa and xtoa.
794 * io/io.h: Update prototypes for set_integer and max_value.
795 * io/list_read.c (convert_integer): Use new
796 GFC_(INTEGER|REAL)_LARGEST type.
797 * io/read.c (set_integer): Likewise.
798 (max_value): Likewise.
799 (convert_real): Likewise.
800 (real_l): Likewise.
801 (next_char): Likewise.
802 (read_decimal): Likewise.
803 (read_radix): Likewise.
804 (read_f): Likewise.
805 * io/write.c (extract_int): Use new GFC_INTEGER_LARGEST type.
806 (extract_real): Use new GFC_REAL_LARGEST type.
807 (calculate_exp): Likewise.
808 (calculate_G_format): Likewise.
809 (output_float): Likewise. Use log10l for long double values.
810 Add comment for sprintf format. Use GFC_REAL_LARGEST_FORMAT.
811 (write_l): Use new GFC_INTEGER_LARGEST type.
812 (write_float): Use new GFC_REAL_LARGEST type.
813 (write_int): Remove useless special case for (len < 8).
814 (write_decimal): Use GFC_INTEGER_LARGEST.
815 (otoa): Use GFC_UINTEGER_LARGEST as argument.
816 (btoa): Use GFC_UINTEGER_LARGEST as argument.
817 * runtime/error.c (gfc_itoa): Use GFC_INTEGER_LARGEST as
818 argument.
819 (xtoa): Use GFC_UINTEGER_LARGEST as argument.
820 * Makefile.am: Use mk-kinds-h.sh to generate header kinds.h
821 with all Fortran kinds available.
822 * configure.ac: Check for strtold and log10l.
823 * Makefile.in: Regenerate.
824 * aclocal.m4: Regenerate.
825 * configure: Regenerate.
826 * config.h.in: Regenerate.
827 * mk-kinds-h.sh: Configuration script for available integer
828 and real kinds.
829
830
831 2005-06-18 Janne Blomqvist <jblomqvi@cc.hut.fi>
832
833 * unix.c (stream_at_bof): Don't assume that all non-mmapped files
834 are non-seekable.
835 (stream_at_eof): Likewise.
836
837 2005-06-18 Francois-Xavier Coudert <coudert@clipper.ens.fr>
838
839 PR libfortran/19155
840 * io/read.c (convert_real): strtod can set errno to EINVAL on an
841 empty string, but we shouldn't have an error in that case.
842
843 2005-06-17 Francois-Xavier Coudert <coudert@clipper.ens.fr>
844
845 PR libfortran/19216
846 * io/list_read.c (eat_separator): No need to call next_record,
847 even in non-namelist_mode.
848
849 2005-06-17 Francois-Xavier Coudert <coudert@clipper.ens.fr>
850
851 * io/transfer.c (formatted_transfer): Fix typo in error message.
852
853 2005-06-17 Francois-Xavier Coudert <coudert@clipper.ens.fr>
854
855 PR libfortran/16436
856 * io/transfer.c (read_sf): Correct updating of bytes_left field.
857 (formatted_transfer): Correct updating of bytes_left field and
858 reformatting code (comments and whitespace).
859 * io/unix.c (move_pos_offset): "active" field should not be
860 changed here. Whitespace corrections.
861
862 2005-06-15 Francois-Xavier Coudert <coudert@clipper.ens.fr>
863
864 PR libfortran/21950
865 * intrinsics/c99_functions.c (scalbn): Provide fallback
866 implementation for scalbn.
867 * c99_protos.h: Prototype for scalbn.
868 * configure.ac: Add check for scalbn.
869 * configure: Regenerate.
870 * config.h.in: Regenerate.
871
872 2005-06-14 Thomas Koenig <Thomas.Koenig@online.de>
873
874 * intrinsics/eoshift0.c: Removed prototype for eoshift0.
875 * intrinsics/eoshift2.c: Removed prototype for eoshift2.
876
877 2005-06-14 Tom Tromey <tromey@redhat.com>
878
879 PR libgcj/19877:
880 * configure, aclocal.m4, Makefile.in: Rebuilt.
881
882 2005-06-12 Thomas Koenig <Thomas.Koenig@online.de>
883
884 PR libfortran/21594
885 * intrinsics/eoshift0.c: Add prototype for eoshift0.
886 * intrinsics/eoshift2.c: Add prototype for eoshift2.
887
888 2005-06-12 Steven G. Kargl <kargls@comcast.net>
889 Thomas Koenig <Thomas.Koenig@online.de>
890
891 PR libfortran/PR21797
892 * m4/cexp.m4 (csqrt`'q): Add type qualifyer to
893 sqrt and fabs.
894 * generated/exp_c4.c: Regenerated.
895
896 2005-06-12 Francois-Xavier Coudert <coudert@clipper.ens.fr>
897
898 PR libfortran/19155
899 * io/read.c (read_f): Take care of spaces after initial sign.
900
901 2005-06-11 Thomas Koenig <Thomas.Koenig@onlinde.de>
902
903 PR libfortran/21333
904 * Makefile.am: Add in_pack_c4.c, in_pack_c8.c, in_unpack_c4.c
905 and in_unpack_c8.c.
906 * Makefile.in: Regenerate.
907 * libgfortran.h: Declare internal_pack_c4, internal_pack_c8,
908 internal_unpack_c4 and internal_unpack_c8.
909 * m4/in_pack.m4: Use rtype_ccode insteald of rtype_kind
910 in function name.
911 Use sizeof (rtype_name) as size for memory allocation.
912 * m4/in_unpack.m4: Use rtype_ccode insteald of rtype_kind
913 in function name.
914 Use sizeof (rtype_name) for calculation of sizes for memcpy.
915 * runtime/in_pack_generic.c: For real, integer and logical
916 call internal_pack_4 if size==4 and internal_pack_8 if
917 size==8.
918 For complex, call internal_pack_c4 if size==8 and
919 internal_pack_c8 if size==16.
920 * runtime/in_unpack_generic.c: For real, integer and logical
921 call internal_unpack_4 if size==4 and internal_unpack_8 if
922 size==8.
923 For complex, call internal_unpack_c4 if size==8 and
924 internal_unpack_c8 if size==16.
925 * generated/in_pack_i4.c: Regenerated.
926 * generated/in_pack_i8.c: Regenerated.
927 * generated/in_unpack_i4.c: Regenerated.
928 * generated/in_unpack_i8.c: Regenerated.
929 * generated/in_pack_c4.c: New file.
930 * generated/in_pack_c8.c: New file.
931 * generated/in_unpack_c4.c: New file.
932 * generated/in_unpack_c8.c: New file.
933
934 2005-06-09 Thomas Koenig <Thomas.Koenig@online.de>
935
936 PR libfortran/21480
937 * m4/reshape.m4: Use sizeof (rtype_name) for sizes to be passed
938 to reshape_packed.
939 * generated/reshape_c4.c: Regenerated.
940 * generated/reshape_c8.c: Regenerated.
941 * generated/reshape_i4.c: Regenerated.
942 * generated/reshape_i8.c: Regenerated.
943
944 2005-06-07 Thomas Koenig <Thomas.Koenig@online.de>
945
946 PR libfortran/21926
947 * m4/matmul.m4: Correct zeroing of result for non-packed
948 arrays with lowest stride is one.
949 * generated/matmul_c4.c: Regenerated.
950 * generated/matmul_c8.c: Regenerated.
951 * generated/matmul_i4.c: Regenerated.
952 * generated/matmul_i8.c: Regenerated.
953 * generated/matmul_r4.c: Regenerated.
954 * generated/matmul_r8.c: Regenerated.
955
956 2005-05-30 Francois-Xavier Coudert <coudert@clipper.ens.fr>
957
958 PR libfortran/20179
959 * io/unix.c (fd_close): Add test so that we don't close()
960 stdout and stderr.
961
962 2005-05-29 Francois-Xavier Coudert <coudert@clipper.ens.fr>
963
964 PR libfortran/20006
965 * io/format.c (parse_format_list): Set repeat count of $ format
966 node to 1.
967 * io/transfer.c (read_sf): Add g.seen_dollar to the test
968 concerning advancing I/O.
969 (data_transfer_init): Likewise.
970 (finalize_transfer): Likewise.
971
972 2005-05-27 Thomas Koenig <Thomas.Koenig@online.de>
973
974 * runtime/in_pack_generic.c: Adjust copyright years.
975 (in_pack_generic): Change dimension of auxiliary arrays from
976 GFC_MAX_DIMENSION - 1 to GFC_MAX_DIMENSION.
977 * runtime/in_unpack_generic.c: Adjust copyright years.
978 (in_unpack_generic): Change dimension of auxiliary arrays from
979 GFC_MAX_DIMENSION - 1 to GFC_MAX_DIMENSION.
980
981 2005-05-26 Thomas Koenig <Thomas.Koenig@online.de>
982
983 PR libfortran/17283
984 * intrinsics/unpack_generic.c: Fix name of routine
985 on top. Update copyright years.
986 (unpack1): Remove const from return array descriptor.
987 rs: New variable, for calculating return sizes.
988 Populate return array descriptor if ret->data is NULL.
989
990 2005-05-22 Peter Wainwright <prw@ceiriog1.demon.co.uk>
991
992 PR libfortran/21376
993 * io/write.c (output_float): Rework logic to avoid call to log10
994 with argument equal to zero.
995
996 2005-05-21 Eric Botcazou <ebotcazou@libertysurf.fr>
997
998 * configure.ac: Check for trunc and truncf in libm.
999 * configure: Regenerate.
1000 * config.h.in: Likewise.
1001 * intrinsics/c99_functions.c (trunc, truncf): New functions.
1002 * c99_protos.h (trunc, truncf): Declare them.
1003
1004 2005-05-18 Thomas Koenig <Thomas.Koenig@online.de>
1005
1006 PR libfortran/21127
1007 * Makefile.am: Really commit.
1008 * Makefile.in: Really commit.
1009
1010 2005-05-18 Thomas Koenig <Thomas.Koenig@online.de>
1011
1012 PR libfortran/21127
1013 * Makefile.am: Add generated/reshape_c4.c and
1014 generated/reshape_c8.c.
1015 * Makefile.in: Regenerated.
1016 * m4/iparm.m4: Define rtype_ccode to be c4 or c8 for
1017 complex types, 4 or 8 otherwise.
1018 * m4/reshape.m4: Use rtype_ccode instead of rtype_kind
1019 in function name.
1020 * generated/reshape_c4.c: New file.
1021 * generated/reshape_c8.c: New file.
1022
1023 2005-05-16 Andreas Jaeger <aj@suse.de>
1024
1025 * configure.ac: Add additional warning flags.
1026 * configure: Regenerate.
1027
1028 * io/write.c (calculate_G_format): Remove unused parameter.
1029 (output_float): Remove unused parameter.
1030 (write_float): Change callers.
1031 (nml_write_obj): Avoid signed warning.
1032 Make variable const to support -Wwrite-strings.
1033
1034 * io/unix.c (fd_alloc, mmap_open, mmap_sfree, mem_sfree,
1035 mem_truncate): Mark argument as unused.
1036
1037 * io/unit.c (get_unit): Mark argument as unused.
1038 (init_units): Avoid warning about signed comparision.
1039
1040 * io/transfer.c (next_record_r): Remove unused parameter.
1041 (next_record_w): Remove unused parameter.
1042 (next_record): Change callers.
1043 (iolength_transfer): Mark arguments as unused.
1044
1045 * io/open.c: Add initializer.
1046
1047 * io/list_read.c (read_character): Mark argument as unused.
1048 (nml_match_name): Add const to make compile with -Wwrite-strings.
1049
1050 * io/format.c: Add initializer.
1051
1052 2005-05-15 Andreas Jaeger <aj@suse.de>
1053
1054 * m4/eoshift1.m4: Initialize variables to avoid warnings.
1055 * m4/eoshift3.m4: Initialize variables to avoid warnings.
1056 * generated/eoshift1_4.c, generated/eoshift1_8.c,
1057 generated/eoshift3_4.c, generated/eoshift3_8.c: Regenerated.
1058
1059 * intrinsics/spread_generic.c (spread): Initialize variables to
1060 avoid warnings.
1061
1062 * intrinsics/eoshift0.c (eoshift0): Initialize variables to avoid
1063 warnings.
1064 * intrinsics/eoshift2.c (eoshift2): Initialize variables to avoid
1065 warnings.
1066
1067 * io/list_read.c (nml_get_obj_data): Initialize variables to avoid
1068 warnings.
1069
1070 * intrinsics/pack_generic.c (pack): Remove unneeded calculation.
1071
1072 * m4/matmull.m4 (matmul_): Remove unneeded calculations, fix
1073 pointer cast to avoid warning.
1074 * generated/matmul_l4.c: Regenerated.
1075 * generated/matmul_l8.c: Regenerated.
1076
1077 * Makefile.am: Remove AM_CFLAGS here.
1078 * configure.ac: Define AM_CFLAGS and AM_FCFLAGS so that warnings
1079 are set. Set additionally -Wstrict-prototypes for CFLAGS.
1080 * Makefile.in: Regenerated.
1081 * aclocal.m4: Regenerated.
1082 * configure: Regenerated.
1083
1084 * intrinsics/system_clock.c (system_clock_4, system_clock_8): Add
1085 missing returns, reformat a bit.
1086
1087 * io/write.c (nml_write_obj): Use %d again - and cast to int,
1088 st_sprintf does not handle %ld.
1089
1090 * io/unit.c (is_internal_unit): Add void as parameter list.
1091
1092 * io/transfer.c: Move prototype declarations before the functions.
1093
1094 * runtime/normalize.c (almostone_r4, almostone_r8): Fix parameter
1095 list.
1096
1097 * intrinsics/random.c (KISS_DEFAULT_SEED): Remove extra semicolon.
1098
1099 * io/transfer.c: Do not use empty initializers for global objects.
1100 Add missing initializers.
1101
1102 * io/lock.c: Do not use empty initializers for global objects.
1103
1104 * io/close.c: Add missing initializers.
1105
1106 * runtime/environ.c: Add missing initializers. Do not use empty
1107 initializers for global object.
1108 (init_string): Mark argument as unused.
1109
1110 * runtime/main.c (cleanup): Fix parameter list.
1111
1112 * io/io.h: Fix parameter lists.
1113
1114 * m4/transpose.m4, m4/matmul.m4: Fix pointer cast to avoid
1115 warning.
1116
1117 * generated/transpose_c4.c, generated/transpose_c8.c,
1118 generated/transpose_i4.c, generated/transpose_i8.c,
1119 generated/matmul_c4.c, generated/matmul_c8.c,
1120 generated/matmul_i4.c, generated/matmul_i8.c,
1121 generated/matmul_r4.c, generated/matmul_r8.c: Regenerated.
1122
1123 * io/write.c (nml_write_obj): Fix 64-bit problem.
1124
1125 * io/list_read.c (nml_get_obj_data): Add missing braces around
1126 initializer to avoid warnings.
1127
1128 * intrinsics/etime.c (etime_sub): Remove unused variable.
1129
1130 * intrinsics/chdir.c, intrinsics/getlog.c, intrinsics/link.c,
1131 intrinsics/symlnk.c, intrinsics/perror.c: Include <string.h> for
1132 prototypes.
1133
1134 * runtime/string.c (compare0): Remove unused variable.
1135 * io/unit.c (init_units): Remove unused variables.
1136 * intrinsics/getcwd.c (getcwd_i4_sub): Remove unused variable.
1137 * intrinsics/unlink.c (unlink_i4_sub): Remove unused variable.
1138 * intrinsics/stat.c (stat_i4_sub, fstat_i8_sub, fstat_i4_sub,
1139 stat_i8_sub): Remove unused variable.
1140
1141 2005-05-12 Thomas Koenig <Thomas.Koenig@online.de>
1142
1143 PR libfortran/21324
1144 * runtime/memory.c: Don't define GFC_CLEAR_MEMORY (it's a
1145 performance hog).
1146 * io/open.c (new_unit): Zero freshly allocated memory for
1147 unit structure.
1148 * io/unit.c (init_units): Zero freshly allocated memory for
1149 STDIN, STDOUT and STDERR.
1150 * io/unix.c (open_internal): Zero freshly allocated memory
1151 for unix_stream.
1152 (fd_to_stream): Likewise.
1153
1154 2005-05-11 Bud Davis <bdavis@gfortran.org>
1155
1156 PR fortran/19478
1157 * io/unix.c (fd_truncate): update positions when ftruncate
1158 fails (like writing to /dev/null).
1159
1160 2005-05-10 Francois-Xavier Coudert <coudert@clipper.ens.fr>
1161
1162 PR libfortran/21471
1163 * open.c (new_unit): Take care of the case where POSITION_APPEND
1164 is specified (sseek to the end, and set u>-endfile).
1165
1166 2005-05-10 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de>
1167
1168 PR fortran/20178
1169 * Makefile.am (gfor_specific_src): Add 'intrinsics/f2c_intrinsics.F90'
1170 to dependencies.
1171 * Makefile.in: Regenerate.
1172 * intrinsics/f2c_specific.F90: New file.
1173
1174 2005-05-10 Francois-Xavier Coudert <coudert@clipper.ens.fr>
1175
1176 PR libfortran/20788
1177 * io/unix.c (fd_to_stream): Add an avoid_mmap argument indicating
1178 we don't we to mmap this stream. Use fd_open instead of mmap_open
1179 in that case.
1180 (open_external): Call fd_to_stream with avoid_mmap = 0.
1181 (input_stream): Call fd_to_stream with avoid_mmap = 1.
1182 (output_stream): Likewise.
1183 (error_stream): Likewise.
1184
1185 2005-05-09 Mike Stump <mrs@apple.com>
1186
1187 * configure: Regenerate.
1188
1189 2005-05-09 Francois-Xavier Coudert <coudert@clipper.ens.fr>
1190
1191 PR libfortran/19155
1192 * io/read.c (read_f): Accept 'e', 'E', 'd' and 'D' as first
1193 non-blank characters of a real number.
1194
1195 2005-05-04 Thomas Koenig <Thomas.Koenig@online.de>
1196
1197 PR libfortran/21354
1198 * m4/cshift1.m4: Change dimension of auxiliary arrays from
1199 GFC_MAX_DIMENSION - 1 to GFC_MAX_DIMENSION.
1200 * m4/eoshift1.m4: Likewise.
1201 * m4/eoshift3.m4: Likewise.
1202 * m4/ifunction.m4: Likewise.
1203 * m4/in_pack.m4: Likewise.
1204 * m4/in_unpack.m4: Likewise.
1205 * intrinsics/cshift0.c: Likewise.
1206 * intrinsics/eoshift0.c: Likewise.
1207 * intrinsics/eoshift2.c: Likewise.
1208 * intrinsics/random.c: Likewise.
1209 * intrinsics/spread_generic.c: Likewise.
1210 * intrinsics/stat.c: Likewise.
1211 * generated/all_l4.c: Regenerated.
1212 * generated/all_l8.c: Regenerated.
1213 * generated/any_l4.c: Regenerated.
1214 * generated/any_l8.c: Regenerated.
1215 * generated/count_4_l4.c: Regenerated.
1216 * generated/count_4_l8.c: Regenerated.
1217 * generated/count_8_l4.c: Regenerated.
1218 * generated/count_8_l8.c: Regenerated.
1219 * generated/cshift1_4.c: Regenerated.
1220 * generated/cshift1_8.c: Regenerated.
1221 * generated/eoshift1_4.c: Regenerated.
1222 * generated/eoshift1_8.c: Regenerated.
1223 * generated/eoshift3_4.c: Regenerated.
1224 * generated/eoshift3_8.c: Regenerated.
1225 * generated/in_pack_i4.c: Regenerated.
1226 * generated/in_pack_i8.c: Regenerated.
1227 * generated/in_unpack_i4.c: Regenerated.
1228 * generated/in_unpack_i8.c: Regenerated.
1229 * generated/maxloc0_4_i4.c: Regenerated.
1230 * generated/maxloc0_4_i8.c: Regenerated.
1231 * generated/maxloc0_4_r4.c: Regenerated.
1232 * generated/maxloc0_4_r8.c: Regenerated.
1233 * generated/maxloc0_8_i4.c: Regenerated.
1234 * generated/maxloc0_8_i8.c: Regenerated.
1235 * generated/maxloc0_8_r4.c: Regenerated.
1236 * generated/maxloc0_8_r8.c: Regenerated.
1237 * generated/maxloc1_4_i4.c: Regenerated.
1238 * generated/maxloc1_4_i8.c: Regenerated.
1239 * generated/maxloc1_4_r4.c: Regenerated.
1240 * generated/maxloc1_4_r8.c: Regenerated.
1241 * generated/maxloc1_8_i4.c: Regenerated.
1242 * generated/maxloc1_8_i8.c: Regenerated.
1243 * generated/maxloc1_8_r4.c: Regenerated.
1244 * generated/maxloc1_8_r8.c: Regenerated.
1245 * generated/maxval_i4.c: Regenerated.
1246 * generated/maxval_i8.c: Regenerated.
1247 * generated/maxval_r4.c: Regenerated.
1248 * generated/maxval_r8.c: Regenerated.
1249 * generated/minloc0_4_i4.c: Regenerated.
1250 * generated/minloc0_4_i8.c: Regenerated.
1251 * generated/minloc0_4_r4.c: Regenerated.
1252 * generated/minloc0_4_r8.c: Regenerated.
1253 * generated/minloc0_8_i4.c: Regenerated.
1254 * generated/minloc0_8_i8.c: Regenerated.
1255 * generated/minloc0_8_r4.c: Regenerated.
1256 * generated/minloc0_8_r8.c: Regenerated.
1257 * generated/minloc1_4_i4.c: Regenerated.
1258 * generated/minloc1_4_i8.c: Regenerated.
1259 * generated/minloc1_4_r4.c: Regenerated.
1260 * generated/minloc1_4_r8.c: Regenerated.
1261 * generated/minloc1_8_i4.c: Regenerated.
1262 * generated/minloc1_8_i8.c: Regenerated.
1263 * generated/minloc1_8_r4.c: Regenerated.
1264 * generated/minloc1_8_r8.c: Regenerated.
1265 * generated/minval_i4.c: Regenerated.
1266 * generated/minval_i8.c: Regenerated.
1267 * generated/minval_r4.c: Regenerated.
1268 * generated/minval_r8.c: Regenerated.
1269 * generated/product_c4.c: Regenerated.
1270 * generated/product_c8.c: Regenerated.
1271 * generated/product_i4.c: Regenerated.
1272 * generated/product_i8.c: Regenerated.
1273 * generated/product_r4.c: Regenerated.
1274 * generated/product_r8.c: Regenerated.
1275 * generated/sum_c4.c: Regenerated.
1276 * generated/sum_c8.c: Regenerated.
1277 * generated/sum_i4.c: Regenerated.
1278 * generated/sum_i8.c: Regenerated.
1279 * generated/sum_r4.c: Regenerated.
1280 * generated/sum_r8.c: Regenerated.
1281
1282 2005-04-30 Thomas Koenig <Thomas.Koenig@online.de>
1283
1284 PR libfortran/18958
1285 libgfortran.h: Change typedef of index_type from size_t
1286 to ssize_t.
1287
1288 2005-04-30 Paul Thomas <pault@gcc.gnu.org>
1289
1290 PR libfortran/18857
1291 * generated/matmul_r8.c: Remove incorrect assertions.
1292 * generated/matmul_c4.c: Regenerate
1293 * generated/matmul_c8.c: Regenerate
1294 * generated/matmul_i4.c: Regenerate
1295 * generated/matmul_i8.c: Regenerate
1296 * generated/matmul_r4.c: Regenerate
1297 * generated/matmul_r8.c: Regenerate
1298
1299 2005-04-29 Francois-Xavier Coudert <coudert@clipper.ens.fr>
1300
1301 * configure.ac: Check for ftruncate and chsize.
1302 * io/unix.c (fd_truncate): Provide chsize as alternative to
1303 ftruncate.
1304 * config.h.in: Regenerate.
1305 * configure: Regenerate.
1306
1307 2004-04-29 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de>
1308
1309 * intrinsics/rename.c: Add missing #includes.
1310
1311 2004-04-28 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de>
1312
1313 * AUTHORS, COPYING, INSTALL, NEWS, README: Remove.
1314
1315 2005-04-26 David Edelsohn <edelsohn@gnu.org>
1316
1317 PR libfortran/20930
1318 * io/rewind.c (st_rewind): Flush the stream when resetting the mode
1319 from WRITING to READING.
1320
1321 2005-04-22 Paul Thomas <pault@gcc.gnu.org>
1322 Jerry DeLisle <jvdelisle@verizon.net>
1323
1324 * io/write.c (nml_write_obj): Provide 1 more byte for ext_name.
1325 * io/list_read.c (nml_get_obj_data): Put extra brackets in get_mem
1326 call for ext_name. These fix the bug reported by Jerry DeLisle to
1327 the fortran list and are based on his suggested fix.
1328
1329 2005-04-22 Thomas Koenig <Thomas.Koenig@online.de>
1330
1331 PR libfortran/20074
1332 PR libfortran/20436
1333 PR libfortran/21108
1334 * m4/reshape.m4 (reshape_`'rtype_kind): rs, rex: New
1335 variables, to be used in calculation of return array sizes.
1336 Populate return array descriptor if ret->data is NULL.
1337 Fix condition for early return (it used to test something
1338 undefined if order was used).
1339 Remove duplicate check wether pad is used.
1340 * intrinsics/reshape_generic.c (reshape_generic): Likewise.
1341 Fix a few places where the wrong variables were set.
1342 * generated/reshape_i4.c: Regenerated.
1343 * generated/reshape_i8.c: Regenerated.
1344
1345 2005-04-18 Paul Thomas <pault@gcc.gnu.org>
1346
1347 * io/list_read.c (nml_touch_nodes, nml_read_obj,
1348 nml_get_obj_data): Fix memory leaks in code for derived types.
1349
1350 2005-04-11 Francois-Xavier Coudert <coudert@clipper.ens.fr>
1351
1352 PR libfortran/20950
1353 * io/inquire.c (inquire_via_unit): Check for the gfc_unit being
1354 NULL when setting ioparm.sequential.
1355
1356 2005-04-17 Thomas Koenig <Thomas.Koenig@online.de>
1357
1358 PR libfortran/21075
1359 * m4/reshape.m4 (reshape_`'rtype_kind): Change dimension
1360 of auxiliary arrays from GFC_MAX_DIMENSIONS - 1 to
1361 GFC_MAX_DIMENSIONS.
1362 * intrinsics/reshape_generic.c (reshape_generic): Likewise.
1363 * generated/reshape_i4.c: Regenerated.
1364 * generated/reshape_i8.c: Regenerated.
1365
1366 2005-04-17 Paul Thomas <pault@gcc.gnu.org>
1367
1368 * io/list_read.c (eat_separator): at_eol = 1 replaced
1369 (zapped at some time?).
1370
1371 2005-04-17 Paul Thomas <pault@gcc.gnu.org>
1372
1373 PR libgfortran/12884
1374 PR libgfortran/17285
1375 PR libgfortran/18122
1376 PR libgfortran/18210
1377 PR libgfortran/18392
1378 PR libgfortran/18591
1379 PR libgfortran/18879
1380 * io/io.h (nml_ls): Declare.
1381 (namelist_info): Modify for arrays.
1382 * io/list_read.c (namelist_read): Reduced to call to new functions.
1383 (match_namelist_name): Simplified.
1384 (nml_query): Handles stdin queries ? and =?. New function.
1385 (nml_get_obj_data): Parses object name. New function.
1386 (touch_nml_nodes): Marks objects for read. New function.
1387 (untouch_nml_nodes): Resets objects. New function.
1388 (parse_qualifier): Parses and checks qualifiers. New function
1389 (nml_read_object): Reads and stores object data. New function.
1390 (eat_separator): No new_record on '/' in namelist.
1391 (finish_separator): No new_record on '/' in namelist.
1392 (read_logical): Error return for namelist.
1393 (read_integer): Error return for namelist.
1394 (read_complex): Error return for namelist.
1395 (read_real): Error return for namelist.
1396 * io/lock.c (library_end): Free extended namelist_info types.
1397 * io/transfer.c (st_set_nml_var): Modified for arrays.
1398 (st_set_nml_var_dim): Dimension descriptors. New function.
1399 * io/write.c (namelist_write): Reduced to call to new functions.
1400 (nml_write_obj): Writes output for object. New function.
1401 (write_integer): Suppress leading blanks for repeat counts.
1402 (write_int): Suppress leading blanks for repeat counts.
1403 (write_float): Suppress leading blanks for repeat counts.
1404 (output_float): Suppress leading blanks for repeat counts.
1405
1406 2005-04-15 Thomas Koenig <Thomas.Koenig@online.de>
1407
1408 PR libfortran/18495
1409 * intrinsics/spread_generic.c (spread): Remove const from
1410 return array descriptor.
1411 New variables: rrank (rank of return array), rs (for
1412 calculating the size of the return array), srank (rank
1413 of the source array).
1414 Generate runtime error if the dim= argument is larger than
1415 the rank of the return array.
1416 Generate runtime error if the needed rank of the return
1417 array is larger than 7.
1418 If ret->data is null, populate the return array descriptor
1419 and initialize the variables for the actual operation.
1420 Otherwise, set ret->dim[0].stride to one if it is zero.
1421 Change second, independent use of variable dim to srank.
1422
1423 2005-04-12 Mike Stump <mrs@apple.com>
1424
1425 * configure: Regenerate.
1426
1427 2005-04-13 Thomas Koenig <Thomas.Koenig@online.de>
1428
1429 PR libfortran/19106
1430 * m4/iforeach.c (name`'rtype_qual`_'atype_code): Add TODO
1431 that setting correct strides is a front end job.
1432 (`m'name`'rtype_qual`_'atype_code): Likewise. If mask has
1433 a lowest stride of 0, adjust to 1.
1434 * m4/ifunction.c (name`'rtype_qual`_'atype_code): Add TODO
1435 that setting correct strides is a front end job.
1436 (`m'name`'rtype_qual`_'atype_code): Likewise. If mask has
1437 a lowest stride of 0, adjust to 1.
1438 * maxloc0_4_i4.c: Regenerated
1439 * maxloc0_4_i8.c: Regenerated
1440 * maxloc0_4_r4.c: Regenerated
1441 * maxloc0_4_r8.c: Regenerated
1442 * maxloc0_8_i4.c: Regenerated
1443 * maxloc0_8_i8.c: Regenerated
1444 * maxloc0_8_r4.c: Regenerated
1445 * maxloc0_8_r8.c: Regenerated
1446 * maxloc1_4_i4.c: Regenerated
1447 * maxloc1_4_i8.c: Regenerated
1448 * maxloc1_4_r4.c: Regenerated
1449 * maxloc1_4_r8.c: Regenerated
1450 * maxloc1_8_i4.c: Regenerated
1451 * maxloc1_8_i8.c: Regenerated
1452 * maxloc1_8_r4.c: Regenerated
1453 * maxloc1_8_r8.c: Regenerated
1454 * maxval_i4.c: Regenerated
1455 * maxval_i8.c: Regenerated
1456 * maxval_r4.c: Regenerated
1457 * maxval_r8.c: Regenerated
1458 * minloc0_4_i4.c: Regenerated
1459 * minloc0_4_i8.c: Regenerated
1460 * minloc0_4_r4.c: Regenerated
1461 * minloc0_4_r8.c: Regenerated
1462 * minloc0_8_i4.c: Regenerated
1463 * minloc0_8_i8.c: Regenerated
1464 * minloc0_8_r4.c: Regenerated
1465 * minloc0_8_r8.c: Regenerated
1466 * minloc1_4_i4.c: Regenerated
1467 * minloc1_4_i8.c: Regenerated
1468 * minloc1_4_r4.c: Regenerated
1469 * minloc1_4_r8.c: Regenerated
1470 * minloc1_8_i4.c: Regenerated
1471 * minloc1_8_i8.c: Regenerated
1472 * minloc1_8_r4.c: Regenerated
1473 * minloc1_8_r8.c: Regenerated
1474 * minval_i4.c: Regenerated
1475 * minval_i8.c: Regenerated
1476 * minval_r4.c: Regenerated
1477 * minval_r8.c: Regenerated
1478 * product_c4.c: Regenerated
1479 * product_c8.c: Regenerated
1480 * product_i4.c: Regenerated
1481 * product_i8.c: Regenerated
1482 * product_r4.c: Regenerated
1483 * product_r8.c: Regenerated
1484 * sum_c4.c: Regenerated
1485 * sum_c8.c: Regenerated
1486 * sum_i4.c: Regenerated
1487 * sum_i8.c: Regenerated
1488 * sum_r4.c: Regenerated
1489 * sum_r8.c: Regenerated
1490
1491 2005-04-10 Francois-Xavier Coudert <coudert@clipper.ens.fr>
1492
1493 PR libfortran/20788
1494 * runtime/environ.c (init_unsigned_integer): Function for
1495 environment variables we want to be positive.
1496 (init_integer): Function to allow negative environment
1497 variables (e.g. for GFORTRAN_STDIN_UNIT).
1498
1499 2005-04-10 Thomas Koenig <Thomas.Koenig@online.de>
1500
1501 PR libfortran/17992
1502 PR libfortran/19568
1503 PR libfortran/19595
1504 PR libfortran/20005
1505 PR libfortran/20092
1506 PR libfortran/20131
1507 PR libfortran/20661
1508 PR libfortran/20744
1509 * io/transfer.c (top level): eor_condition: New static variable.
1510 (read_sf): Remove unnecessary zeroing of buffer (there is enough
1511 information in its length).
1512 Return a string of length 0 (to be padded by caller) if EOR was
1513 seen previously.
1514 Remove erroneous special casing of EOR for standard input.
1515 Set eor_condition for non-advancing I/O if an end of line was
1516 detected.
1517 Increment ioparm.size if necessary.
1518 (formatted_transfer): Skip the function if there is an EOR condition.
1519 (data_transfer_init): Initialize eor_condition to zero (false).
1520 (next_record_r): Clear sf_seen_eor if a \n has been seen already.
1521 (finalize_transfer): If there is an EOR condition, raise the error.
1522
1523 2005-04-09 Bud Davis <bdavis@gfortran.org>
1524 Steven G. Kargl <kargls@comcast.net>
1525
1526 PR fortran/19872
1527 * io/transfer.c (data_transfer_init): truncate an existing
1528 file on the first write.
1529
1530 2005-04-09 Thomas Koenig <Thomas.Koenig@online.de>
1531
1532 PR libfortran/19106
1533 PR libfortran/19014
1534 * m4/ifunction.m4 (name`'rtype_qual`_'atype_code): ditto.
1535 If retarray->data is NULL (i.e. the front end does not
1536 know the rank and dimenson of the array), fill in its
1537 properties and allocate memory.
1538 Change the assertions about rank and dimension of retarray into
1539 runtime errors and only check them for retarray->data != NULL.
1540 Do the same for correcting the stride from 0 to 1 in retarray.
1541 (`m'name`'rtype_qual`_'atype_code): Likewise.
1542 * m4/iforeach.m4 (name`'rtype_qual`_'atype_code): Likewise.
1543 Change assertion about rank of array to runtime error.
1544 (`m'name`'rtype_qual`_'atype_code): Likewise.
1545 * generated/all_l4.c: Regenerated.
1546 * generated/all_l8.c: Regenerated.
1547 * generated/any_l4.c: Regenerated.
1548 * generated/any_l8.c: Regenerated.
1549 * generated/count_4_l4.c: Regenerated.
1550 * generated/count_4_l8.c: Regenerated.
1551 * generated/count_8_l4.c: Regenerated.
1552 * generated/count_8_l8.c: Regenerated.
1553 * generated/maxloc0_4_i4.c: Regenerated.
1554 * generated/maxloc0_4_i8.c: Regenerated.
1555 * generated/maxloc0_4_r4.c: Regenerated.
1556 * generated/maxloc0_4_r8.c: Regenerated.
1557 * generated/maxloc0_8_i4.c: Regenerated.
1558 * generated/maxloc0_8_i8.c: Regenerated.
1559 * generated/maxloc0_8_r4.c: Regenerated.
1560 * generated/maxloc0_8_r8.c: Regenerated.
1561 * generated/maxloc1_4_i4.c: Regenerated.
1562 * generated/maxloc1_4_i8.c: Regenerated.
1563 * generated/maxloc1_4_r4.c: Regenerated.
1564 * generated/maxloc1_4_r8.c: Regenerated.
1565 * generated/maxloc1_8_i4.c: Regenerated.
1566 * generated/maxloc1_8_i8.c: Regenerated.
1567 * generated/maxloc1_8_r4.c: Regenerated.
1568 * generated/maxloc1_8_r8.c: Regenerated.
1569 * generated/maxval_i4.c: Regenerated.
1570 * generated/maxval_i8.c: Regenerated.
1571 * generated/maxval_r4.c: Regenerated.
1572 * generated/maxval_r8.c: Regenerated.
1573 * generated/minloc0_4_i4.c: Regenerated.
1574 * generated/minloc0_4_i8.c: Regenerated.
1575 * generated/minloc0_4_r4.c: Regenerated.
1576 * generated/minloc0_4_r8.c: Regenerated.
1577 * generated/minloc0_8_i4.c: Regenerated.
1578 * generated/minloc0_8_i8.c: Regenerated.
1579 * generated/minloc0_8_r4.c: Regenerated.
1580 * generated/minloc0_8_r8.c: Regenerated.
1581 * generated/minloc1_4_i4.c: Regenerated.
1582 * generated/minloc1_4_i8.c: Regenerated.
1583 * generated/minloc1_4_r4.c: Regenerated.
1584 * generated/minloc1_4_r8.c: Regenerated.
1585 * generated/minloc1_8_i4.c: Regenerated.
1586 * generated/minloc1_8_i8.c: Regenerated.
1587 * generated/minloc1_8_r4.c: Regenerated.
1588 * generated/minloc1_8_r8.c: Regenerated.
1589 * generated/minval_i4.c: Regenerated.
1590 * generated/minval_i8.c: Regenerated.
1591 * generated/minval_r4.c: Regenerated.
1592 * generated/minval_r8.c: Regenerated.
1593 * generated/product_c4.c: Regenerated.
1594 * generated/product_c8.c: Regenerated.
1595 * generated/product_i4.c: Regenerated.
1596 * generated/product_i8.c: Regenerated.
1597 * generated/product_r4.c: Regenerated.
1598 * generated/product_r8.c: Regenerated.
1599 * generated/sum_c4.c: Regenerated.
1600 * generated/sum_c8.c: Regenerated.
1601 * generated/sum_i4.c: Regenerated.
1602 * generated/sum_i8.c: Regenerated.
1603 * generated/sum_r4.c: Regenerated.
1604 * generated/sum_r8.c: Regenerated.
1605
1606 2005-04-09 Thomas Koenig <Thomas.Koenig@online.de>
1607
1608 PR libfortran/20163
1609 * runtime/string.c (compare0): Use fstrlen() to
1610 strip trailing blanks from option string.
1611
1612 2005-04-09 Andrew Pinski <pinskia@physics.uc.edu>
1613
1614 PR fortran/13257
1615 * format.c (parse_format_list): Allow an optional comma
1616 between descriptors.
1617
1618 2005-04-08 Eric Botcazou <ebotcazou@libertysurf.fr>
1619
1620 * io/backspace.c (unformatted_backspace): Do not dereference
1621 the pointer to the stream.
1622
1623 2005-04-07 Andrew Pinski <pinskia@physics.uc.edu>
1624
1625 PR libfortran/20766
1626 * configure.ac (extra_ldflags_libgfortran): Set for *-darwin* to
1627 "-Wl,-single_module".
1628 * configure: Regenerate.
1629 * Makefile.am (libgfortran_la_LDFLAGS): Add extra_ldflags_libgfortran.
1630 * Makefile.in: Regenerate.
1631
1632 2005-04-05 Francois-Xavier Coudert <coudert@clipper.ens.fr>
1633
1634 PR libfortran/20755
1635 * write.c (write_float): A G edit descriptor may locally change
1636 the scale factor, but it needs to be restored afterwards.
1637
1638 2005-04-03 Dale Ranta <dir@lanl.gov>
1639 Francois-Xavier Coudert <coudert@clipper.ens.fr>
1640
1641 PR libfortran/20068
1642 PR libfortran/20125
1643 PR libfortran/20156
1644 PR libfortran/20471
1645 * io/backspace.c (unformatted_backspace): Fix error in arithmetic.
1646 (st_backspace): When in WRITING mode, we flush and falling back
1647 into READING mode. In all cases, correctly position the stream.
1648
1649 2005-03-31 Francois-Xavier Coudert <coudert@clipper.ens.fr>
1650
1651 PR libfortran/20660
1652 * io/inquire.c (inquire_via_unit): Non-opened units should still be
1653 reported by an INQUIRE statement as existing.
1654 * io/transfer.c (data_transfer_init): Never accept negative units.
1655
1656 2005-03-29 Dale Ranta <dir@lanl.gov>
1657 Francois-Xavier Coudert <coudert@clipper.ens.fr>
1658
1659 PR libfortran/20163
1660 * io/open.c (st_open): call library_end() before returning even if
1661 an error arises.
1662
1663 2005-03-25 Francois-Xavier Coudert <coudert@clipper.ens.fr>
1664
1665 PR libfortran/19678
1666 * list_read.c (next_char, eat_separator, finish_separator, read_real)
1667 (namelist_read): Add support for '\r' as well as '\n' as EOL
1668 character.
1669
1670 PR libfortran/19679
1671 * list_read.c (read_sf): Add a '\r' in a test to support DOS
1672 line-endings when line length is exceeded.
1673
1674 2005-03-25 Francois-Xavier Coudert <coudert@clipper.ens.fr>
1675
1676 PR libfortran/15332
1677 * io/format.c (parse_format_list): format node for colon edit
1678 descriptor needs a repeat counter set to 1.
1679
1680 2005-02-24 Francois-Xavier Coudert <coudert@clipper.ens.fr>
1681
1682 * config.h.in: Regenerate.
1683
1684 2005-02-23 Francois-Xavier Coudert <coudert@clipper.ens.fr>
1685
1686 PR libfortran/18025
1687 * write.c (output_float): Handling the "F0.d" format similarly as
1688 commercial compilers.
1689
1690 2005-03-22 Francois-Xavier Coudert <coudert@clipper.ens.fr>
1691
1692 * Makefile.am: Added new files.
1693 * Makefile.in: Regenerate.
1694 * aclocal.m4: Regenerate.
1695 * configure.ac: add checks for signal.h headers file, as well as
1696 following functions: chdir, strerror, getlogin, gethostname, kill,
1697 link, symlink, perror, sleep, time.
1698 * configure: Regenerate.
1699 * intrinsics/chdir.c, intrinsics/gerror.c, intrinsics/getlog.c,
1700 intrinsics/hostnm.c, intrinsics/ierrno.c, intrinsics/kill.c,
1701 intrinsics/link.c, intrinsics/perror.c, intrinsics/rename.c,
1702 intrinsics/sleep.c, intrinsics/symlnk.c, intrinsics/time.c: Newly
1703 implementend g77 intrinsics.
1704
1705 2005-03-21 Zack Weinberg <zack@codesourcery.com>
1706
1707 * configure.ac: Do not invoke TL_AC_GCC_VERSION.
1708 In all substitutions, leave gcc_version to be expanded by the Makefile.
1709 * aclocal.m4, configure: Regenerate.
1710 * Makefile.am: Set gcc_version.
1711 * Makefile.in: Regenerate.
1712
1713 2005-03-16 Francois-Xavier Coudert <coudert@clipper.ens.fr>
1714
1715 PR libfortran/20257
1716 * open.c (new_unit): set record length to max_offset rather than
1717 using a hard-coded limit (which was too low).
1718
1719 2005-03-16 Francois-Xavier Coudert <coudert@clipper.ens.fr>
1720
1721 PR libfortran/20480
1722 * write.c (output_float): special check when writing 0.0 with
1723 EN and ES formats.
1724
1725 2005-03-11 Francois-Xavier Coudert <coudert@clipper.ens.fr>
1726
1727 PR libfortran/20124
1728 * write.c (output_float): Adds a nzero_real variable to store
1729 the number of leading zeros whatever the format width is. Corrects
1730 the rounding of numbers less than 10^(-width). Fixes typo in an
1731 error message. Updates copyright years
1732
1733 2005-02-27 Toon Moene <toon@moene.indiv.nluug.nl>
1734
1735 * runtime/environ.c: Update copyright years.
1736
1737 2005-02-27 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de>
1738
1739 * io/write.c: Update copyright years.
1740
1741 2005-02-27 Francois-Xavier Coudert <coudert@clipper.ens.fr>
1742
1743 PR libfortran/20101
1744 * io/write.c (output_float): Added special check for value 0.0 in
1745 PE format.
1746
1747 2004-02-27 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de>
1748
1749 * io/write.c (output_float): Fix typo in condition.
1750
1751 2005-02-25 Peter O'Gorman <peter@pogma.com>
1752 Toon Moene <toon@moene.indiv.nluug.nl>
1753
1754 PR libgfortran/17748
1755 * runtime/environ.c: Remove references to environ.
1756 (show_variables): remove GFORTRAN_UNBUFFERED_* and
1757 GFORTRAN_NAME_* because they require environ.
1758 (pattern_scan): Remove function.
1759
1760 2004-02-22 Paul Thomas <paulthomas2@wannado.fr>
1761 Bud Davis <bdavis@gfortran.org>
1762
1763 * io/list_read.c (read_real): Handle separators properly
1764 in list directed read.
1765
1766 2004-02-21 Bud Davis <bdavis@gfortran.org>
1767
1768 PR fortran/20086
1769 * io/transfer.c (write_constant_string): accept an 'h' as
1770 the start of a hollerith format string.
1771
1772 2005-02-21 Eric Botcazou <ebotcazou@libertysurf.fr>
1773
1774 PR libfortran/19302
1775 * intrinsics/c99_functions.c (nextafterf): Special-case infinite
1776 numbers.
1777
1778 2005-02-21 Steven G. Kargl <kargls@comcast.net>
1779
1780 * io/write.c (output_float): Typo in error meesage.
1781
1782 2005-02-20 Steven G. Kargl <kargls@comcast.net>
1783
1784 PR 20085
1785 * intrinsic/args.c (iargc): Off by 1.
1786
1787 2005-02-19 Steven G. Kargl <kargls@comcast.net>
1788
1789 * intrinsic/date_and_time.c: Fix conformance problems.
1790
1791 2005-02-01 Paul Thomas <paulthomas2@wanadoo.fr>
1792
1793 PR libgfortran/19363
1794 PR libgfortran/19691
1795 * libgfortran.h (isfinite): Work around broken isfinite(x) in Cygwin.
1796
1797 2005-01-30 Bud Davis <bdavis@gfortran.org>
1798
1799 PR fortran/19647
1800 * io/inquire.c (inquire_via_unit): Use correct variable for
1801 pad.
1802
1803 2005-01-29 Thomas Koenig <Thomas.Koenig@online.de>
1804
1805 PR libfortran/19595
1806 * io/transfer.c (data_transfer_init): eor requires advance="NO".
1807
1808 2005-01-25 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de>
1809
1810 PR libfortran/19524
1811 * io/read.c (read_f): Don't free uninitialized pointer.
1812
1813 2005-01-23 James A. Morrison <phython@gcc.gnu.org>
1814 Paul Brook <paul@codesourcery.com>
1815
1816 PR fortran/19294
1817 * Makefile.am: Add transpose_c4.c and transpose_c8.c.
1818 * intrinsics/cshift0.c: Use separate optimized loops for complex types.
1819 * m4/transpose.m4: Include type letter in function name.
1820 * Makefile.in: Regenerate.
1821 * generated/transpose_*.c: Regenerate.
1822
1823 2005-01-22 Thomas Koenig <Thomas.Koenig@online.de>
1824
1825 PR libfortran/19451
1826 * io/transfer.c (finalize_transfer): Don't do anything if
1827 there is an error condition.
1828
1829 2005-01-22 David Edelsohn <edelsohn@gnu.org>
1830
1831 PR libgfortran/19052
1832 * libgfortran.h (options_t): Add stderr_unit.
1833 * io/io.h (error_stream): Declare.
1834 * io/open.c (new_unit): Do not terminate abnormally if opening
1835 file preconnected to stdin, stdout, or stderr.
1836 * io/unit.c (init_units): Initialize stderr_unit.
1837 * io/unix.c (error_stream): New function.
1838 * runtime/environ.c (GFORTRAN_STDERR_UNIT): New environment variable.
1839
1840 2005-01-22 Thomas Koenig <Thomas.Koenig@online.de>
1841
1842 PR libfortran/18982
1843 * io/unix.c (regular_file): No need to change flags->action
1844 if an error occurs. Document this.
1845 No need to call stat() for STATUS_OLD, open() will
1846 fail anyway.
1847 For ACTION_UNSPECIFIED, try open for read-write, then for
1848 read-only if open fails with EACCES, then for write-only
1849 if that fails with EACCES again.
1850 * io/unix.c (open_external): Document changed behavior of
1851 regular_file.
1852
1853 2005-01-22 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de>
1854
1855 PR fortran/19194
1856 * io/io.h (st_parameter): Use 'GFC_INTEGER_4' instead of 'int',
1857 use CHARACTER macro for definition of string valued paramters.
1858
1859 2005-01-22 Bud Davis <bdavis9659@comcast.net>
1860
1861 PR fortran/19314
1862 * io/inquire.c(inquire_via_unit): implement POSITION=.
1863 * io/transfer.c(next_record): update position for
1864 INQUIRE.
1865 * io/rewind.c(st_rewind): update position for
1866 INQUIRE.
1867
1868 2005-01-16 Bud Davis <bdavis9659@comcast.net>
1869
1870 PR fortran/18778
1871 * io/transfer.c (us_read): no bytes available is not a
1872 runtime error.
1873
1874 2005-01-15 Bud Davis <bdavis9659@comcast.net>
1875
1876 PR fortran/18983
1877 * io/transfer.c (st_write_done): only truncate when it
1878 is required.
1879
1880 2005-01-12 Toon Moene <toon@moene.indiv.nluug.nl>
1881
1882 PR libfortran/19280
1883 c99_protos.h: License changed to GPL+exception.
1884 libgfortran.h: Ditto.
1885 intrinsics/abort.c: Ditto.
1886 intrinsics/args.c: Ditto.
1887 intrinsics/associated.c: Ditto.
1888 intrinsics/bessel.c: Ditto.
1889 intrinsics/c99_functions.c: Ditto.
1890 intrinsics/cpu_time.c: Ditto.
1891 intrinsics/cshift0.c: Ditto.
1892 intrinsics/date_and_time.c: Ditto.
1893 intrinsics/env.c: Ditto.
1894 intrinsics/eoshift0.c: Ditto.
1895 intrinsics/eoshift2.c: Ditto.
1896 intrinsics/erf.c: Ditto.
1897 intrinsics/etime.c: Ditto.
1898 intrinsics/exit.c: Ditto.
1899 intrinsics/flush.c: Ditto.
1900 intrinsics/fnum.c: Ditto.
1901 intrinsics/getXid.c: Ditto.
1902 intrinsics/getcwd.c: Ditto.
1903 intrinsics/ishftc.c: Ditto.
1904 intrinsics/mvbits.c: Ditto.
1905 intrinsics/pack_generic.c: Ditto.
1906 intrinsics/rand.c: Ditto.
1907 intrinsics/random.c: Ditto.
1908 intrinsics/reshape_generic.c: Ditto.
1909 intrinsics/reshape_packed.c: Ditto.
1910 intrinsics/size.c: Ditto.
1911 intrinsics/spread_generic.c: Ditto.
1912 intrinsics/stat.c: Ditto.
1913 intrinsics/string_intrinsics.c: Ditto.
1914 intrinsics/system.c: Ditto.
1915 intrinsics/system_clock.c: Ditto.
1916 intrinsics/transpose_generic.c: Ditto.
1917 intrinsics/umask.c: Ditto.
1918 intrinsics/unlink.c: Ditto.
1919 intrinsics/unpack_generic.c: Ditto.
1920 io/backspace.c: Ditto.
1921 io/close.c: Ditto.
1922 io/endfile.c: Ditto.
1923 io/format.c: Ditto.
1924 io/inquire.c: Ditto.
1925 io/io.h: Ditto.
1926 io/list_read.c: Ditto.
1927 io/lock.c: Ditto.
1928 io/open.c: Ditto.
1929 io/read.c: Ditto.
1930 io/rewind.c: Ditto.
1931 io/transfer.c: Ditto.
1932 io/unit.c: Ditto.
1933 io/unix.c: Ditto.
1934 io/write.c: Ditto.
1935 m4/all.m4: Ditto.
1936 m4/any.m4: Ditto.
1937 m4/cexp.m4: Ditto.
1938 m4/chyp.m4: Ditto.
1939 m4/count.m4: Ditto.
1940 m4/cshift1.m4: Ditto.
1941 m4/ctrig.m4: Ditto.
1942 m4/dotprod.m4: Ditto.
1943 m4/dotprodc.m4: Ditto.
1944 m4/dotprodl.m4: Ditto.
1945 m4/eoshift1.m4: Ditto.
1946 m4/eoshift3.m4: Ditto.
1947 m4/exponent.m4: Ditto.
1948 m4/fraction.m4: Ditto.
1949 m4/head.m4: Ditto.
1950 m4/iforeach.m4: Ditto.
1951 m4/ifunction.m4: Ditto.
1952 m4/in_pack.m4: Ditto.
1953 m4/in_unpack.m4: Ditto.
1954 m4/iparm.m4: Ditto.
1955 m4/matmul.m4: Ditto.
1956 m4/matmull.m4: Ditto.
1957 m4/maxloc0.m4: Ditto.
1958 m4/maxloc1.m4: Ditto.
1959 m4/maxval.m4: Ditto.
1960 m4/minloc0.m4: Ditto.
1961 m4/minloc1.m4: Ditto.
1962 m4/minval.m4: Ditto.
1963 m4/mtype.m4: Ditto.
1964 m4/nearest.m4: Ditto.
1965 m4/pow.m4: Ditto.
1966 m4/product.m4: Ditto.
1967 m4/reshape.m4: Ditto.
1968 m4/set_exponent.m4: Ditto.
1969 m4/shape.m4: Ditto.
1970 m4/specific.m4: Ditto.
1971 m4/specific2.m4: Ditto.
1972 m4/sum.m4: Ditto.
1973 m4/transpose.m4: Ditto.
1974 m4/types.m4: Ditto.
1975 runtime/environ.c: Ditto.
1976 runtime/error.c: Ditto.
1977 runtime/in_pack_generic.c: Ditto.
1978 runtime/in_unpack_generic.c: Ditto.
1979 runtime/main.c: Ditto.
1980 runtime/memory.c: Ditto.
1981 runtime/normalize.c: Ditto.
1982 runtime/pause.c: Ditto.
1983 runtime/select.c: Ditto.
1984 runtime/stop.c: Ditto.
1985 runtime/string.c: Ditto.
1986 generated/_abs_c4.f90: Regenerated.
1987 generated/_abs_c8.f90: Regenerated.
1988 generated/_abs_i4.f90: Regenerated.
1989 generated/_abs_i8.f90: Regenerated.
1990 generated/_abs_r4.f90: Regenerated.
1991 generated/_abs_r8.f90: Regenerated.
1992 generated/_acos_r4.f90: Regenerated.
1993 generated/_acos_r8.f90: Regenerated.
1994 generated/_aint_r4.f90: Regenerated.
1995 generated/_aint_r8.f90: Regenerated.
1996 generated/_anint_r4.f90: Regenerated.
1997 generated/_anint_r8.f90: Regenerated.
1998 generated/_asin_r4.f90: Regenerated.
1999 generated/_asin_r8.f90: Regenerated.
2000 generated/_atan2_r4.f90: Regenerated.
2001 generated/_atan2_r8.f90: Regenerated.
2002 generated/_atan_r4.f90: Regenerated.
2003 generated/_atan_r8.f90: Regenerated.
2004 generated/_conjg_c4.f90: Regenerated.
2005 generated/_conjg_c8.f90: Regenerated.
2006 generated/_cos_c4.f90: Regenerated.
2007 generated/_cos_c8.f90: Regenerated.
2008 generated/_cos_r4.f90: Regenerated.
2009 generated/_cos_r8.f90: Regenerated.
2010 generated/_cosh_r4.f90: Regenerated.
2011 generated/_cosh_r8.f90: Regenerated.
2012 generated/_dim_i4.f90: Regenerated.
2013 generated/_dim_i8.f90: Regenerated.
2014 generated/_dim_r4.f90: Regenerated.
2015 generated/_dim_r8.f90: Regenerated.
2016 generated/_exp_c4.f90: Regenerated.
2017 generated/_exp_c8.f90: Regenerated.
2018 generated/_exp_r4.f90: Regenerated.
2019 generated/_exp_r8.f90: Regenerated.
2020 generated/_log10_r4.f90: Regenerated.
2021 generated/_log10_r8.f90: Regenerated.
2022 generated/_log_c4.f90: Regenerated.
2023 generated/_log_c8.f90: Regenerated.
2024 generated/_log_r4.f90: Regenerated.
2025 generated/_log_r8.f90: Regenerated.
2026 generated/_mod_i4.f90: Regenerated.
2027 generated/_mod_i8.f90: Regenerated.
2028 generated/_mod_r4.f90: Regenerated.
2029 generated/_mod_r8.f90: Regenerated.
2030 generated/_sign_i4.f90: Regenerated.
2031 generated/_sign_i8.f90: Regenerated.
2032 generated/_sign_r4.f90: Regenerated.
2033 generated/_sign_r8.f90: Regenerated.
2034 generated/_sin_c4.f90: Regenerated.
2035 generated/_sin_c8.f90: Regenerated.
2036 generated/_sin_r4.f90: Regenerated.
2037 generated/_sin_r8.f90: Regenerated.
2038 generated/_sinh_r4.f90: Regenerated.
2039 generated/_sinh_r8.f90: Regenerated.
2040 generated/_sqrt_c4.f90: Regenerated.
2041 generated/_sqrt_c8.f90: Regenerated.
2042 generated/_sqrt_r4.f90: Regenerated.
2043 generated/_sqrt_r8.f90: Regenerated.
2044 generated/_tan_r4.f90: Regenerated.
2045 generated/_tan_r8.f90: Regenerated.
2046 generated/_tanh_r4.f90: Regenerated.
2047 generated/_tanh_r8.f90: Regenerated.
2048 generated/all_l4.c: Regenerated.
2049 generated/all_l8.c: Regenerated.
2050 generated/any_l4.c: Regenerated.
2051 generated/any_l8.c: Regenerated.
2052 generated/count_4_l4.c: Regenerated.
2053 generated/count_4_l8.c: Regenerated.
2054 generated/count_8_l4.c: Regenerated.
2055 generated/count_8_l8.c: Regenerated.
2056 generated/cshift1_4.c: Regenerated.
2057 generated/cshift1_8.c: Regenerated.
2058 generated/dotprod_c4.c: Regenerated.
2059 generated/dotprod_c8.c: Regenerated.
2060 generated/dotprod_i4.c: Regenerated.
2061 generated/dotprod_i8.c: Regenerated.
2062 generated/dotprod_l4.c: Regenerated.
2063 generated/dotprod_l8.c: Regenerated.
2064 generated/dotprod_r4.c: Regenerated.
2065 generated/dotprod_r8.c: Regenerated.
2066 generated/eoshift1_4.c: Regenerated.
2067 generated/eoshift1_8.c: Regenerated.
2068 generated/eoshift3_4.c: Regenerated.
2069 generated/eoshift3_8.c: Regenerated.
2070 generated/exp_c4.c: Regenerated.
2071 generated/exp_c8.c: Regenerated.
2072 generated/exponent_r4.c: Regenerated.
2073 generated/exponent_r8.c: Regenerated.
2074 generated/fraction_r4.c: Regenerated.
2075 generated/fraction_r8.c: Regenerated.
2076 generated/hyp_c4.c: Regenerated.
2077 generated/hyp_c8.c: Regenerated.
2078 generated/in_pack_i4.c: Regenerated.
2079 generated/in_pack_i8.c: Regenerated.
2080 generated/in_unpack_i4.c: Regenerated.
2081 generated/in_unpack_i8.c: Regenerated.
2082 generated/matmul_c4.c: Regenerated.
2083 generated/matmul_c8.c: Regenerated.
2084 generated/matmul_i4.c: Regenerated.
2085 generated/matmul_i8.c: Regenerated.
2086 generated/matmul_l4.c: Regenerated.
2087 generated/matmul_l8.c: Regenerated.
2088 generated/matmul_r4.c: Regenerated.
2089 generated/matmul_r8.c: Regenerated.
2090 generated/maxloc0_4_i4.c: Regenerated.
2091 generated/maxloc0_4_i8.c: Regenerated.
2092 generated/maxloc0_4_r4.c: Regenerated.
2093 generated/maxloc0_4_r8.c: Regenerated.
2094 generated/maxloc0_8_i4.c: Regenerated.
2095 generated/maxloc0_8_i8.c: Regenerated.
2096 generated/maxloc0_8_r4.c: Regenerated.
2097 generated/maxloc0_8_r8.c: Regenerated.
2098 generated/maxloc1_4_i4.c: Regenerated.
2099 generated/maxloc1_4_i8.c: Regenerated.
2100 generated/maxloc1_4_r4.c: Regenerated.
2101 generated/maxloc1_4_r8.c: Regenerated.
2102 generated/maxloc1_8_i4.c: Regenerated.
2103 generated/maxloc1_8_i8.c: Regenerated.
2104 generated/maxloc1_8_r4.c: Regenerated.
2105 generated/maxloc1_8_r8.c: Regenerated.
2106 generated/maxval_i4.c: Regenerated.
2107 generated/maxval_i8.c: Regenerated.
2108 generated/maxval_r4.c: Regenerated.
2109 generated/maxval_r8.c: Regenerated.
2110 generated/minloc0_4_i4.c: Regenerated.
2111 generated/minloc0_4_i8.c: Regenerated.
2112 generated/minloc0_4_r4.c: Regenerated.
2113 generated/minloc0_4_r8.c: Regenerated.
2114 generated/minloc0_8_i4.c: Regenerated.
2115 generated/minloc0_8_i8.c: Regenerated.
2116 generated/minloc0_8_r4.c: Regenerated.
2117 generated/minloc0_8_r8.c: Regenerated.
2118 generated/minloc1_4_i4.c: Regenerated.
2119 generated/minloc1_4_i8.c: Regenerated.
2120 generated/minloc1_4_r4.c: Regenerated.
2121 generated/minloc1_4_r8.c: Regenerated.
2122 generated/minloc1_8_i4.c: Regenerated.
2123 generated/minloc1_8_i8.c: Regenerated.
2124 generated/minloc1_8_r4.c: Regenerated.
2125 generated/minloc1_8_r8.c: Regenerated.
2126 generated/minval_i4.c: Regenerated.
2127 generated/minval_i8.c: Regenerated.
2128 generated/minval_r4.c: Regenerated.
2129 generated/minval_r8.c: Regenerated.
2130 generated/nearest_r4.c: Regenerated.
2131 generated/nearest_r8.c: Regenerated.
2132 generated/pow_c4_i4.c: Regenerated.
2133 generated/pow_c4_i8.c: Regenerated.
2134 generated/pow_c8_i4.c: Regenerated.
2135 generated/pow_c8_i8.c: Regenerated.
2136 generated/pow_i4_i4.c: Regenerated.
2137 generated/pow_i4_i8.c: Regenerated.
2138 generated/pow_i8_i4.c: Regenerated.
2139 generated/pow_i8_i8.c: Regenerated.
2140 generated/pow_r4_i4.c: Regenerated.
2141 generated/pow_r4_i8.c: Regenerated.
2142 generated/pow_r8_i4.c: Regenerated.
2143 generated/pow_r8_i8.c: Regenerated.
2144 generated/product_c4.c: Regenerated.
2145 generated/product_c8.c: Regenerated.
2146 generated/product_i4.c: Regenerated.
2147 generated/product_i8.c: Regenerated.
2148 generated/product_r4.c: Regenerated.
2149 generated/product_r8.c: Regenerated.
2150 generated/reshape_i4.c: Regenerated.
2151 generated/reshape_i8.c: Regenerated.
2152 generated/set_exponent_r4.c: Regenerated.
2153 generated/set_exponent_r8.c: Regenerated.
2154 generated/shape_i4.c: Regenerated.
2155 generated/shape_i8.c: Regenerated.
2156 generated/sum_c4.c: Regenerated.
2157 generated/sum_c8.c: Regenerated.
2158 generated/sum_i4.c: Regenerated.
2159 generated/sum_i8.c: Regenerated.
2160 generated/sum_r4.c: Regenerated.
2161 generated/sum_r8.c: Regenerated.
2162 generated/transpose_i4.c: Regenerated.
2163 generated/transpose_i8.c: Regenerated.
2164 generated/trig_c4.c: Regenerated.
2165 generated/trig_c8.c: Regenerated.
2166
2167 2005-01-07 Bud Davis <bdavis9659@comcast.net>
2168
2169 PR fortran/18398
2170 * transfer.c (next_record_r): always skip the
2171 eol search if it was found during sf_read.
2172
2173 2004-12-27 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
2174
2175 * libgfortran/libgfortran.h (GFC_UINTEGER_1, GFC_UINTEGER_2):
2176 Define.
2177 * intrinsics/ishftc.c: Update copyright years.
2178 (ishftc8): Change 'shift' and 'size' to GFC_INTEGER_4.
2179 * intrinsics/mvbits.c: Correct non-ASCII character in my name.
2180 Add implementations for GFC_INTEGER_1 and GFC_INTEGER_2.
2181
2182 2004-12-23 Bud Davis <bdavis9659@comcast.net>
2183
2184 PR fortran/19071
2185 * io/tranfer.c (formatted_transfer): moved check for
2186 format reversion inside the processing loop.
2187
2188 2004-12-19 Aaron W. LaFramboise <aaronavay62@aaronwl.com>
2189
2190 PR libfortran/19074
2191 * libgfortran.h (itoa): Rename to gfc_itoa.
2192 * io/write.c (itoa): Same.
2193 * runtime/environ.c (itoa): Same.
2194 * runtime/error.c (itoa): Same.
2195
2196 2004-12-15 Bud Davis <bdavis9659@comcast.net>
2197 Steven G. Kargl <kargls@comcast.net>
2198
2199 PR fortran/17597
2200 * io/list_read.c (read_real): do not push back a comma when
2201 it delimits a real value without a decimal point
2202
2203 2004-12-14 Steve Ellcey <sje@cup.hp.com>
2204
2205 * libgfortran/io/transfer.c (us_read): Use memcpy/memset
2206 instead of assignment to fill unaligned buffer.
2207 (us_write): Ditto.
2208 (next_record_w): Ditto.
2209
2210 2004-12-14 Steven G. Kargl <kargls@comcast.net>
2211
2212 PR libfortran/18966
2213 * gfortran.h: typedef GFC_INTEGER_1 and GFC_INTEGER_2
2214 * intrinsics/cshift0.c (cshift0_1,cshift0_2): New functions.
2215 * intrinsics/eoshift0.c (eoshift0_1,eoshift0_2): New functions.
2216 * intrinsics/eoshift2.c (eoshift2_1,eoshift2_2): New functions.
2217
2218 2004-12-13 David Edelsohn <edelsohn@gnu.org>
2219
2220 * io/transfer.c (read_sf): Change bitwise "and" to logical "and".
2221
2222 2004-12-12 Richard Henderson <rth@redhat.com>
2223
2224 * intrinsics/cshift0.c, intrinsics/eoshift0.c, intrinsics/eoshift2.c,
2225 intrinsics/pack_generic.c, intrinsics/reshape_generic.c,
2226 intrinsics/spread_generic.c, intrinsics/transpose_generic.c,
2227 intrinsics/unpack_generic.c, m4/cshift1.m4, m4/dotprod.m4,
2228 m4/dotprodc.m4, m4/dotprodl.m4, m4/eoshift1.m4, m4/eoshift3.m4,
2229 m4/iforeach.m4, m4/ifunction.m4, m4/matmul.m4, m4/matmull.m4,
2230 m4/reshape.m4, m4/shape.m4, m4/transpose.m4: Use standard prefix
2231 instead of "__".
2232 * generated/*: Rebuild.
2233
2234 2004-12-12 Richard Henderson <rth@redhat.com>
2235
2236 * acinclude.m4 (LIBGFOR_CHECK_ATTRIBUTE_VISIBILITY): New.
2237 (LIBGFOR_CHECK_ATTRIBUTE_DLLEXPORT): New.
2238 (LIBGFOR_CHECK_ATTRIBUTE_ALIAS): New.
2239 * configure.ac: Use them.
2240 * configure, config.h.in, aclocal.m4: Rebuild.
2241 * libgfortran.h (prefix): Remove.
2242 (PREFIX, IPREFIX): New.
2243 (sym_rename, sym_rename1, sym_rename2): New.
2244 (internal_proto, export_proto, export_proto_np): New.
2245 (iexport_proto, iexport): New.
2246 (iexport_data_proto, iexport_data): New.
2247 * intrinsics/abort.c, intrinsics/args.c, intrinsics/associated.c,
2248 intrinsics/cpu_time.c, intrinsics/cshift0.c,
2249 intrinsics/date_and_time.c, intrinsics/env.c, intrinsics/eoshift0.c,
2250 intrinsics/eoshift2.c, intrinsics/etime.c, intrinsics/exit.c,
2251 intrinsics/flush.c, intrinsics/fnum.c, intrinsics/getXid.c,
2252 intrinsics/getcwd.c, intrinsics/ishftc.c, intrinsics/mvbits.c,
2253 intrinsics/pack_generic.c, intrinsics/rand.c, intrinsics/random.c,
2254 intrinsics/reshape_generic.c, intrinsics/size.c,
2255 intrinsics/spread_generic.c, intrinsics/stat.c,
2256 intrinsics/string_intrinsics.c, intrinsics/system.c,
2257 intrinsics/system_clock.c, intrinsics/transpose_generic.c,
2258 intrinsics/umask.c, intrinsics/unlink.c, intrinsics/unpack_generic.c,
2259 io/backspace.c, io/close.c, io/endfile.c, io/inquire.c, io/io.h,
2260 io/open.c, io/rewind.c, io/transfer.c, libgfortran.h, m4/cshift1.m4,
2261 m4/dotprod.m4, m4/dotprodc.m4, m4/dotprodl.m4, m4/eoshift1.m4,
2262 m4/eoshift3.m4, m4/exponent.m4, m4/fraction.m4, m4/iforeach.m4,
2263 m4/ifunction.m4, m4/matmul.m4, m4/matmull.m4, m4/nearest.m4,
2264 m4/pow.m4, m4/reshape.m4, m4/set_exponent.m4, m4/shape.m4,
2265 m4/transpose.m4, runtime/environ.c, runtime/error.c,
2266 runtime/in_pack_generic.c, runtime/in_unpack_generic.c,
2267 runtime/main.c, runtime/memory.c, runtime/pause.c, runtime/select.c,
2268 runtime/stop.c: Use them to mark symbols internal or external.
2269 * generated/*: Rebuild.
2270
2271 2004-12-09 David Edelsohn <edelsohn@gnu.org>
2272
2273 PR bootstrap/18895
2274 Revert 2004-12-07 change.
2275 * Makefile.am (AM_MAKEFLAGS): Delete.
2276 * Makefile.in: Regenerate.
2277
2278 2004-12-07 Steve Ellcey <sje@cup.hp.com>
2279
2280 * libgfortran/Makefile.am (AM_MAKEFLAGS): New.
2281 * libgfortran/Makefile.in: Regenerate
2282
2283 2004-12-07 Steve Ellcey <sje@cup.hp.com>
2284
2285 * io/io.h (open_external): Change prototype.
2286 * io/unix.c (regular_file): Change prototype and set flags->action if
2287 needed.
2288 (open_external): Ditto.
2289 * io/open.c (new_unit): Let open_external set flags->action.
2290
2291 2004-12-07 Eric Botcazou <ebotcazou@libertysurf.fr>
2292
2293 * configure.ac: Check for ieeefp.h. Check for fabsf in libm.
2294 * configure: Regenerate.
2295 * config.h.in: Likewise.
2296 * c99_protos.h: New file.
2297 * libgfortran.h: Include c99_protos.h and conditionally ieeefp.h.
2298 * intrinsics/c99_functions.c (fabsf): New function.
2299
2300 2004-12-06 Richard Henderson <rth@redhat.com>
2301
2302 * intrinsics/cshift0.c, intrinsics/eoshift0.c, intrinsics/eoshift2.c,
2303 intrinsics/pack_generic.c, intrinsics/string_intrinsics.c,
2304 intrinsics/transpose_generic.c, m4/ifunction.m4, m4/matmul.m4,
2305 m4/matmull.m4, m4/transpose.m4: Use internal_malloc_size instead
2306 of internal_malloc.
2307 * generated/*: Rebuild.
2308
2309 2004-12-06 Richard Henderson <rth@redhat.com>
2310
2311 * intrinsics/c99_functions.c, intrinsics/eoshift0.c,
2312 intrinsics/eoshift2.c, intrinsics/exit.c, intrinsics/flush.c,
2313 intrinsics/ishftc.c, intrinsics/mvbits.c, intrinsics/pack_generic.c,
2314 intrinsics/random.c, intrinsics/reshape_generic.c, intrinsics/size.c,
2315 intrinsics/spread_generic.c, intrinsics/stat.c,
2316 intrinsics/string_intrinsics.c, intrinsics/system_clock.c,
2317 intrinsics/transpose_generic.c, intrinsics/unlink.c,
2318 intrinsics/unpack_generic.c, io/backspace.c, io/format.c,
2319 io/list_read.c, io/lock.c, io/open.c, io/transfer.c, io/unix.c,
2320 io/write.c, runtime/environ.c, runtime/error.c,
2321 runtime/in_pack_generic.c, runtime/in_unpack_generic.c, runtime/main.c,
2322 runtime/memory.c, runtime/pause.c, runtime/stop.c,
2323 runtime/string.c: Whitespace fixes.
2324
2325 2004-12-06 Richard Henderson <rth@redhat.com>
2326
2327 * Makefile.am: Generate all m4 output under $(srcdir).
2328 * Makefile.in: Regenerate.
2329
2330 2004-12-02 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
2331
2332 PR fortran/18710
2333 * io/transfer.c (unformatted_read, unformatted_write): width of
2334 a COMPLEX is twice its kind.
2335
2336 2004-12-02 Richard Sandiford <rsandifo@redhat.com>
2337
2338 * configure.ac: Use TL_AC_GCC_VERSION to set gcc_version.
2339 * configure, aclocal.m4, Makefile.in: Regenerate.
2340
2341 2004-12-02 Bud Davis <bdavis9659@comcast.net>
2342
2343 PR libfortran/18284
2344 * io/unix.c (fd_alloc_w_at): Update file_length when extending.
2345 * io/backspace.c (formatted_backspace): Reset endfile after backspace.
2346
2347 2004-12-02 Bud Davis <bdavis9659@comcast.net>
2348
2349 * io/inquire.c (inquire_via_unit): do not allow a direct access
2350 file to be opened for sequential I/O.
2351
2352 2004-12-02 Steven G. Kargl <kargls@comcast.net>
2353 Paul Brook <paul@codesourcery.com>
2354
2355 * intrinsics/flush.c: New file.
2356 * intrinsics/fnum.c: ditto
2357 * intrinsics/stat.c: ditto
2358 * io/io.h (unit_to_fd): Add prototype.
2359 * io/unix.c (unit_to_fd): New function.
2360 * configure.ac: Add test for members of struct stat. Check for
2361 sys/types.h and sys/stat.h
2362 * Makefile.am: Add intrinsics/{flush.c,fnum.c,stat.c}
2363 * configure.in: Regenerate.
2364 * config.h.in: Regenerate.
2365 * Makefile.in: Regenerate.
2366
2367 2004-12-01 Aaron W. LaFramboise <aaronavay62@aaronwl.com>
2368
2369 * Makefile.am (AM_CPPFLAGS): Use -iquote instead of -I.
2370
2371 2004-11-28 Bud Davis <bdavis9659@comcast.net>
2372
2373 * io/unix.c (mmap_alloc_w_a): check for a write to a location
2374 less than the mapped area.
2375
2376 2004-11-27 Bud Davis <bdavis9659@comcast.net>
2377
2378 PR fortran/18364
2379 * io/endfile.c (st_endfile): flush the stream before truncating.
2380
2381 2004-11-24 Kelley Cook <kcook@gcc.gnu.org>
2382
2383 * configure: Regenerate for libtool change.
2384
2385 2004-11-22 Steven Bosscher <stevenb@suse.de>
2386
2387 PR libfortran/15960
2388 * configure.ac: Check for finite in libm.
2389 * libgfortran.h: Define isfinite macro if not defined.
2390 * intrinsics/c99_functions.c: Use defined(fpclassify) instead of
2391 HAVE_FPCLASSIFY.
2392 * io/write.c (write_float): Use isfinite instead of finite.
2393 * configure, config.h.in: Rebuilt.
2394
2395 2004-11-20 Roger Sayle <roger@eyesopen.com>
2396
2397 * io/write.c (write_float, list_formatted_write): Fix indentation.
2398
2399 2004-11-20 Eric Botcazou <ebotcazou@libertysurf.fr>
2400
2401 PR target/16135
2402 * acinclude.m4 (LIBGFOR_TARGET_ILP32): New check.
2403 * configure.ac: Include LIBGFOR_TARGET_ILP32.
2404 * configure: Regenerate.
2405 * config.h.in: Likewise.
2406 * libgfortran.h: Provide default definitions for C99 types
2407 on ILP32 targets that don't have them.
2408
2409 PR target/17999
2410 * configure.ac: Check for snprintf.
2411 * configure: Regenerate.
2412 * config.h.in: Likewise.
2413 * intrinsics/date_and_time.c (date_and_time): Do not
2414 use snprinf if it is not available.
2415 * io/write.c (output_float): Likewise.
2416
2417 2004-11-20 Steven G. Kargl <kargls@comcast.net>
2418
2419 * Makefile.am: Add intrinsics/{umask.c,unlink.c,exit.c}
2420 * Makefile.in: Regenerated
2421 * intrinsics/umask.c: New file
2422 * intrinsics/unlink.c: ditto
2423 * intrinsics/exit.c: ditto
2424
2425 2004-11-18 Victor Leikehman <lei@il.ibm.com>
2426
2427 * m4/matmul.m4: Loops reordered to improve cache behavior.
2428 * generated/matmul_??.c: Regenerated.
2429
2430 2004-11-10 Paul Brook <paul@codesourcery.com>
2431
2432 PR fortran/18218
2433 * configure.ac: Check for strtof.
2434 * configure: Regenerate.
2435 * config.h.in: Regenerate.
2436 * io/read.c (convert_real): Use strtof if available.
2437 (convert_precision_real): Remove.
2438 (read_f): Avoid poor exponentiation algorithm.
2439
2440 2004-11-05 Andreas Schwab <schwab@suse.de>
2441
2442 * configure.ac: Use AC_PROG_FC, FC and FCFLAGS instead of
2443 AC_PROG_F77, F77 and FFLAGS.
2444 * Makefile.am (selected_int_kind.inc, selected_real_kind.inc): Use
2445 FCCOMPILE instead of F77COMPILE.
2446 * configure, Makefile.in: Regenerate.
2447
2448 2004-11-05 Kelley Cook <kcook@gcc.gnu.org>
2449
2450 * acinclude.m4: Properly quote AC_CACHE_CHECK.
2451 * Makefile.am: Add in ACLOCAL_AMFLAGS.
2452 * aclocal.m4, configure, Makefile.in: Regenerate.
2453
2454 2004-10-30 Aaron W. LaFramboise <aaronavay62@aaronwl.com>
2455
2456 * config.h.in: Regenerate.
2457 * configure: Regenerate.
2458 * configure.ac (AC_CHECK_FUNCS): Add mkstemp.
2459 * io/unix.c (S_IRGRP): Define if undefined.
2460 (S_IWGRP): Same.
2461 (S_IROTH): Same.
2462 (S_IWOTH): Same.
2463 (tempfile): Use mktemp if mkstemp missing, fix typos.
2464
2465 2004-10-30 Aaron W. LaFramboise <aaronavay62@aaronwl.com>
2466
2467 * intrinsics/system.c ("libgfortran.h"): Move after system headers.
2468
2469 2004-10-30 Canqun Yang <canqun@nudt.edu.cn>
2470
2471 * intrinsics/rand.c (irand): Handle NULL argument.
2472
2473 2004-10-07 Paul Brook <paul@codesourcery.com>
2474
2475 * io/transfer.c (finalize_transfer): Free internal streams.
2476 * io/unix.c (mem_close): Free stream object.
2477
2478 2004-10-07 Paul Brook <paul@codesourcery.com>
2479
2480 * intrinsics/string_intrinsics.c (string_verify): Fix off by one
2481 error.
2482
2483 2004-10-06 Paul Brook <paul@codesourcery.com>
2484
2485 PR libfortran/17709
2486 * io/transfer.c (data_transfer_init): Reset sf_seen_eor.
2487
2488 2004-10-04 Andrew Pinski <pinskia@physics.uc.edu>
2489
2490 * intrinsics/mvbits.c: Commit the file.
2491
2492 2004-10-04 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
2493
2494 PR fortran/17283
2495 * intrinsics/pack_generic.c (__pack): Allocate memory for return array
2496 if not done by caller.
2497 (__pack_s): New function.
2498 * runtime/memory.c (internal_malloc, internal_malloc64): Allow
2499 allocating zero memory.
2500
2501 PR fortran/17631
2502 * Makefile.am (gfor_helper_src): Add intrinsics/mvbits.h.
2503 * Makefile.in: Regenerate.
2504 * intrinsics/mvbits.h: New file.
2505
2506 PR fortran/17776
2507 * intrinsics/system.c: New file.
2508 * Makefile.am: Add dependency for the new file.
2509 * Makefile.in: Regenerate.
2510
2511 2004-10-04 Paul Brook <paul@codesourcery.com>
2512 Bud Davis <bdavis9659@comcast.net>
2513
2514 PR fortran/17706
2515 PR fortran/16434
2516 * io/format.c (parse_format_list): Set repeat count for S, SP, SS,
2517 BN and BZ formats.
2518 * io/write.c (output_float): Don't output minus zero.
2519
2520 2004-10-03 Aaron W. LaFramboise <aaronavay62@aaronwl.com>
2521
2522 * intrinsics/abort.c ("libgfortran.h"): Move.
2523 * intrinsics/date_and_time.c ("libgfortran.h"): Same.
2524 * intrinsics/write.c ("libgfortran.h"): Same.
2525
2526 2004-09-26 Tobias Schlueter <tobis.schlueter@physik.uni-muenchen.de>
2527
2528 PR libfortran/16137
2529 * config.h.in (HAVE_POWF): Undefine.
2530 * configure.ac: Check for 'powf' in library.
2531 * configure: Regenerate.
2532 * intrinsics/c99_functions.c (powf): New function.
2533
2534 2004-09-24 Tobias Schlueter <tobis.schlueter@physik.uni-muenchen.de>
2535
2536 * intrinsics/etime.c (etime_): New function.
2537
2538 2004-09-21 Steven G. Kargl <kargls@comcast.net>
2539
2540 * libgfortran.h: define gfc_alloca()
2541 * intrinsics/env.c (getenv, get_environment_variable_i4): Use it.
2542
2543 2004-09-21 Bud Davis <bdavis9659@comcast.net>
2544
2545 PR fortran/17286
2546 * io/list_read.c (namelist_read): ignore spaces after
2547 the '=' for namelist reads.
2548
2549 2004-09-15 Aaron W. LaFramboise <aaronavay62@aaronwl.com>
2550
2551 * config.h.in: Regenerate.
2552 * configure: Regenerate.
2553 * configure.ac (AC_CHECK_HEADERS): Check for sys/mman.h.
2554 * unix.c: Include stdio.h.
2555 (HAVE_SYS_MMAN_H): Check.
2556 (PROT_READ, PROT_WRITE): Provide default definitions.
2557
2558 2004-09-15 Steven G. Kargl <kargls@comcast.net>
2559
2560 * intrincics/getcwd.c: New file.
2561 * Makefile.am: Add getcwd.c.
2562 * Makefile.in: Regenerated.
2563
2564 2004-09-15 Steven G. Kargl <kargls@comcast.net>
2565 Paul Brook <paul@codesourcery.com>
2566
2567 * intrinsics/env.c (getenv, get_environmental_variable): Remove
2568 trailing white space. Use alloca. Honour trim_name.
2569
2570 2004-09-13 Bud Davis <bdavis9659@comcast.net>
2571
2572 PR fortran/17090
2573
2574 * io/list_read.c (list_formatted_read): Handle trailing spaces
2575 at end of line.
2576
2577 2004-09-06 Steven G. Kargl <kargls@comcast.net>
2578
2579 * io/write.c (output_float): Typo in comment. Remove debugging
2580 printf. Fix format for FP of form 1e10.
2581
2582 2004-09-03 Richard Henderson <rth@redhat.com>
2583
2584 * intrinsics/cshift0.c (DEF_COPY_LOOP, copy_loop_int, copy_loop_long,
2585 copy_loop_double, copy_loop_ldouble): New.
2586 (__cshift0): Make shift type ssize_t. Use % operator instead of
2587 div. Use specialized versions of copy loop depending on the shape.
2588
2589 2004-09-02 Paul Brook <paul@codesourcery.com>
2590
2591 * io/format.c (parse_format_list): Set repeat count for P descriptors.
2592 * write.c (output_float): Fix condition. Correctly handle nonzero
2593 scale factor.
2594
2595 2004-09-01 Eric Botcazou <ebotcazou@libertysurf.fr>
2596
2597 * mk-sik-inc.sh: Use a temporary string instead of 'echo -n'.
2598 * mk-srk-inc.sh: Likewise.
2599
2600 2004-09-01 Paul Brook <paul@codesourcery.com>
2601
2602 * runtime/error.c (generate_error): Set both iostat and
2603 library_return.
2604
2605 2004-08-31 Paul Brook <paul@codesourcery.com>
2606
2607 PR libfortran/16805
2608 * io/list_read.c (next_char): Don't signal EOF for internal files.
2609 * io/unix.c (mem_alloc_r_at): Don't return NULL for incomplete reads.
2610
2611 2004-08-31 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
2612
2613 * io/unit.c: Separate copyright years by ','.
2614 (compare, insert_unit, delete_unit, is_internal_unit, close_units):
2615 Remove blank line in beginning of function.
2616 (get_unit): Simplify code.
2617
2618 2004-08-31 Paul Brook <paul@codesourcery.com>
2619
2620 * io/unit.c (get_unit): Remove superfluous if.
2621
2622 2004-08-31 Paul Brook <paul@codesourcery.com>
2623
2624 * io/transfer.c (read_sf): Rename uinty to readlen. Detect EOF.
2625 (finalize_transfer): Move setjmp after namlist IO.
2626 * io/unix.c (mem_alloc_r_at): Calculate remaining length correctly.
2627
2628 2004-08-31 Paul Brook <paul@codesourcery.com>
2629
2630 * list_read.c (eat_separator): Set at_eo when a '/' is seen.
2631
2632 2004-08-31 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
2633
2634 * libgfortran.h: Replace 'gfc_strlen_type' by
2635 'gfc_charlen_type'. Update comment accordingly.
2636 * intrinsics/args.c, intrinsics/env.c, io/io.h, io/transfer.c:
2637 Replace all occurences of 'gfc_strlen_type' by 'gfc_charlen_type'.
2638
2639 2004-08-31 Paul Brook <paul@codesourcery.com>
2640
2641 * libgfortran.h: Add comments.
2642
2643 2004-08-30 Richard Henderson <rth@redhat.com>
2644
2645 * Makefile.am (gfor_helper_src): Split selected_kind.f90.
2646 (gfor_built_src): Add selected_int_kind.inc selected_real_kind.inc.
2647 (selected_int_kind.inc selected_real_kind.inc): New rules.
2648 * Makefile.in: Regenerate.
2649 * mk-sik-inc.sh, mk-srk-inc.sh: New files.
2650 * intrinsics/selected_int_kind.f90: Split from selected_kind.f90,
2651 include table of detected kinds.
2652 * intrinsics/selected_real_kind.f90: Similarly.
2653
2654 2004-08-29 Steven G. Kargl <kargls@comcast.net>
2655 Paul Brook <paul@codesourcery.com>
2656
2657 * intrinsics/bessel.c: New file.
2658 * intrinsics/erf.c: New file.
2659 * Makefie.am: Add intrinsics/bessel.c and intrinsics/erf.c.
2660 * configure.ac: Test for C99 Bessel and Error functions.
2661 * Makefile.in: Regenerate.
2662 * config.h.in: Regenerate.
2663 * configure: Regenerate.
2664
2665 2004-08-29 Steven G. Kargl <kargls@comcast.net>
2666 Paul Brook <paul@codesourcery.com>
2667
2668 * Makefile.am: Add intrinsics/getXid.c.
2669 * configure.ac: Add tests for get{g,p,u}id.
2670 * config.h.in: Regenerate.
2671 * Makefile.in: Regenerate.
2672 * configure: Regenerate.
2673
2674 2004-08-28 Paul Brook <paul@codesourcery.com>
2675
2676 PR libfortran/17195
2677 * libgfortran.h (rtoa): Remove prototype.
2678 * runtime/error.c (rtoa): Remove.
2679 * io/write.c (calculate_G_format): Don't add blanks if E format is
2680 used. Add correct number of blanks when exponent width is specified.
2681 (output_float): Rewrite.
2682
2683 2004-08-27 Paul Brook <paul@codesourcery.com>
2684
2685 * io/rewind.c (st_rewind): Reset unit to read mode.
2686
2687 2004-08-27 Bud Davis <bdavis9659@comcast.net>
2688
2689 PR fortran/16597
2690 * io/io.h: created typedef for unit_mode.
2691 * io/io.h (gfc_unit): added mode to unit structure.
2692 * io/transfer.c (data_transfer_init): flush if a write then
2693 read is done on a unit (direct access files).
2694 * io/rewind.c (st_rewind): Used unit mode instead of global.
2695
2696 2004-08-24 Bud Davis <bdavis9659@comcast.net>
2697
2698 PR fortran/17143
2699 * runtime/error.c (itoa): keep from overflowing during
2700 mod operation by using unsigned variable.
2701
2702 2004-08-24 Bud Davis <bdavis9659@comcast.net>
2703
2704 PR fortran/17164
2705 * runtime/string_intrinsics.c (string_index):check for
2706 substring longer than string.
2707
2708 2004-08-24 David Edelsohn <edelsohn@gnu.org>
2709
2710 * Makefile.am (libgfortran_la_LDFLAGS): Add -lm.
2711 * Makefile.in: Rebuilt.
2712
2713 2004-08-23 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
2714
2715 * io/io.h, io/list_read.c, io/open.c, io/transfer.c, io/write.c:
2716 Fix formatting issues, update copyright years.
2717
2718 2004-08-21 Bud Davis <bdavis9659@comcast.net>
2719
2720 PR 16908
2721 * io/transfer.c (next_record_w): Do not blank pad.
2722 * io/transfer.c (next_record): Take into account partial records.
2723
2724 2004-08-18 Victor Leikehman <lei@il.ibm.com>
2725
2726 PR fortran/13278
2727 * io/transfer.c (st_set_nml_var)
2728 * io/write.c (namelist_write): Allow var_name and var_name_len to be
2729 null. For strings, use string_length field instead of len.
2730 * io/io.h (struct namelist_type): New field string_length.
2731 (st_set_nml_var_char): New argument string_length.
2732
2733 2004-08-13 Bud Davis <bdavis9659@comcast.net>
2734
2735 PR gfortran/16935
2736 * io/open.c (st_open): use flags instead of the unit structure.
2737
2738 2004-08-10 Victor Leikehman <lei@il.ibm.com>
2739
2740 * io/list_read.c (namelist_read): Convert variable names
2741 to lower case, so that mixed-case names are recognized.
2742 Don't read beyond terminating slash.
2743
2744 2004-08-09 Richard Henderson <rth@redhat.com>
2745 Roger Sayle <roger@eyesopen.com>
2746
2747 * intrinsics/c99_functions.c (nextafterf): New implementation that
2748 works correctly with denormalized numbers.
2749
2750 2004-08-09 Victor Leikehman <lei@il.ibm.com>
2751
2752 * m4/matmul.m4, m4/matmull.m4, intrinsics/eoshift0.c,
2753 intrinsics/eoshift2.c, intrinsics/transpose_generic.c:
2754 Allocate space if return value has NULL in its data field.
2755 * generated/*.c: Regenerate.
2756
2757 2004-08-06 Janne Blomqvist <jblomqvi@cc.hut.fi>
2758
2759 * intrinsics/env.c: New file.
2760 * Makefile.am: Add env.c to build.
2761 * Makefile.in: Regenerate.
2762
2763 2004-08-05 Victor Leikehman <lei@il.ibm.com>
2764
2765 PR libgfortran/16704
2766 * io/read.c (read_radix): Understand letters f and F as hex digits.
2767
2768 2004-08-04 Victor Leikehman <lei@il.ibm.com>
2769
2770 * libgfortran.h (array_t, size0) New declarations.
2771 * m4/ifunction.m4, m4/transpose.m4, intrinsics/cshift0.c: Allocate
2772 space if return value descriptor has NULL in its data field,
2773 and initialize bounds and stride.
2774 * intrinsics/size.c (array_t, size0): Declarations moved to
2775 libgfortran.h.
2776 * generated/*.c: Regenerate.
2777
2778 2004-08-03 Roger Sayle <roger@eyesopen.com>
2779
2780 PR libgfortran/16137
2781 * configure.ac: Add tests for acosf, asinf, atan2f, atanf, ceilf,
2782 copysignf, cosf, coshf, expf, floorf, frexpf, hypotf, logf, log10f,
2783 scalbnf, sinf, sinhf, sqrtf, tanf and tanhf in libm.
2784 * config.h.in: Regenerate.
2785 * configure: Regenerate.
2786
2787 * instrinsics/c99_functions.c (acosf, asinf, atan2f, atanf, ceilf,
2788 copysignf, cosf, coshf, expf, floorf, frexpf, hypotf, logf, log10f,
2789 nextafterf, scalbnf, sinf, sinhf, sqrtf, tanf, tanhf): New stub
2790 implementations for targets that don't support C99 float functions.
2791
2792 2004-08-01 Roger Sayle <roger@eyesopen.com>
2793
2794 * io/write.c (write_float): Use the slightly more portable isnan
2795 in preference to isinf.
2796
2797 2004-07-18 Bud Davis <bdavis9659@comcast.net>
2798
2799 * configure.ac: Add check for LFS support.
2800 * configure: Regenerate
2801
2802 2004-07-11 Paul Brook <paul@codesourcery.com>
2803
2804 PR fortran/16303
2805 * m4/cexp.m4 (carg): Return -pi to pi.
2806 * generated/exp_c?.c: Regenerate.
2807
2808 2004-07-08 Andreas Krebbel <krebbel1@de.ibm.com>
2809
2810 PR fortran/16291
2811 * libgfortran/io/write.c: (write_float): Added length check.
2812 Remove pointless memset calls.
2813
2814 2004-07-04 Bud Davis <bdavis9659@comcast.net>
2815 Paul Brook <paul@codesourcery.com>
2816
2817 PR fortran/15472
2818 * io/transfer.c(us_write): set recl for seq unform writes to max size.
2819 * io/transfer.c(data_transfer_init): handle un-opened seq unform unit.
2820 * io/unix.c(fd_alloc_w_at): handle requests at start, fd_flush at
2821 right time.
2822 * io/unix.c(is_seekable): set based upon the file/device, not the
2823 method being used to access it (fd or mmap).
2824 * io/unix.c(fd_flush): don't set file_size if !seekable.
2825 * io/unix.c(fd_truncate: ditto.
2826
2827 2004-07-04 Janne Blomqvist <jblomqvi@cc.hut.fi>
2828 Paul Brook <paul@codesourcery.com>
2829
2830 PR fortran/15280
2831 PR fortran/15665
2832 * libgfortran.h (gfc_strlen_type): Define.
2833 * intrinsics/args.c (getarg): Rename ...
2834 (getarg_i4): ... to this.
2835 (getarg_i8, get_command_argument_i4, get_command_argument_i8,
2836 get_command_i4, get_command_i8): New functions.
2837
2838 2004-07-04 Matthias Klose <doko@debian.org>
2839
2840 * libtool-version: New.
2841 * Makefile.am (libgfortran_la_LDFLAGS): Use -version-info for soname.
2842 * Makefile.in: Regenerate.
2843 * configure.ac: Remove libtool_VERSION macro
2844 * configure: Regenerate
2845
2846 2004-06-30 Steve Kargl <sgk@troutmask.apl.washington.edu>
2847 Steven Bosscher <stevenb@suse.de>
2848
2849 * intrinsics/rand.c (rand): Wrap the irand() call from the previous
2850 commit in prefix.
2851
2852 2004-06-29 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
2853 Paul Brook <paul@codesourcery.com>
2854
2855 * runtime/normalize.c (normalize_r4_i4, normalize_r8_i8): Fix
2856 comments.
2857 * intrinsics/rand.c (rand): Call irand() in call to normalize_r4_i4.
2858
2859 2004-06-27 Bud Davis <bdavis9659@comcast.net>
2860
2861 PR gfortran/12839
2862 * io/write.c (write_float): check signbit for Infinity.
2863
2864 2004-06-26 Bud Davis <bdavis9659@comcast.net>
2865
2866 PR gfortran/16196
2867 * unix.c(regular_file): create file if it does not exist.
2868
2869 2004-06-24 Andrew Pinski <apinski@apple.com>
2870
2871 * configure.ac: Remove check for libmx.
2872 * configure: Regenerate.
2873
2874 2004-06-22 Janne Blomqvist <jblomqvi@cc.hut.fi>
2875
2876 PR fortran/15750
2877 * inquire.c (st_inquire): Add comment
2878 * io.h (st_parameter): Add iolength.
2879 (st_iolength, st_iolength_done): Declare.
2880 * transfer.c (iolength_transfer, iolength_transfer_init,
2881 st_iolength, st_iolength_done): New functions.
2882
2883 2004-06-21 Steven G. Kargl <kargls@comcast.net>
2884
2885 * etime.c (etime_sub): Remove array rank check;
2886 Add check for sufficient space.
2887
2888 2004-06-19 Bud Davis <bdavis9659@comcast.net>
2889
2890 PR gfortran/16080
2891 * io/list_read.c(set_value): fixed spelling.
2892
2893 2004-06-19 Bud Davis <bdavis9659@comcast.net>
2894
2895 PR gfortran/16080
2896 * io/list_read.c(set_value): don't copy if the string is null.
2897
2898 2004-06-14 Bud Davis <bdavis9659@comcast.net>
2899
2900 PR gfortran/15292
2901 * intrinsics/c99_functions.c: Use fpclassify if it exists.
2902
2903 2004-06-13 Paul Brook <paul@codesourcery.com>
2904
2905 * Makefile.am (gfor_helper_src): Add runtime/normalize.f90.
2906 * configure.ac: Add checks for nextafter and nextafterf.
2907 * Makefile.in, config.h.in, configure: Regenerate.
2908 * libgfortran.h (normalize_r4_i4, normalize_r8_i8): Declare.
2909 * intrinsics/rand.c (rand): Use normalize_r4_i4.
2910 * intrinsics/random.c (random_r4): Use normalize_r4_i4.
2911 (random_r8): Use normalize_r8_i8.
2912 * runtime/normalize.c: New file.
2913
2914 2004-06-13 Steven G. Kargl <kargls@comcast.net>
2915 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
2916
2917 * random.c: Fix several spelling and formatting mistakes in
2918 comments.
2919 (random_r8): Fix loop to make random numbers range in [0,1(.
2920
2921
2922 2004-06-13 Steven G. Kargl <kargls@comcast.net>
2923
2924 * random.c (random_r4): Burn a random number.
2925 (random_r8): fix infinite loop.
2926
2927 2004-06-12 Bud Davis <bdavis9659@comcast.net>
2928 Steve Kargl <sgk@troutmask.apl.washington.edu>
2929
2930 PR gfortran/15292
2931 * intrinsics/c99_functions.c: New file.
2932 * Makefile.am: Add new file.
2933 * configure.ac: Added test for round/roundf.
2934 * Makefile.in: Regenerate.
2935 * configure: Regenerate.
2936 * configure.h.in: Regenerate.
2937
2938 2004-06-12 Steven G. Kargl <kargls@comcast.net>
2939
2940 * Makefile.am: Add rand.c and etime.c
2941 * Makefile.in: Regenerated.
2942 * aclocal.in: Regenerated.
2943 * cpu_time.c (second_sub, second): New functions.
2944 * rand.c (irand, rand, srand): New file.
2945 * etime.c (etime_sub, etime): New file.
2946
2947 2004-06-12 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
2948 Steven Bosscher <stevenb@suse.de>
2949
2950 PR fortran/14923
2951 * intrinsics/date_and_time.c: New file.
2952 * Makefile.am (gfor_helper_src): Add intrinsics/date_and_time.c.
2953 * Makefile.in, aclocal.m4: Regenerate.
2954 * libgfortran.h: Prototype date_and_time().
2955
2956 2004-06-12 Bud Davis <bdavis9659@comcast.net>
2957
2958 PR fortran/15665
2959 * intrinsics/args.c: Implement GETARG and IARGC.
2960 * Makefile.am: Add it.
2961 * Makefile.in: Regenerate.
2962
2963 2004-06-12 Bud Davis <bdavis9659@comcast.net>
2964
2965 PR gfortran/12839
2966 * io/write.c(write_float): Format inf and nan IAW F2003.
2967
2968 2004-06-09 Bud Davis <bdavis9659@comcaste.net>
2969
2970 PR gfortran/14897
2971 * io/transfer.c (formatted_transfer): position is unique
2972 for T and TL edit descriptors.
2973 (data_transfer_init): set record length to size of internal
2974 file.
2975
2976 2004-06-09 Bud Davis <bdavis9659@comcast.net>
2977
2978 PR gfortran/15755
2979 * io/backspace.c(st_backspace): call correct routine for
2980 formatted and un-formatted units.
2981
2982 2004-05-30 Andreas Jaeger <aj@suse.de>, Steven Bosscher <stevenb@suse.de>
2983
2984 PR gfortran/11800
2985 * Makefile.am (AM_CPPFLAGS): Renamed from INCLUDES.
2986 (lib_LTLIBRARIES): Rename to ...
2987 (toolexeclib_LTLIBRARIES): this for multilib support.
2988 * configure.in: Rename to ...
2989 * configure.ac: this. Update to modern autoconf style, enable
2990 multilibs, support --enable-version-specific-runtime-libs.
2991 * Makefile.in: Regenerated.
2992 * configure: Regenerated.
2993 * aclocal.m4: Regenerated.
2994
2995 2004-05-30 Steven G. Kargl <kargls@comcast.net>
2996
2997 * libgfortran.h (random_seed): Update prototype.
2998 * intrinsics/random.c: Disable old implementation and add new one.
2999
3000 2004-05-30 Andreas Jaeger <aj@suse.de>
3001
3002 * intrinsics/random.c: Include unistd.h for close and read
3003 prototypes, remove unneeded inclusion of assert.h.
3004
3005 * intrinsics/abort.c: Include stdlib.h for abort prototype, remove
3006 unneeded inclusion of assert.h.
3007
3008 2004-05-27 Tobias Schlueter <tobias.shclueter@physik.uni-muenchen.de>
3009
3010 PR fortran/15234
3011 * intrinsics/associated.c: Remove enum.
3012 (associated): Replace TRUE/FALSE by 1/0.
3013
3014 2004-05-23 Steven G. Kargl <kargls@comcast.net>
3015
3016 * random.c (random_seed): Use correct variable.
3017
3018 2004-05-22 Steven G. Kargl <kargls@comcast.net>
3019
3020 * intrinsics/system_clock: New file.
3021 * Makefile.am: Add intrinsics/system_clock.c.
3022 * Makefile.in: Regenerate.
3023
3024 2004-05-21 Roger Sayle <roger@eyesopen.com>
3025
3026 * io/format.c (parse_format_list): Allow the comma after a string
3027 literal to be optional.
3028
3029 2004-05-18 Paul Brook <paul@codesourcery.com>
3030 Feng Wang <fengwang@nudt.edu.cn>
3031
3032 * Makefile.am (i_pow_c): Set it. Add build rule.
3033 (gfor_built_src): Use it.
3034 (m4_files): add m4/pow.m4.
3035 * Makefile.in: Regenerate.
3036 * m4/pow.m4: New file.
3037 * generated/pow_*.c: Regenerate.
3038
3039 2004-05-18 Paul Brook <paul@codesourcery.com>
3040
3041 * Makefile.am: Remove references to types.m4.
3042 * m4/iparm.m4: Merge with types.m4.
3043 * m4/types.m4: Remove.
3044 * m4/cshift1.m4, m4/dotprod.m4, m4/dotprodc.m4, m4/dotprodl.m4,
3045 m4/eoshift1.m4, m4/eoshift3.m4, m4/iforeach.m4, m4/ifunction.m4,
3046 m4/in_pack.m4, m4/in_unpack.m4, m4/iparm.m4, m4/matmul.m4,
3047 m4/matmull.m4, m4/maxloc0.m4, m4/maxloc1.m4, m4/maxval.m4,
3048 m4/minloc0.m4, m4/minloc1.m4, m4/minval.m4, m4/reshape.m4,
3049 m4/shape.m4, m4/specific.m4, m4/specific2.m4, m4/transpose.m4):
3050 Update to use new iparm.m4.
3051 * generated/*.c: Regenerate.
3052
3053 2004-05-18 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
3054
3055 PR fortran/15235
3056 * gfortran.h (offset_t): Rename to ...
3057 (gfc_offset): ... this.
3058 * io/backspace.c (formatted_backspace, unformatted_backspace),
3059 io/io.h (stream, gfc_unit, global_t, file_length, file_position),
3060 transfer.c (us_read, us_write, next_record_r, next_record_w),
3061 io/unit.c (init_units), unix.c (unix_stream, fd_alloc,
3062 fd_alloc_r_at, fd_alloc_w_at, fd_seek, mmap_alloc,
3063 mmap_alloc_r_at, mmap_alloc_w_at, mmap_seek, mem_alloc_r_at,
3064 mem_alloc_w_at, mem_seek, file_length, file_position): Replace all
3065 occurences of offset_t by gfc_offset.
3066
3067 2004-05-16 Paul Brook <paul@codesourcery.com>
3068
3069 * io/format.c (write_real): Don't include padding in format.
3070
3071 2004-05-16 Paul Brook <paul@codesourcery.com>
3072
3073 * io/format.c (format_lex): Make c an int.
3074
3075 2004-05-16 Janne Blomqvist <jblomqvi@cc.hut.fi>
3076 Paul Brook <paul@codesourcery.com>
3077
3078 * io/write.c (write_logical): Don't print extra blank.
3079 (write_integer): Base field width on kind.
3080 (list_formatted_write): Output initial blank.
3081
3082 2004-05-16 Janne Blomqvist <jblomqvi@cc.hut.fi>
3083
3084 * io/io.h (flush): Add prototype.
3085 * io/transfer.c (finalize_transfer): Flush partial records.
3086 * io/unix.c (flush): New function.
3087
3088 2004-05-15 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
3089
3090 PR fortran/15234
3091 * io/io.h (unit_t): Rename to ...
3092 (gfc_unit) ... this.
3093 (unit_root, current_unit, find_file, find_unit, get_unit): Now
3094 of type gfc_unit.
3095 (delete_file, insert_unit, close_unit): Argument now of type
3096 gfc_unit.
3097 * backspace.c (st_backspace), close.c (st_close), endfile.c
3098 (st_endfile), inquire.c (inquire_via_unit, st_inquire), open.c
3099 (test_endfile, edit_modes, new_unit, already_open, st_open),
3100 rewind.c (st_rewind), transfer.c (current_unit), unit.c
3101 (internal_unit, unit_cache, rotate_left, rotate_right, insert,
3102 insert_unit, delete_root, delete_treap, delete_unit, find_unit,
3103 get_unit, init_units, close_unit), unix.c (find_file0,
3104 find_file, delete_file): Replace all occurences of unit_t by
3105 gfc_unit.
3106
3107 2004-05-15 Bud Davis <bdavis9659@comcast.net>
3108
3109 PR fortran/15311
3110 * io/write.c (write_a): right justify A edit output.
3111
3112 2004-05-14 Bud Davis <bdavis9659@comcast.net>
3113
3114 PR fortran/15149
3115 * libgfortan.h,intrinsics/random.c: Made random_seed visible.
3116 * runtime/main.c(init): Call random_seed as part of MAIN init.
3117
3118 2004-05-13 Tobias Schlter <tobias.schlueter@physik.uni-muenchen.de>
3119
3120 * io/format.c: (parse_format_list): No comma is required after
3121 P descriptor.
3122
3123 2004-05-13 Bud Davis <bdavis9659@comcast.net>
3124
3125 PR fortran/15204
3126 * io/intrinsic/string_intrinsics.c (adjustr): rework logic.
3127
3128 2004-05-06 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
3129 Steven Bosscher <stevenb@suse.de>
3130
3131 PR libfortran/15234
3132 * libgfortran.h: Include <inttypes.h> if available.
3133
3134 2004-05-03 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
3135
3136 * io/unix.c (MAP_FAILED): Define if missing.
3137 (mmap_alloc): Cast MAP_FAILED to char *.
3138 (mmap_open): Likewise.
3139
3140 2004-04-26 Bud Davis <bdavis9659@comcast.net>
3141
3142 * generated/_abs_i8.f90: New file.
3143 * generated/_abs_c4.f90: New file.
3144 * generated/_abs_c8.f90: New file.
3145 * Makefile.am: Add them.
3146 * Makefile.in: Regenerate.
3147 `
3148 2004-04-26 Bud Davis <bdavis9659@comcast.net>
3149
3150 PR fortran/14056
3151 * generated/_abs_i4.f90: New file.
3152 * Makefile.am: Add it.
3153 * Makefile.in: Regenerate.
3154
3155 2004-04-25 Bud Davis <bdavis9659@comcast.net>
3156
3157 PR fortran/14942
3158 * io/list_read.c(list_formatted_read): finish consuming the
3159 spaces and seperators at eoln to get ready for next item.
3160
3161 2004-04-23 Bud Davis <bdavis9659@comcast.net>
3162
3163 PR fortran/15113
3164 * io/read.c(read_a): Handle field width > destination and no field width.
3165
3166 2004-04-22 Bud Davis <bdavis9659@comcast.net>
3167
3168 PR fortran/14906
3169 * io/format.c (format_item): gracefully handle a ')'
3170 when it is the first character encountered in the string.
3171
3172 2004-04-11 Bud Davis <bdavis9659@comcast.net>
3173
3174 PR fortran/14904
3175 * io/transfer.c (next_record): Update last_record when
3176 more than one record is written to a direct access file
3177 with one write statement.
3178
3179 2004-04-11 Bud Davis <bdavis9659@comcast.net>
3180
3181 PR fortran/14901
3182 * io/transfer.c (next_record_w) : No '\n' if internal.
3183 * io/unix.c (empty_internal_buffer) : Init to spaces, not '\n'.
3184
3185 2004-04-11 Bud Davis <bdavis9659@comcast.net>
3186
3187 * io.h (ioparm): Interface from FE is 32 bit, irregardless of offset_t.
3188 Will need to change this later to support direct access files > 2gb.
3189
3190 2004-04-03 Bud Davis <bdavis9659@comcast.net>
3191
3192 PR gfortran/14762
3193 * io/transfer.c (next_record_r) : Skip to next record.
3194
3195 2004-04-03 Bud Davis <bdavis9659@comcast.net>
3196
3197 PR gfortran/14836
3198 * io/transfer.c (next_record): Update last_record for DIRECT
3199
3200 2004-04-03 Bud Davis <bdavis9659@comcast.net>
3201
3202 PR gfortran/14837
3203 * io/unix.c (find_file0): Use fd field of struct
3204
3205 2004-04-03 Bud Davis <bdavis9659@comcast.net>
3206
3207 PR 14831
3208 * io/inquire.c (inquire_via_unit): Changed return string for
3209 BLANK=NULL. Use correct variable for ACTION.
3210
3211 2004-04-01 Bud Davis <bdavis9659@comcast.net>
3212
3213 PR 14746
3214 * io/read.c (read_f): Allow a decimal without a leading digit.
3215 * io/write.c (output_float): remove a leading '0' to keep from
3216 overflowing the field (F edit descriptor).
3217
3218 2004-04-01 Bud Davis <bdavis9659@comcast.net>
3219
3220 PR gfortran/14565
3221 * io/open.c (new_unit),
3222 * io/io.h : new_unit is now visible
3223 * io/transfer.c (data_transfer_init): open unit if no OPEN statement.
3224 * io/transfer.c (data_transfer_init): remove compile warnings.
3225 * io/rewind.c (st_rewind): ftruncate if writing.
3226
3227 2004-03-24 Bud Davis <bdavis9659@comcast.net>
3228
3229 * write.c (write_l): Use extract_int for 'L' edit descriptor.
3230
3231 2004-03-24 Bud Davis <bdavis9659@comcast.net>
3232
3233 PR 13919
3234 * io/io.h (global_t):
3235 * io/list_read.c (next_char,list_formatted_read,ist_formatted_read):
3236 Move eof_jmp to a global structure.
3237 * io/transfer.c(finalize_transfer) : Set up eof_jump for callers.
3238
3239 2004-03-24 Bud Davis <bdavis9659@comcast.net>
3240
3241 * m4/cexp.m4 (csqrt): Actually use the passed value.
3242 * generated/exp_c?.c: Regenerate.
3243
3244 2004-03-24 Bud Davis <bdavis9659@comcast.net>
3245
3246 PR 12921
3247 * io.h, transfer.c, open.c : recl_in changed from ptr to variable.
3248 * open.c (new_unit): Moved test for positioned direct access error.
3249 (init_units): Corrected calculation of max records.
3250
3251 2004-02-06 Feng Wang <fengwang@nudt.edu.cn>
3252
3253 * Makefile.am: Add m4/dotprodc.m4. And fix spelling.
3254 * Makefile.in: Regenerate.
3255 * m4/dotprodc.m4: New file. Implement complex dot_product.
3256 * m4/dotprod.m4: Delete the complex implementation.
3257 * generated/dotprod_*: Update.
3258
3259 2004-02-07 Bud Davis <bdavis9659@comcast.net>
3260
3261 * transfer.c (write_constant_string): Do not delete H's in hollerith
3262 formats.
3263
3264 2004-01-05 Andrew Pinski <apinski@apple.com>
3265
3266 * configure.in: Check for csin in -lmx also.
3267 * configure: Regenerate.
3268
3269 2004-01-01 Paul Brook <paul@codesourcery.com>
3270
3271 * io/list_read.c (find_nml_node): Make static.
3272 (match_namelist_name): Ditto.
3273 * io/read.c (convert_precision_real): Make static, fix spelling.
3274 * io/transfer.c (extract_real): Remove unused prototype.
3275 (st_set_nml_var): Make static.
3276 * io/write.c (extract_real): Make static.
3277
3278 2003-12-12 Huang Chun <chunhuang73@hotmal.com>
3279
3280 * intrinsics/string_intrinsics.c (string_index): Fix logics thinko.
3281
3282 2003-12-05 Melvin Hadasht <melvin.hadasht@free.fr>
3283
3284 * io/transfer.c (data_transfer_init): Give a runtime error for list
3285 formatted reads and writes from/to files opened for unformatted IO.
3286
3287 2003-11-30 Paul Brook <paul@nowt.org>
3288
3289 * runtime/memory.c (push_context): Remove.
3290 (pop_context): Remove.
3291 * libgfortran.h: Remove prototypes.
3292
3293 2003-11-27 Paul Brook <paul@nowt.org>
3294
3295 * runtime/memory.c (deallocate): Nullify pointer after freeing.
3296
3297 2003-11-27 Paul Brook <paul@nowt.org>
3298
3299 * intrinsics/string_intrinsics.c: Use new memory allocation interface.
3300 * libgfortran.h: Ditto.
3301 * m4/in_pack.m4: Ditto.
3302 * runtime/in_pack_generic.c: Ditto.
3303 * runtime/memory.c: Ditto.
3304
3305 2003-11-26 Richard Henderson <rth@redhat.com>
3306
3307 * m4/exponent.m4, m4/fraction.m4: New.
3308 * m4/nearest.m4, m4/set_exponent.m4: New.
3309 * generated/*: Update.
3310 * Makefile.am: Add them.
3311 (AM_CFLAGS): New. Use -std=gnu99.
3312 * Makefile.in: Regenerate.
3313
3314 2003-11-08 Paul Brook <paul@nowt.org>
3315
3316 PR fortran/12704
3317 * m4/maxloc0.m4: Use default value of 1. Handle zero sized arrays.
3318 * m4/maxloc1.m4: Ditto.
3319 * m4/minloc0.m4: Ditto.
3320 * m4/minloc1.m4: Ditto.
3321 * m4/ifunction.m4: Set return value for zero sized arrays.
3322 * m4/iforeach.m4: Ditto.
3323 * m4/all.m4, m4/any.m4, m4/count.m4, m4/maxloc1.m4, m4/minloc1.m4,
3324 m4/mxaval.m4, m4/minval.m4, m4/product.m4, m4/sum.m4: Ditto.
3325 * generated/*: Update.
3326
3327 2003-10-30 Toon Moene <toon@moene.indiv.nluug.nl>
3328
3329 PR fortran/12702
3330 * io/list_read.c (eat_spaces): Treat tab as space.
3331
3332 2003-10-30 Lars Segerlund <Lars.Segerlund@comsys.se>
3333
3334 * intrinsics/random.c: Add reference to paper containing algorithm.
3335 (random_seed): Extra error checking and proper handling of arrays.
3336 (arandom_r4, arandom_r8): Implement.
3337
3338 2003-10-29 Toon Moene <toon@moene.indiv.nluug.nl>
3339
3340 PR fortran/12703
3341 * runtime/memory.c (allocate_size): Allow allocation
3342 of zero-sized objects.
3343
3344 2003-10-29 Toon Moene <toon@moene.indiv.nluug.nl>
3345
3346 PR fortran/12701
3347 * open.c (new_unit): Open without a file name opens
3348 a file with name fort.<unit>.
3349
3350 2003-10-12 Feng Wang <wf_cs@yahoo.com>
3351
3352 * intrinsics/cshift0.c: New file.
3353 * m4/cshift1.m4: New file
3354 * generated/cshift*.c: New files.
3355 * Makefile.am: Add them.
3356 * Makefile.in: Regenerate.
3357
3358 2003-10-12 XiaoQiang Zhang <zhangapache@yahoo.com>
3359
3360 * io/list_read.c (read_character): Remove unwanted call to free_saved.
3361
3362 2003-10-11 Huang Chun <jiwang@mail.edu.cn>
3363
3364 * intrinsics/string_intrinsics.c (string_trim): New function.
3365 (string_repeat): New function.
3366
3367 2003-10-11 Paul Brook <paul@nowt.org>
3368
3369 * intrinsics/dprod_r8.f90: New file.
3370 * Makefile.am (gfor_specific_src): Add it.
3371 (gfor_built_specific_src): Rename from gfor_build_specific_c.
3372 Add new intrinsics.
3373 (gfor_specific2_src): Rename from gfor_built_specific2_c.
3374 Add new intrinsics.
3375 * Makefile.in: Regenerate.
3376 * generated/_aint_*.f90: New files.
3377 * generated/_anint*.f90: New files.
3378 * generated/_atan2*.f90: New files.
3379 * generated/_mod*.f90: New files.
3380
3381 2003-09-20 Kejia Zhao <kejia_zh@yahoo.com.cn>
3382
3383 * intrinsics/selected_kind.f90: New file.
3384 * Makefile.am: Add it.
3385 * Makefile.in: regenerate.
3386
3387 2003-09-19 Lars Segerlund <Lars.Segerlund@comsys.se>
3388 Paul Brook <paul@nowt.org>
3389
3390 * intrinsics/random.c: New file.
3391 * Makefile.am (gfor_hemper_src): Add it.
3392 (gfor_specific_c): Fix typo.
3393
3394 2003-09-19 Paul Brook <paul@nowt.org>
3395
3396 * All: rename g95->gfc.
3397
3398 2003-09-18 XiaoQiang Zhang <zhangapache@yahoo.com>
3399
3400 * io/write.c (output_float): Fix bug of FMT_E, Add comments.
3401
3402 2003-09-09 XiaoQiang Zhang <zhangapache@yahoo.com>
3403
3404 * io/write.c (write_float): Dectection of positive infinite number,
3405 Not a Number(NaN) and negative infinite number.
3406 (ioutput_float): Bug fix for FMT_E and FMT_D processing to
3407 output a very_very small number ( < 0.1e-100 ).
3408
3409 2003-09-07 XiaoQiang Zhang <zhangapache@yahoo.com>
3410
3411 * libgfortran.h (xtoa, itoa): Parameter modified.
3412 * io/io.h (namelist_info): Declaration to support namelist I/O
3413 (st_parameter): Add namelist related component
3414 (ionml, empty_internal_buffer, st_set_nml_var_int,
3415 st_set_nml_var_float, st_set_nml_var_char, st_set_nml_var_complex,
3416 st_set_nml_var_log): Declaration
3417 (set_integer, set_integer): Parameter changed
3418 * io/format.c (free_nodes): Fix annoying bug of lefting "deallocated"
3419 fnodes
3420 (parse_format_list): Fix bug about FMT_SLASH
3421 * io/list_read.c (push_char): Totally clear old saved_string, zeroize
3422 newly allocated saved_string
3423 (next_char): Add detection of End_Of_Line support
3424 (convert_integer): Now can process 64 bits interger
3425 (read_real): Bug fixed
3426 (init_at_eol, find_nml_node, match_namelist_name): Add new functions
3427 (match_namelist_name): New implemention
3428 * io/lock.c (ionml): New global variable
3429 (library_end): Free memory in ionml
3430 * io/open.c (st_open): Variable initializtion
3431 * io/read.c (max_value): 64 bits interger support
3432 (convert_precsion_real): New procedure to replace "strtod" with more
3433 features
3434 (read_f, read_radix): Input bug fix
3435 * io/transfer.c: (sf_seen_eor): New static variable
3436 (read_sf): Zeroize base buffer; fix bugs: single read statement can
3437 not get input in mutli line when read from stdin
3438 (formatted_transfer): Fix bug of FMT_O, FMT_B, FMT_Z for INTEGER type
3439 request
3440 (data_transfer_init): Clear internal buffer for Internel File I/O.
3441 Internal File now worked. Detect some error condition for namelist.
3442 Some minor bug fix
3443 (next_record_w): Internal file and Namelist I/O support.
3444 (st_set_nml_var, st_set_nml_var_float, st_set_nml_var_char,
3445 st_set_nml_var_complex, st_set_nml_var_log): Implemention.
3446 * io/unit.c (implicit_unit): Deletion
3447 (get_unit): Now cannot open a unit implicitly.
3448 * io/unix.c (mmap_alloc): Fix fatal error in calculating the length of
3449 mapped buffer.
3450 (mem_alloc_r_at): Internal file I/O support added
3451 (empty_internal_buffer): New function
3452 * io/write.c (extract_int): Support 64 bits interger processing
3453 (output_float): Varibale initialization
3454 (write_float): Infinite real number detection.
3455 (write_int): 64 bits integer I/O support
3456 (write_decimal): New function to output decimal number
3457 (otoa, btoa): Better implemention and 64 bits interger support
3458 (namelist_write): New function
3459 * runtime/error.c (itoa, xtoa): Better implemention and 64 bits
3460 interger support
3461
3462 2003-08-15 Arnaud Desitter <arnaud.desitter@geography.oxford.ac.uk>
3463
3464 * libgfortran.h (os_error, runtime_error,internal_error, sys_exit,
3465 get_mem ): Add attribute.
3466 * intrinsics/spread_generic.c (__spread): Fix spelling.
3467 * io/inquire.c (inquire_via_filename): Add const.
3468 * io/io.h (sys_exit): Add attribute.
3469 * io/io.h (move_pos_offset): Add move_pos_offset.
3470 * io/io.h (compare_file_filename, inquire_sequential, inquire_direct,
3471 inquire_formatted, inquire_unformatted, inquire_read, inquire_write,
3472 inquire_readwrite, convert_real, write_a, write_b, write_d, write_e,
3473 write_en, write_es, write_f, write_i, write_l, write_o, write_x,
3474 write_z): Add const.
3475 * io/read.c (convert_real): Add const.
3476 * io/transfer.c (type_name): Add const.
3477 * io/unix.c (unpack_filename, compare_file_filename,inquire_sequential,
3478 inquire_direct, inquire_formatted, inquire_unformatted, inquire_access,
3479 inquire_read, inquire_write, inquire_readwrite): Add const.
3480 * io/write.c (output_float): Remove unused variable.
3481 * io/write.c (write_a, extract_int, extract_real, output_float,
3482 write_float, write_int, write_i, write_b, write_o, write_z, write_d,
3483 write_e, write_f, write_en, write_es, write_logical, write_integer,
3484 write_character, write_real, write_complex): Add const.
3485 * runtime/error.c (rtoa): Remove unused variable.
3486 * runtime/select.c (select_string): Add const.
3487 * runtime/stop.c (stop_string): Add const.
3488
3489 2003-08-10 Paul Brook <paul@nowt.org>
3490
3491 * Makefile.am (gfor_helper_src): Add intrinsics/abort.c.
3492 (FFLAGS): Add -fno-underscoring.
3493 * Makefile.in: Regenerate.
3494 * intrinsics/abort.c: New file.
3495
3496 2003-08-10 Erik Schnetter <schnetter@uni-tuebingen.de>
3497
3498 * fmain.c (main): Do not call init and cleanup; call set_args instead.
3499 * libgfortran.h (init, cleanup): Remove declarations.
3500 (set_args): Add declaration.
3501 * runtime/main.c (init, cleanup): Make them static, and give them
3502 the constructor and destructor attributes.
3503 (set_args): New function.
3504
3505 2003-08-10 Paul Brook <paul@nowt.org>
3506
3507 * intrinsics/strinf_intrinsics.c (compare_string): Return value based
3508 on which string is longest.
3509
3510 2003-08-10 Paul Brook <paul@nowt.org>
3511
3512 * Makefile.am (EXTRA_DIST): Remove old files.
3513 * Makefile.in: Regenerate.
3514
3515 2003-07-26 Paul Brook <paul@nowt.org>
3516
3517 Rename library to libgfortran.
3518 * libgfortran.h: Change prefix to _libgfortran_.
3519
3520 2003-07-24 Paul Brook <paul@nowt.org>
3521
3522 * configure.in: Don't pull in system libtool. Use toplevel
3523 auxiliary files.
3524
3525 2003-07-22 Paul Brook <paul@nowt.org>
3526
3527 Regenerate all configury files.
3528
3529 2003-07-09 Chun Huang <compiler@sohu.com>
3530
3531 * intrinsics/string_intrinsic.c (string_scan): New function.
3532 (string_verify): New function.
3533
3534 2003-06-25 Paul Brook <paul@nowt.org>
3535
3536 * io/unix.c (mem_alloc_r_at, mem_alloc_w_at): Advance logical_offset.
3537 (mem_seek): Don't bother setting physical_offset.
3538
3539 2003-06-20 Paul Brook <paul@nowt.org>
3540
3541 * libgfor.h (stop_numeric): Declare.
3542 * runtime/pause.c: New file.
3543 * Makefile.am: Add it.
3544
3545 2003-06-08 Paul Brook <paul@nowt.org>
3546
3547 * m4/cexp.m4 (cabs): Use correct typed version.
3548 (csqrt): New function.
3549
3550 2003-06-07 Canqun Yang <canqun@yahoo.com.cn>
3551
3552 Spotted by Benjamin and Tobias:
3553 * io/list_read.c: Add Separator '\t'.
3554 (parse_real, read_real): Accept real values starting with an optional
3555 sign follows a decimal point.
3556
3557 2003-06-06 Steven Bosscher <steven@gcc.gnu.org>
3558
3559 * Makefile.am: Don't put cmath objects in subdir.
3560 * configure.in: Rename MATHOBJ to MATH_OBJ.
3561
3562 2003-06-02 Kejia Zhao <Kejia_zh@yahoo.com.cn>
3563
3564 * intrinsics/associated.c: New file.
3565 * Makefile.am: Add it. Regenerate Makefile.in.
3566 * libgfor.h: Define g95_array_void, G95_DESCRIPTOR_DATA, and
3567 G95_DESCRIPTOR_DTYPE.
3568
3569 2003-06-01 Canqun Yang <canqun@yahoo.com.cn>
3570
3571 * io/write.c (calcuate_exp): Rewrite it to avoid overflow.
3572 (calculate_G_format): Rewrite it to eliminate an infinte loop and set
3573 the scale_factor to 0 for F editing.
3574
3575 2003-05-11 Tobias Schlter <innenminister@gmx.de>
3576
3577 * libgfor.h: Only include stdint.h if it exists.
3578
3579 2003-05-07 Paul Brook <paul@nowt.org>
3580
3581 * libgfor.h: Use stdint.h types.
3582 * intrinsics/ishift.c: Ditto.
3583 * runtime/memory.c (malloc_t): Reorder fields for better alignment.
3584
3585 2003-05-05 Steven Bosscher <steven@gcc.gnu.org>
3586
3587 * libgfor.h (offsetof): Define if nobody else does.
3588 * runtime/memory.c (HEADER_SIZE): Use it.
3589
3590 2003-05-01 Tobias Schlter <innenminister@gmx.de>
3591
3592 * configure.in: Require autoconf 2.54.
3593
3594 2003-04-28 Tobias Schlter <innenminister@gmx.de>
3595 Paul Brook <paul@nowt.org>
3596
3597 * intrinsics/reshape_generic.c: Copy the whole element, not just the
3598 first byte.
3599 * m4/transpose.m4: New file.
3600 * Makefile.am: Add them.
3601 Regenerate generated files.
3602
3603 2003-04-18 Steven Bosscher <steven@gcc.gnu.org>
3604
3605 * io/format.c (parse_format_list): Allow 'X' without integer
3606 prefix. This is an extension. Interpretation is '1X'.
3607
3608 2003-04-18 Tobias Schlter <Tobias.Schlueter@physik.uni-muenchen.de>
3609
3610 * io/format.c (parse_format_list): Allow '0P'.
3611
3612 2003-04-18 Steven Bosscher <steven@gcc.gnu.org>
3613
3614 * Makefile.in: Re-regenerate for automake 1.7.3.
3615
3616 2003-04-18 Canqun Yang <canqun@yahoo.com.cn>
3617
3618 Port implementation for CHARACTER SELECT from Andy's tree.
3619 * runtime/select.c: New file
3620 * Makefile.am: Add it.
3621 * Makefile.in: Regenerate.
3622
3623 2003-04-17 Xiaoqiang Zhang <zhangapache@yahoo.com>
3624
3625 * io/transfer.c (formatted_transfer): Modified
3626 * io/unix.c (move_pos_offset): New Function.
3627 * io/format.c (parse_format_list): Modified.
3628
3629 2003-04-15 Xiaoqiang Zhang <zhangapache@yahoo.com>
3630
3631 * io/write.c (write_float,write_real): New implemention of
3632 FMT_G and default float editing.
3633 (calculate_exp,calculate_G_format,output_float): New Function.
3634 (write_float,write_real,write_logical): Modified
3635 * libgfor.h (default_rtoa): Remove Declaration.
3636 * runtime/error.c (default_rtoa): Remove Function.
3637
3638 2003-04-15 Steven Bosscher <steven@gcc.gnu.org>
3639
3640 Spotted by Yang:
3641 * io/write.c (extract_real): Add missing break statement.
3642
3643 2003-04-13 Steven Bosscher <steven@gcc.gnu.org>
3644
3645 * cpu_time.c: Make sure we have a definition of HZ. Don't
3646 rely on CLOCKS_PER_SEC, it is always 1000000, on any system.
3647
3648 2003-04-13 Steven Bosscher <steven@gcc.gnu.org>
3649 Paul Brook <paul@nowt.org>
3650
3651 * configure.in: Check for process time headers and GETTIMEOFDAY.
3652 * makefile.am: Add intrinsics/cpu_time.c.
3653 * acinclude.m4: New file.
3654 * intrinsics/cpu_time.c: New file.
3655 * m4/dotprodl.m4: Fix typo.
3656 Regenerate generated files.
3657
3658 2003-04-11 Xiaoqiang Zhang <zhangapache@yahoo.com>
3659
3660 * io/write.c (extract_real): Ouput floating point value.
3661 (write_float): New Function.
3662 (write_e, write_f, write_en, write_es): Modified
3663 * io/transfer.c (formatted_transfer): Modified.
3664 * libgfor.h (default_rtoa): Declaration.
3665 (rtoa): Declaration.
3666 * runtime/error.c (default_rtoa): New Function.
3667 (rtoa): New Function.
3668
3669 2003-04-05 Paul Brook <paul@nowt.org>
3670
3671 * intrinsics/spread_generic.c: New file.
3672 * Makefile.am: Add it. Regenerate Makefile.in.
3673
3674 2003-03-29 Paul Brook <paul@nowt.org>
3675
3676 * intrinsics/pack_generic.c: New file.
3677 * intrinsics/unpack_generic.c: New file.
3678 * Makefile.am: Add them. Regenerate Makefile.in.
3679
3680 2003-03-25 Paul Brook <paul@nowt.org>
3681
3682 * intrinsics/eoshift0.c: New file.
3683 * intrinsics/eoshift2.c: New file.
3684 * m4/eoshift1.m4: New file.
3685 * m4/eoshift3.m4: New file.
3686 * Makefile.am: Add them.
3687 * in_unpack_generic.c: Initialize src.
3688 Regenerate generated files.
3689
3690 2003-03-14 Paul Brook <paul@nowt.org>
3691
3692 * m4/shape.m4: Work properly with array temporaries.
3693 * m4/in_pack.m4: Skip redundant checks for array temporaries.
3694 * runtime/in_pack_generic.c: Ditto.
3695
3696 2003-03-12 Paul Brook <paul@nowt.org>
3697
3698 * m4/shape.m4: Work properly with noncontiguous arrays.
3699
3700 2003-03-08 Paul Brook <paul@nowt.org>
3701
3702 * m4/in_pack.m4: Correctly handle zero sized and assumed size arrays.
3703 * runtime/in_pack_generic.c: Ditto.
3704
3705 2003-02-08 Paul Brook <paul@nowt.org>
3706
3707 * intrinsics/reshape_generic.c: Use runtime_error to report errors.
3708 * io/close.c (st_close): Return void.
3709 * io/open.c (st_open): Return void.
3710 * libgfor.h (g95_array_char): Declare.
3711 (internal_malloc_size): Ditto.
3712 (internal_pack*, internal_unpack*): Ditto.
3713 * m4/in_pack.m4: Allocate storage if neccessary. Fix logic for packed
3714 arrays.
3715 * m4/in_unpack.m4: Include file fixes.
3716 * m4/reshape.m4: Increment the correct source pointer.
3717 * Makefile.am (maxloc): Fix typo.
3718 * runtime/in_pack_generic.c: Call optimized functions. Allocate
3719 storage if neccessary. Fix logic for packed arrays.
3720 * runtime/in_unpack_generic.c: Call optimized functions.
3721 * runtime/main.c: Use runtime_error to report errors.
3722 * memory.c (internal_malloc_size): Make non-static.
3723
3724 2003-02-02 Arnaud Desitter <arnaud.desitter@geography.oxford.ac.uk>
3725
3726 * reshape_packed.c, lock.c: Add #include <string.h>.
3727 * libgfor.h, format.c, inquire.c, io.h, transfer.c, unix.c,
3728 environ.c, error.c, memory.c, string.c: Add const.
3729 * error.c (show_locus): Add void.
3730
3731 2003-02-21 Paul Brook <paul@nowt.org>
3732
3733 * m4/in_pack.m4: Avoid returning const * parameter.
3734 * Makefile.am: Only regenerate files in maintainer mode.
3735
3736 2003-02-20 Paul Brook <paul@nowt.org>
3737
3738 Add array repacking support functions.
3739 * m4/in_pack.m4, m4/in_unpack.m4: New files.
3740 * runtime/in_pack_generic.c, runtime/in_unpack_generic.c: New files.
3741 * Makefile.am: Build them. Regenerate configury files.
3742 * generated/: New directory for generated files (need to move
3743 everything else there).
3744
3745 2003-02-07 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
3746
3747 * m4/cexp.m4: Fix typo.
3748
3749 2003-01-26 Paul Brook <paul@nowt.org>
3750
3751 * intrinsics/: Add missing generated files.
3752
3753 2003-01-26 Paul Brook <paul@nowt.org>
3754
3755 * Makefile.am: Put -I before the filename.
3756
3757 2003-01-24 Paul Brook <paul@nowt.org>
3758
3759 * configure.in: Add AM_MAINTAINER_MODE.
3760
3761 2003-01-23 Paul Brook <paul@nowt.org>
3762
3763 * configure.in, Makefile.am: Modify to work with unmodified autoconf
3764 and auotmake.
3765 Also regenerate other configury files.
3766
3767 2003-01-21 Paul Brook <paul@nowt.org>
3768
3769 * io/read.c: Don't use stdint.h, it doesn't exist on cygwin.
3770
3771 2003-01-20 Steven Bosscher <s.bosscher@student.tudelft.nl>
3772
3773 * io/read.c (read_f): Don't use alloca, but safe get_mem instead.
3774 Don't include "alloca.h".
3775
3776 2003-01-20 Steven Bosscher <s.bosscher@student.tudelft.nl>
3777
3778 * intrinsics/string.c: Rename to intrinsics/string_intrinsics.c.
3779 * Makefile.am: Adjust file name.
3780 * Makefile.in: Regenerate.
3781 * gfortypes.h: Kill, include everything in...
3782 * libgfor.h: ...here. Include config.h
3783 * fmain.c, intrinsics/ishftc.c, intrinsic/reshape_generic.c,
3784 intrinsics/reshape_i4.c, intrinsics/reshape_i8.c,
3785 intrinsics/reshape_packed.c, intrinsics/size.c,
3786 m4/reshape.m4, runtime/main.c, runtime/memory.c: Use macro
3787 for prefix for all functions instead of hardcoded.
3788
3789 2003-01-19 Steven Bosscher <s.bosscher@student.tudelft.nl>
3790
3791 * io/lock.c (library_end): Propagate library return
3792 code.
3793
3794 2003-01-19 Steven Bosscher <s.bosscher@student.tudelft.nl>
3795
3796 Port fixes from Andy's tree:
3797 * io/read.c (read_decimal): Reverse sense of overflow
3798 comparison during integer reads.
3799 * io/format.c (revert): Fix comment.
3800 (next_format): Fix format revision.
3801 * io/unix.c: Fix and simplify mmap version of stream
3802 functions.
3803
3804 2003-01-11 Paul Brook <paul@nowt.org>
3805
3806 * configure, Makefile.in: Regenerate.
3807
3808 2003-01-11 Paul Brook <paul@nowt.org>
3809
3810 * runtime/stop.c: Rewrite.
3811
3812 2003-01-08 Paul Brook <paul@nowt.org>
3813
3814 * configure, Makefile.in: Regenerate.
3815
3816 2003-01-05 Paul Brook <paul@nowt.org>
3817
3818 * (*.m4) Move to m4/.
3819 * intrinsics/string.c (_gfor_string_index): New Function.
3820
3821 2002-12-29 Paul Brook <paul@nowt.org>
3822
3823 * intrinsics/reshape.*: New files.
3824 * gcc_config.patch: Update to new GCC configure system.
3825
3826 2002-10-10 Paul Brook <paul@nowt.org>
3827
3828 * intrinsics/size.c: New file.
3829 * intrinsics/shape.m4: New file.
3830 * Makefile.am: Add above files.
3831
3832 2002-10-02 Paul Brook <paul@nowt.org>
3833
3834 * fmain.c (main): Move here.
3835 * libgfor.c: From here.
3836 * libgfor.h (gfor_init, gfor_runtime_cleanup): Declare.
3837 * Makefile.am: Build libgforbegin.
3838 * gcc_config.patch: Remove stray -march=athlon.
3839 * dotprodl.m4: Fix use of L8_TO_L4 macro.
3840 * ifunction.m4: Move variable declarations to allow compilation with
3841 gcc < 3.0
3842 * specific.m4, specific4.m4: Fix typo typecode->type_code.
3843 * README: Document use of patch -p1.
3844
3845 2002-09-12 Paul Brook <paul@nowt.org>
3846
3847 * math/*: Add complex math library functions.
3848 * intrinsics/specific(2).m4: Generate Specific intrinsic functions.
3849 * Makefile.am: Add details for above.
3850 * configure.in: Use AC_PROG_F95. Test for the presence of csin.
3851
3852 2002-09-09 Paul Brook <paul@nowt.org>
3853
3854 * libgfor.c (determine_endianness): Use an array rather than a struct.
3855 * intrinsics/dotprod*, matmul*: Implement DOT_PRODUCT and MATMUL.
3856
3857 2002-09-09 Steven Bosscher <s.bosscher@student.tudelft.nl>
3858
3859 * libgfor.c: Add fatal signal handler.
3860 Romove superfluous abort() calls.
3861
3862 2002-09-07 Paul Brook <paul@nowt.org>
3863
3864 * Makefile.am, intrinsics: Major rewrite.
3865
3866 2002-09-02 Paul Brook <paul@nowt.org>
3867
3868 * Makefile.am: Added -I$(srcdir) to m4 rule.
3869
3870 2002-08-30 Paul Brook <paul@nowt.org>
3871
3872 * io/*: Integrated libgforio.
3873 * Makefile.am, configure.in: Make compatable with GCC. Build code for
3874 intrinsics in the intrisics directory.
3875 * intrinsics/intrinsics.m4: Move here. Strip directories from the
3876 filename. Add 'and' and 'all' intrinsics.
3877
3878 2002-08-17 Paul Brook <paul@nowt.org>
3879
3880 * ALL: First release as more than just a single file