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