X-Git-Url: http://git.sourceforge.jp/view?p=pf3gnuchains%2Fgcc-fork.git;a=blobdiff_plain;f=libgfortran%2FChangeLog;h=3b5abd2d814ca68330f9f9a9bb3a899295413795;hp=79e09f670422390d997dde8df38bac67cc8791fe;hb=556d02696528fbe7eacce1db1fab1e8bb7e6b736;hpb=0222d4de74e42cfc1de5479e641f262cd57afd9b diff --git a/libgfortran/ChangeLog b/libgfortran/ChangeLog index 79e09f67042..3b5abd2d814 100644 --- a/libgfortran/ChangeLog +++ b/libgfortran/ChangeLog @@ -1,8 +1,809 @@ +2005-10-01 Jakub Jelinek + + * libgfortran.h (GFC_ITOA_BUF_SIZE, GFC_XTOA_BUF_SIZE, + GFC_OTOA_BUF_SIZE, GFC_BTOA_BUF_SIZE): Define. + (gfc_itoa, xtoa): Add 2 extra arguments. + * runtime/environ.c: Include stdio.h. + (check_buffered): Use sprintf. + * runtime/error.c: Include assert.h. + (gfc_itoa, xtoa): Add 2 extra arguments, avoid using static + buffers. + (st_printf, st_sprintf): Adjust callers. + * io/write.c (otoa, btoa): Add 2 extra arguments, avoid using + static buffers. + (write_int, write_decimal): Add 2 extra arguments to conv + function pointer, adjust caller. + (write_integer): Adjust gfc_itoa caller. + + * io/unit.c (get_array_unit_len): Return 0 rather than NULL. + + * io/read.c (read_f): Remove spurious pointer dereference. + +2005-09-30 Janne Blomqvist + + PR 24112 + * io/open.c (edit_modes): Check for correct flag. + +2005-09-29 Jakub Jelinek + + * runtime/string.c (find_option): Change 3rd argument to + const st_option *. + * libgfortran.h (find_option): Likewise. + * runtime/environ.c (rounding, precision, signal_choices): Constify. + (init_choice, show_choice): Change 2nd argument to const choice *. + * io/open.c (access_opt, action_opt, blank_opt, delim_opt, form_opt, + position_opt, status_opt, pad_opt): Constify. + * io/transfer.c (advance_opt): Likewise. + * io/inquire.c (undefined): Likewise. + * io/close.c (status_opt): Likewise. + * io/format.c (posint_required, period_required, nonneg_required, + unexpected_element, unexpected_end, bad_string, bad_hollerith, + reversion_error): Likewise. + * io/unix.c (yes, no, unknown): Change from const char * + into const char []. + +2005-09-27 Steve Ellcey + + PR target/23552 + * acinclude.m4 (LIBGFOR_CHECK_FOR_BROKEN_ISFINITE): New. + (LIBGFOR_CHECK_FOR_BROKEN_ISNAN): New. + (LIBGFOR_CHECK_FOR_BROKEN_FPCLASSIFY): New. + * configure.ac (LIBGFOR_CHECK_FOR_BROKEN_ISFINITE): Add use. + (LIBGFOR_CHECK_FOR_BROKEN_ISNAN): Add use. + (LIBGFOR_CHECK_FOR_BROKEN_FPCLASSIFY): Add use. + * configure: Regenerate. + * config.h.in: Regenerate. + * libgfortan.h (isfinite): undef if broken, set if needed. + (isnan): undef if broken, set if needed. + (fpclassify): undef if broken, set if needed. + * io/write.c: Remove TODO comment about working isfinite. + * intrinsics/c99_functions.c (round): Use isfinite instead + of fpclassify. + * intrinsics/c99_functions.c (roundf): Ditto. + +2005-09-24 Janne Blomqvist + + * io.h: Changed prototypes of list_formatted_{read|write}. + * list_read.c (list_formatted_read): Renamed to + list_formatted_read_scalar and made static. + (list_formatted_read): New function. + * transfer.c: Prototype for transfer_array. Changed transfer + function pointer. + (unformatted_read): Add nelems argument, use it. + (unformatted_write): Likewise. + (formatted_transfer): Changed name to formatted_transfer_scalar. + (formatted_transfer): New function. + (transfer_integer): Add nelems argument to transfer call, move + updating item count to transfer functions. + (transfer_real): Likewise. + (transfer_logical): Likewise. + (transfer_character): Likewise. + (transfer_complex): Likewise. + (transfer_array): New function. + (data_transfer_init): Call formatted_transfer with new argument. + (iolength_transfer): New argument, use it. + * write.c (list_formatted_write): Renamed to + list_formatted_write_scalar, made static. + (list_formatted_write): New function. + +2005-09-26 David Edelsohn + + * configure.ac: Add check for __clog. + * configure: Regenerate. + +2005-09-25 Francois-Xavier Coudert + + * c99_protos.h: Add prototypes for C99 complex functions. + * libgfortran.h: Include complex.h before c99_protos.h. + * intrinsics/c99_functions.c: Define HAVE_ macros for the + fallback functions we provide. + (cabsf, cabs, cabsl, cargf, carg, cargl, cexpf, cexp, cexpl, + clogf, clog, clogl, clog10f, clog10, clog10l, cpowf, cpow, cpowl, + cqsrtf, csqrt, csqrtl, csinhf, csinh, csinhl, ccoshf, ccosh, + ccoshl, ctanhf, ctanh, ctanhl, csinf, csin, csinl, ccosf, ccos, + ccosl, ctanf, ctan, ctanl): New fallback functions. + * Makefile.am (gfor_math_trig_c, gfor_math_trig_obj, + gfor_specific_c, gfor_cmath_src, gfor_cmath_obj): Remove. + * Makefile.in: Regenerate. + * configure.ac: Remove checks for csin. Add checks for all C99 + complex functions. + * config.h.in: Regenerate. + * configure: Regenerate. + * aclocal.m4: Regenerate. + +2005-09-25 Francois-Xavier Coudert + Danny Smith + + PR libfortran/23803 + * intrinsics/getXid.c: Add getpid wrapper for MinGW. + * intrinsics/getlog.c: Add getlogin wrapper for MinGW. + * intrinsics/hostnm.c: Add gethostname wrapper for MinGW. + +2005-09-24 Francois-Xavier Coudert + + PR libfortran/23802 + * intrinsics/sleep.c: Add correct sleep macro for MinGW. + +2005-09-24 Francois-Xavier Coudert + + PR libfortran/23380 + * intrinsics/cpu_time.c (__cpu_time_1): Provide a MS Windows + version. + +2005-09-14 Jerry DeLisle + + PR target/19269 + * intrinsics/cshift0.c (cshift0): Add an extra size argument. + (cshift0_1, cshift0_2, cshift0_4, cshift0_8): Replace explicit + implementations with... + (DEFINE_CSHIFT): ...this new macro. Define character versions too. + * intrinsics/eoshift0.c (zeros): Delete. + (eoshift0): Add extra size and filler arguments. Use memset if no + bound is provided. + (eoshift0_1, eoshift0_2, eoshift0_4, eoshift0_8): Replace explicit + implementations with... + (DEFINE_EOSHIFT): ...this new macro. Define character versions too. + * intrinsics/eoshift2.c (zeros): Delete. + (eoshift2): Add extra size and filler arguments. Use memset if no + bound is provided. + (eoshift2_1, eoshift2_2, eoshift2_4, eoshift2_8): Replace explicit + implementations with... + (DEFINE_EOSHIFT): ...this new macro. Define character versions too. + * intrinsics/pack.c (pack_internal): New static function, reusing + the contents of pack and adding an extra size argument. Change + "mptr" rather than "m" when calculating the array size. + (pack): Redefine as a forwarder to pack_internal. + (pack_s_internal): New static function, reusing the contents of + pack_s and adding an extra size argument. + (pack_s): Redefine as a forwarder to pack_s_internal. + (pack_char, pack_s_char): New functions. + * intrinsics/reshape.c (reshape_internal): New static function, + reusing the contents of reshape and adding an extra size argument. + (reshape): Redefine as a forwarder to reshape_internal. + (reshape_char): New function. + * intrinsics/spread.c (spread_internal): New static function, + reusing the contents of spread and adding an extra size argument. + (spread): Redefine as a forwarder to spread_internal. + (spread_char): New function. + * intrinsics/transpose.c (transpose_internal): New static function, + reusing the contents of transpose and adding an extra size argument. + (transpose): Redefine as a forwarder to transpose_internal. + (transpose_char): New function. + * intrinsics/unpack.c (unpack_internal): New static function, reusing + the contents of unpack1 and adding extra size and fsize arguments. + (unpack1): Redefine as a forwarder to unpack_internal. + (unpack0): Call unpack_internal instead of unpack1. + (unpack1_char, unpack0_char): New functions. + * m4/cshift1.m4 (cshift1): New static function, reusing the contents + of cshift1_ and adding an extra size argument. + (cshift1_): Redefine as a forwarder to cshift1. + (cshift1__char): New function. + * m4/eoshift1.m4 (zeros): Delete. + (eoshift1): New static function, reusing the contents of + eoshift1_ and adding extra size and filler arguments. + Fix calculation of hstride. Use memset if no bound is provided. + (eoshift1_): Redefine as a forwarder to eoshift1. + (eoshift1__char): New function. + * m4/eoshift3.m4 (zeros): Delete. + (eoshift3): New static function, reusing the contents of + eoshift3_ and adding extra size and filler arguments. + Use memset if no bound is provided. + (eoshift3_): Redefine as a forwarder to eoshift3. + (eoshift3__char): New function. + * generated/cshift1_4.c, generated/cshift1_8.c, + * generated/eoshift1_4.c, generated/eoshift1_8.c, + * generated/eoshift3_4.c, generated/eoshift3_8.c: Regenerate. + +2005-09-11 Francois-Xavier Coudert + + PR libfortran/20179 + * io/unix.c (is_preconnected): Add function to test if a stream + corresponds to a preconnected unit. + * io/io.h: Add prototype for is_preconnected. + * io/transfer.c (data_transfer_init): Do not truncate + preconnected units. + +2005-09-10 Janne Blomqvist + + * io/unix.c: Remove mmap code. + +2005-09-09 Francois-Xavier Coudert + + PR libfortran/23784 + * io/close.c (st_close): Call library_end even in case of error. + +2005-09-09 Thomas Koenig + + * io/io.h: Add iomsg as last field of st_parameter. + * runtime/error.c (generate_error): If iomsg is present, copy + the message there. + +2005-09-09 Richard Sandiford + + PR fortran/12840 + * runtime/memory.c (internal_malloc_size): Return a null pointer + if the size is zero. + (internal_free): Do nothing if the pointer is null. + (internal_realloc_size, internal_realloc, internal_realloc64): New. + +2005-09-07 Francois-Xavier Coudert + + PR libfortran/23262 + * acinclude.m4 (LIBGFOR_CHECK_CRLF): New check. + * configure.ac: Use new check. + * configure.in: Regenerate. + * config.h.in: Regenerate. + * configure: Regenerate. + * io/transfer.c (next_record_w): Add case for CRLF as line + terminator. + * io/unix.c (tempfile, regular_file): Open files with + O_BINARY on systems with CRLF. + +2005-09-07 Steve Ellcey + + PR libfortran/23419 + * io/write.c (extract_int): Use memcpy to access buffer. + (extract_uint): Ditto. + (extract_real): Ditto. + +2005-09-05 Thomas Koenig + + * io/list_read.c: Adjust size of of value to 32 (to hold + kind=16 complex values). + +2005-09-04 Thomas Koenig + + PR libfortran/23321 + * io/transfer.c(data_transfer_init): Check for a too-large + record number. Return if sseek failed. + +2005-09-03 Jakub Jelinek + + * io/read.c (read_x): Take int argument instead of fnode * and + digging the N from F->u.n. + * io/io.h (read_x): Adjust prototype. + * io/transfer.c (formatted_transfer): Adjust callers. Don't clobber + f->u.n for FMT_T. + +2005-09-02 Francois-Xavier Coudert + + * io/unix.c (stream_ttyname): Protect use of ttyname by + HAVE_TTYNAME macro. + * configure.ac: Add check for ttyname. + * config.h.in: Regenerate. + * configure: Regenerate. + +2005-09-02 Andreas Jaeger + + * libgfortran.h: Add prototype for init_compile_options. + + * io/io.h: Add prototype for notify_std. + +2005-08-31 Steve Ellcey + + * io/read.c (set_integer): Use memcpy to fill buffer. + +2005-08-31 Steve Ellcey + + PR target/23556 + * io/read.c (convert_real): Use memcpy to fill buffer. + +2005-08-29 Thomas Koenig + + PR libfortran/23598 + * io/lock.c(library_start): If ioparm.iostat is present, clear + it unconditionally. + +2005-08-27 Francois-Xavier Coudert + + * acinclude.m4 (LIBGFOR_CHECK_UNLINK_OPEN_FILE): Add check to see + if target can unlink open files. + * configure.ac: Use this new test. + * config.h.in: Regenerate. + * configure: Regenerate. + * Makefile.in: Regenerate. + * aclocal.ac: Regenerate. + * io/io.h: Add prototype for unpack_filename. + * io/close.c (st_close): Delete file after closing unit if + HAVE_UNLINK_OPEN_FILE is not defined. + * io/unix.c (unpack_filename): Unlink scratch file after opening + it only if HAVE_UNLINK_OPEN_FILE is defined. + +2005-08-17 Kelley Cook + + * All files: Update FSF address. + +2005-08-16 Thomas Koenig + + PR libfortran/23428 + * io/transfer.c (iolength_transfer): Remove __attribute__ ((unused)) + from type. Return correct length for inquire(iolength=) + for complex variables. + +2005-08-11 Francois-Xavier Coudert + Steven Bosscher + + PR libfortran/20006 + * Makefile.am: Add file runtime/compile_options.c. + * Makefile.in: Regenerate. + * libgfortran.h: Create structure compile_options_t. Define the + compile_options variable and GFC_STD_ macros. + * runtime/compile_options.c: New file. + * runtime/error.c (notify_std): New function. + * runtime/main.c (init): Call init_compile_options during + initialization. + * io/format.c: Use the new notify_std function for the $ + descriptor extension. + +2005-08-09 Francois-Xavier Coudert + * Makefile.am: Add file intrinsics/tty.c to Makefile process. + * Makefile.in: Regenerate. + * io/io.h: Prototypes for new functions stream_isatty and + stream_ttyname. + * io/unix (stream_isatty, stream_ttyname): New functions to call + isatty() and ttyname() on a given unit. + * intrinsics/tty.c: New file to implement g77 intrinsics TTYNAM + and ISATTY. + +2005-08-08 Jerry DeLisle + + PR libfortran/23154 + * io/transfer.c (data_transfer_init): Initialize + current_unit->bytes_left for a read. + +2005-08-07 Janne Blomqvist + + PR fortran/22390 + * io/backspace.c: File removed, contents moved to ... + * io/endfile.c: Ditto. + * io/rewind.c: Ditto. + * io/file_pos.c: New file, ... here. + * Makefile.am: Add file_pos.c to list, remove obsolete files. + * Makefile.in: Regenerated. + +2005-08-07 Francois-Xavier Coudert + + * io/io.h: Change DEFAULT_TEMPDIR to /tmp instead of /var/tmp. + * io/unix.c (tempfile): Look at the TEMP environment variable + to find the temporary files directory. Whitespace correction. + +2005-08-06 Francois-Xavier Coudert + + * io/unix.c: Add O_RDWR to open() call. + +2005-08-04 Paul Thomas + + * transfer.c (data_transfer_init): Truncate file in + sequential WRITE when last_record == 0, rather than + current_record. Cures problem on RH9. + +2005-08-03 Francois-Xavier Coudert + + * libgfortran.h: When isfinite is not provided by the system, + define it as a macro, so that it can accept any floating point + type. + +2005-08-01 Francois-Xavier Coudert + + PR libfortran/23178 + * intrinsics/flush.c (flush_i8): Add function flush_i8. Update + copyright years. + +2005-07-31 Francois-Xavier Coudert + + PR libfortran/21787 + * intrinsics/abort.c (abort): Close units before aborting. + Updated copyright years. + +2005-07-30 Francois-Xavier Coudert + + PR libfortran/22436 + * io/write.c (write_real): Add default formats for real(10) and + real(16). + +2005-07-30 Paul Thomas + + PR fortran/22570 and related issues. + * transfer.c (formatted_transfer): Make sure that there + really is data present before X- or T- editing. Move all + treatment of tabbing during writes to start of next data + producing format. Suppress incorrect zeroing of bytes_left + in slash formating. Insert int cast for assignment of a + difference of two gfc_offsets. + +2005-07-23 Jerry DeLisle + + * io/write.c (write_float): Revise output of IEEE exceptional + values to comply with F95 and F2003 standards. + +2005-07-22 Jerry DeLisle + + PR libfortran/22570 + * io/unit.c (init_units): Replace BLANK_ZERO with + BLANK_UNSPECIFIED. + +2005-07-22 Jerry DeLisle + + PR libfortran/21875 (FM111.f) + * io/read.c (next_char): Return a ' ' character when BLANK_ZERO + or BLANK_NULL are active. + (read_decimal): Interpret ' ' character correctly for BZ or BN. + (read_radix): Interpret ' ' character correctly for BZ or BN. + (read_f): Interpret ' ' character correctly for BZ or BN. + +2005-07-22 Paul Thomas + + PR libfortran/22570 + * read.c (read_x): Correct the condition for doing the + x-editing during formatted input. + * transfer.c (formatted_transfer): Cast offset difference + as int, clean-up arithmetic with new variable, bytes_used, + zero counters for FMT_SLASH, + (data_transfer_init) Zero X- and T-editing counters + unconditionally. + (next_record_w) Zero X- and T-editing counters. + unconditionally. + +2005-07-17 Jerry DeLisle + + * io/write.c (write_float): Fix field width checks for + printing 'Infinity' or 'Inf'. + (output_float): Fix typo in comment. + +2005-07-12 Paul Thomas + + PR libfortran/16435 + * transfer.c (formatted_transfer): Correct the problems + with X- and T-editting that caused TLs followed by TRs + to overwrite data, which caused NIST FM908.FOR to fail + on many tests. + (data_transfer_init): Zero X- and T-editting counters at + the start of formatted IO. + * write.c (write_x): Write specified number of skips with + specified number of spaces at the end. + +2005-07-13 Paul Thomas + + * io/read.c (read_complex): Prevent X formatting during reads + from going beyond EOR to fix NIST fm908.FOR failure. + * io/list_read.c (read_complex): Allow complex data in list- + directed reads to have eols either side of the comma to + fix NIST FM906.FOR failure. + +2005-07-12 Thomas Koenig + + PR libfortran/21593 + * io/unix.c: Add member special_file to type unix_stream. + (fd_truncate): Don't call ftruncate or chsize if + s refers to a special file. + (fd_to_stream): initialize s->special_file. + +2005-07-11 David Edelsohn + + PR libgfortran/22412 + * io/write.c (otoa): Bias p by SCRATCH_SIZE, not + sizeof (SCRATCH_SIZE). + (btoa): Same. + +2005-07-09 Jerry DeLisle + + PR libfortran/21875 (FM111.f) + * io/read.c (next_char): Return a ' ' character when BLANK_ZERO or + BLANK_NULL are active. + (read_decimal): Interpret ' ' character correctly for BZ or BN. + (read_radix): Interpret ' ' character correctly for BZ or BN. + (read_f): Interpret ' ' character correctly for BZ or BN. + * gfortran.dg/test (fmt_read_bz_bn.f90): New test case. + +2005-07-09 Francois-Xavier Coudert + Thomas Koenig + + PR libfortran/22217 + * io/write.c (extract_unit): New function; extract + ints as unsigned signed int of the correct size. + (write_int): Use it. + * runtime/error.c: Adjust copyright years. + Adjust size of buffer to maximum that can occur. + +2005-07-07 Tobias Schl"uter + + * libgfortran.h (GFC_ARRAY_DESCRIPTOR): Replace 'type *base' by + 'size_t offset'. + * intrinsics/cshift0.c, intrinsics/eoshift0.c, + intrinsics/eoshift2.c,intrinsics/pack_generic.c, + intrinsics/reshape_generic.c, intrinsics/spread_generic.c, + intrinsics/transpose_generic.c, intrinsics/unpack_generic, + m4/cshift1.m4, m4/eoshift1.m4, m4/eoshift3.m4, m4/iforeach.m4, + m4/ifunction.m4, m4/matmul.m4, m4/matmull.m4, m4/reshape.m4, + m4,transpose.m4: Set renamed field 'offset' to zero instead of + 'base'. + * generated/all_l4.c, generated/all_l8.c, + generated/any_l4.c, generated/any_l8.c, generated/count_4_l4.c, + generated/count_4_l8.c, generated/count_8_l4.c, + generated/count_8_l8.c, generated/chift1_4.c, + generated/cshift1_8.c, generated/eoshift1_4.c, + generated/eoshift1_8.c, generated/eoshift3_4.c, + generated/eoshift3_8.c, generated/matmul_c4.c, + generated/matmul_c8.c, generated/matmul_i4.c, matmul_i8.c, + generated/matmul_l4.c, generated/matmul_l8.c, + generated/matmul_r4.c, generated/matmul_r8.c, + generated/maxloc0_4_i4.c, generated/maxloc0_4_i8.c, + generated/maxloc0_4_r4.c, generated/maxloc0_4_r8.c, + generated/maxloc0_8_i4.c, generated/maxloc0_8_i8.c, + generated/maxloc0_8_r4.c, generated/maxloc0_8_r8.c, + generated/maxloc1_4_i4.c, generated/maxloc1_4_i8.c, + generated/maxloc1_4_r4.c, generated/maxloc1_4_r8.c, + generated/maxloc1_8_i4.c, generated/maxloc1_8_i8.c, + generated/maxloc1_8_r4.c, generated/maxloc1_8_r8.c, + generated/maxval_i4.c, generated/maxval_i8.c, + generated/maxval_r4.c, generated/maxval_r8.c, + generated/minloc0_4_i4.c, generated/minloc0_4_i8.c, + generated/minloc0_4_r4.c, generated/minloc0_4_r8.c, + generated/minloc0_8_i4.c, generated/minloc0_8_i8.c, + generated/minloc0_8_r4.c, generated/minloc0_8_r8.c, + generated/minloc1_4_i4.c, generated/minloc1_4_i8.c, + generated/minloc1_4_r4.c, generated/minloc1_4_r8.c, + generated/minloc1_8_i4.c, generated/minloc1_8_i8.c, + generated/minloc1_8_r4.c, generated/minloc1_8_r8.c, + generated/minval_i4.c, generated/minval_i8.c, + generated/minval_r4.c, generated/minval_r8.c, + generated/product_c4.c, generated/product_c8.c, + generated/product_i4.c, generated/product_i8.c, + generated/product_r4.c, generated/product_r8.c, + generated/reshape_c4.c, generated/reshape_c8.c, + generated/reshape_i4.c, generated/reshape_i8.c, + generated/sum_c4.c, generated/sum_c8.c, generated/sum_i4.c, + generated/sum_i8.c, generated/sum_r4.c, generated/sum_r8.c, + generated/transpose_c4.c, generated/transpose_c8.c, + generated/transpose_i4.c, generated/transpose_i8.c: Regenerate: + +2005-07-07 Thomas Koenig + + PR libfortran/21594 + * intrinsics/eoshift0.c: If abs(shift) > len, fill the + the whole array with the boundary value, but don't overrun it. + * intrinsics/eoshift2.c: Likewise. + * m4/eoshift1.m4: Likewise. + * m4/eoshift3.m4: Likewise. + * generated/eoshift1_4.c: Regenerated. + * generated/eoshift1_8.c: Regenerated. + * generated/eoshift3_4.c: Regenerated. + * generated/eoshift3_8.c: Regenerated. + +2005-07-07 Feng Wang + + PR fortran/16531 + * io/transfer.c (formatted_transfer): Enable FMT_A on other types to + support Hollerith constants. + +2005-07-01 Andreas Jaeger + + * intrinsics/unpack_generic.c: Remove const from parameter. + + * io/transfer.c (formatted_transfer): Remove unused variable. + +2005-06-28 Thomas Koenig + + PR libfortran/22142 + * m4/eoshift1.m4: Correct bstride (it needs to be multiplied + by size since it's a char pointer). + * m4/eoshift1_4.c: Regenerated. + * m4/eoshift1_8.c: Regenerated. + +2005-06-28 Thomas Koenig + + PR libfortran/22142 + * m4/eoshift3.m4: Correct bstride (it needs to be multiplied + by size since it's a char pointer). + * m4/eoshift3_4.c: Regenerated. + * m4/eoshift3_8.c: Regenerated. + +2005-06-28 Francois-Xavier Coudert + + PR libfortran/22170 + * io/transfer.c (formatted_transfer): Do not iterate on the + repeat count of a FMT_SLASH, since this is already done in + next_format(). + +2005-06-25 Thomas Koenig + + PR libfortran/22144 + * m4/cshift1.m4: Remove const from argument ret. + Populate return array descriptor if ret->data is NULL. + * m4/eoshift1.m4: Likewise. + * m4/eoshift3.m4: Likewise. + * generated/cshift1_4.c: Regenerated. + * generated/cshift1_8.c: Regenerated. + * generated/eoshift1_4.c: Regenerated. + * generated/eoshift1_8.c: Regenerated. + * generated/eoshift3_4.c: Regenerated. + * generated/eoshift3_8.c: Regenerated. + +2005-06-24 Jerry DeLisle + + PR libfortran/21915 + * Makefile.am: Include intrinsics/hyper.c. + * c99_protos.h: Add prototypes for single precision versions of + acosh, asinh, and atanh for platforms that do not have these. + * config.h.in: Add #undef for wrappers. + * configure.ac: Add checks for single precision versions. + * aclocal.m4: Regenerated. + * Makefile.in: Regenerated. + * configure: Regenerated. + * intrinsics/hyper.c: New file, adds new wrapper functions. + +2005-06-23 Francois-Xavier Coudert + + * intrinsics/c99_functions.c (log10l): New log10l function for + systems where this is not available. + * c99_protos.h: Prototype for log10l function. + * libgfortran.h: Use generated kinds.h to define GFC_INTEGER_*, + GFC_UINTEGER_*, GFC_LOGICAL_*, GFC_REAL_*, GFC_COMPLEX_*. Update + prototypes for gfc_itoa and xtoa. + * io/io.h: Update prototypes for set_integer and max_value. + * io/list_read.c (convert_integer): Use new + GFC_(INTEGER|REAL)_LARGEST type. + * io/read.c (set_integer): Likewise. + (max_value): Likewise. + (convert_real): Likewise. + (real_l): Likewise. + (next_char): Likewise. + (read_decimal): Likewise. + (read_radix): Likewise. + (read_f): Likewise. + * io/write.c (extract_int): Use new GFC_INTEGER_LARGEST type. + (extract_real): Use new GFC_REAL_LARGEST type. + (calculate_exp): Likewise. + (calculate_G_format): Likewise. + (output_float): Likewise. Use log10l for long double values. + Add comment for sprintf format. Use GFC_REAL_LARGEST_FORMAT. + (write_l): Use new GFC_INTEGER_LARGEST type. + (write_float): Use new GFC_REAL_LARGEST type. + (write_int): Remove useless special case for (len < 8). + (write_decimal): Use GFC_INTEGER_LARGEST. + (otoa): Use GFC_UINTEGER_LARGEST as argument. + (btoa): Use GFC_UINTEGER_LARGEST as argument. + * runtime/error.c (gfc_itoa): Use GFC_INTEGER_LARGEST as + argument. + (xtoa): Use GFC_UINTEGER_LARGEST as argument. + * Makefile.am: Use mk-kinds-h.sh to generate header kinds.h + with all Fortran kinds available. + * configure.ac: Check for strtold and log10l. + * Makefile.in: Regenerate. + * aclocal.m4: Regenerate. + * configure: Regenerate. + * config.h.in: Regenerate. + * mk-kinds-h.sh: Configuration script for available integer + and real kinds. + + +2005-06-18 Janne Blomqvist + + * unix.c (stream_at_bof): Don't assume that all non-mmapped files + are non-seekable. + (stream_at_eof): Likewise. + +2005-06-18 Francois-Xavier Coudert + + PR libfortran/19155 + * io/read.c (convert_real): strtod can set errno to EINVAL on an + empty string, but we shouldn't have an error in that case. + +2005-06-17 Francois-Xavier Coudert + + PR libfortran/19216 + * io/list_read.c (eat_separator): No need to call next_record, + even in non-namelist_mode. + +2005-06-17 Francois-Xavier Coudert + + * io/transfer.c (formatted_transfer): Fix typo in error message. + +2005-06-17 Francois-Xavier Coudert + + PR libfortran/16436 + * io/transfer.c (read_sf): Correct updating of bytes_left field. + (formatted_transfer): Correct updating of bytes_left field and + reformatting code (comments and whitespace). + * io/unix.c (move_pos_offset): "active" field should not be + changed here. Whitespace corrections. + +2005-06-15 Francois-Xavier Coudert + + PR libfortran/21950 + * intrinsics/c99_functions.c (scalbn): Provide fallback + implementation for scalbn. + * c99_protos.h: Prototype for scalbn. + * configure.ac: Add check for scalbn. + * configure: Regenerate. + * config.h.in: Regenerate. + +2005-06-14 Thomas Koenig + + * intrinsics/eoshift0.c: Removed prototype for eoshift0. + * intrinsics/eoshift2.c: Removed prototype for eoshift2. + +2005-06-14 Tom Tromey + + PR libgcj/19877: + * configure, aclocal.m4, Makefile.in: Rebuilt. + +2005-06-12 Thomas Koenig + + PR libfortran/21594 + * intrinsics/eoshift0.c: Add prototype for eoshift0. + * intrinsics/eoshift2.c: Add prototype for eoshift2. + +2005-06-12 Steven G. Kargl + Thomas Koenig + + PR libfortran/PR21797 + * m4/cexp.m4 (csqrt`'q): Add type qualifyer to + sqrt and fabs. + * generated/exp_c4.c: Regenerated. + 2005-06-12 Francois-Xavier Coudert PR libfortran/19155 * io/read.c (read_f): Take care of spaces after initial sign. +2005-06-11 Thomas Koenig + + PR libfortran/21333 + * Makefile.am: Add in_pack_c4.c, in_pack_c8.c, in_unpack_c4.c + and in_unpack_c8.c. + * Makefile.in: Regenerate. + * libgfortran.h: Declare internal_pack_c4, internal_pack_c8, + internal_unpack_c4 and internal_unpack_c8. + * m4/in_pack.m4: Use rtype_ccode insteald of rtype_kind + in function name. + Use sizeof (rtype_name) as size for memory allocation. + * m4/in_unpack.m4: Use rtype_ccode insteald of rtype_kind + in function name. + Use sizeof (rtype_name) for calculation of sizes for memcpy. + * runtime/in_pack_generic.c: For real, integer and logical + call internal_pack_4 if size==4 and internal_pack_8 if + size==8. + For complex, call internal_pack_c4 if size==8 and + internal_pack_c8 if size==16. + * runtime/in_unpack_generic.c: For real, integer and logical + call internal_unpack_4 if size==4 and internal_unpack_8 if + size==8. + For complex, call internal_unpack_c4 if size==8 and + internal_unpack_c8 if size==16. + * generated/in_pack_i4.c: Regenerated. + * generated/in_pack_i8.c: Regenerated. + * generated/in_unpack_i4.c: Regenerated. + * generated/in_unpack_i8.c: Regenerated. + * generated/in_pack_c4.c: New file. + * generated/in_pack_c8.c: New file. + * generated/in_unpack_c4.c: New file. + * generated/in_unpack_c8.c: New file. + 2005-06-09 Thomas Koenig PR libfortran/21480 @@ -40,7 +841,7 @@ concerning advancing I/O. (data_transfer_init): Likewise. (finalize_transfer): Likewise. - + 2005-05-27 Thomas Koenig * runtime/in_pack_generic.c: Adjust copyright years. @@ -593,7 +1394,7 @@ (finalize_transfer): If there is an EOR condition, raise the error. 2005-04-09 Bud Davis - Steven G. Kargl + Steven G. Kargl PR fortran/19872 * io/transfer.c (data_transfer_init): truncate an existing @@ -708,7 +1509,7 @@ the scale factor, but it needs to be restored afterwards. 2005-04-03 Dale Ranta - Francois-Xavier Coudert + Francois-Xavier Coudert PR libfortran/20068 PR libfortran/20125 @@ -858,7 +1659,7 @@ 2005-02-19 Steven G. Kargl - * intrinsic/date_and_time.c: Fix conformance problems. + * intrinsic/date_and_time.c: Fix conformance problems. 2005-02-01 Paul Thomas @@ -1997,7 +2798,7 @@ (random_r8): fix infinite loop. 2004-06-12 Bud Davis - Steve Kargl + Steve Kargl PR gfortran/15292 * intrinsics/c99_functions.c: New file.