diff options
author | bstarynk <bstarynk@138bc75d-0d04-0410-961f-82ee72b054a4> | 2012-01-11 08:28:21 +0000 |
---|---|---|
committer | bstarynk <bstarynk@138bc75d-0d04-0410-961f-82ee72b054a4> | 2012-01-11 08:28:21 +0000 |
commit | 84d429b9a24117fcd1ad6b88ae2658cc8fa5f8ac (patch) | |
tree | fb62b90dc09045605d9426eb9febca89032fd1b2 /libgfortran | |
parent | f22b491886dbe1718cc7076fcce41f157ac735d9 (diff) | |
download | gcc-84d429b9a24117fcd1ad6b88ae2658cc8fa5f8ac.tar.gz |
2012-01-11 Basile Starynkevitch <basile@starynkevitch.net>
MELT branch merged with trunk rev 183090 using svnmerge
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/melt-branch@183091 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libgfortran')
-rw-r--r-- | libgfortran/ChangeLog | 1504 | ||||
-rw-r--r-- | libgfortran/ChangeLog-2011 | 1485 | ||||
-rw-r--r-- | libgfortran/Makefile.am | 4 | ||||
-rw-r--r-- | libgfortran/Makefile.in | 5 | ||||
-rw-r--r-- | libgfortran/runtime/backtrace.c | 4 | ||||
-rw-r--r-- | libgfortran/runtime/compile_options.c | 85 | ||||
-rw-r--r-- | libgfortran/runtime/main.c | 4 |
7 files changed, 1606 insertions, 1485 deletions
diff --git a/libgfortran/ChangeLog b/libgfortran/ChangeLog index f6b2a167fa4..3e27ed952c0 100644 --- a/libgfortran/ChangeLog +++ b/libgfortran/ChangeLog @@ -1,1492 +1,38 @@ -2012-01-06 Tobias Burnus <burnus@net-b.de> - - * caf/single.c (_gfortran_caf_register, _gfortran_caf_deregister): - Fix token handling. - * caf/mpi.c (_gfortran_caf_register, _gfortran_caf_deregister): Ditto. - * caf/libcaf.h (STAT_STOPPED_IMAGE): Sync with libgfortran.h. - (_gfortran_caf_register, _gfortran_caf_deregister): Update prototype. - -2011-12-22 Janne Blomqvist <jb@gcc.gnu.org> - Tobias Burnus <burnus@net-b.de> - - PR libfortran/51646 - * acinclude.m4 (LIBGFOR_CHECK_UNLINK_OPEN_FILE): Use POSIX mode - flags, omit mode argument when flags argument does not have - O_CREAT. - * io/unix.c (tempfile): Use POSIX mode flags. - * configure: Regenerate. - -2011-11-21 Andreas Tobler <andreast@fgznet.ch> - - * configure: Regenerate. - -2011-11-11 Janne Blomqvist <jb@gcc.gnu.org> - - PR libfortran/51090 - * runtime/main.c (find_addr2line): NULL check before proceeding. - -2011-11-10 Janne Blomqvist <jb@gcc.gnu.org> - - * intrinsics/cpu_time.c (__cpu_time_1): Don't force inlining. - * intrinsics/random.c (rnumber_4): Remove inline attribute. - (rnumber_8, rnumber_10, rnumber_16): Likewise. - * intrinsics/system_clock.c (gf_gettime_mono): Likewise. - * intrinsics/time_1.h (ATTRIBUTE_ALWAYS_INLINE): Remove macro. - (gf_cputime): Add inline attribute for MingW version. - * io/format.c (format_hash): Remove inline attribute. - * io/io.h (memset4): Inline function from transfer.c and write.c - moved here. - * io/transfer.c (min_off): Remove inline attribute. - (memset4): Move to io.h. - * io/write.c (memset4): Likewise. - (memcpy4): Remove inline attribute. - * io/write_float.def (calculate_exp): Likewise. - -2011-11-09 Janne Blomqvist <jb@gcc.gnu.org> - - * intrinsics/time_1.h (gf_gettime): Simplify time() usage. - -2011-11-09 Janne Blomqvist <jb@gcc.gnu.org> - - * configure.ac (AC_STDC_HEADERS): Remove. - (AC_HEADER_TIME): Remove. - (AC_HAVE_HEADERS, AC_CHECK_HEADERS): Move into a single invocation - of AC_CHECK_HEADERS_ONCE, don't check for presence of C89 headers. - (AC_CHECK_MEMBERS): Use single invocation. - (AC_CHECK_FUNCS): Move into single invocation of - AC_CHEC_FUNCS_ONCE, don't check for presence of C89 functions. - * config.h.in: Regenerate. - * configure: Regenerate. - * intrinsics/clock.c: Include time.h. - (mclock): Assume clock() is present. - (mclock8): Likewise. - * intrinsics/ctime.c (strctime): Assume strftime is present. - (fdate): Assume time() is present. - (fdate_sub): Likewise. - (ctime): Likewise. - * intrinsics/date_and_time.c: Don't provide abs macro. - (HAVE_NO_DATE_TIME): Remove code related to macro which is never - set. - * intrinsics/execute_command_line.c: Assume stdlib.h is present. - * intrinsics/exit.c: Likewise. - * intrinsics/extends_type_of.c: Likewise. - * intrinsics/gerror.c: Assume strerror() is present. - * intrinsics/kill.c: Assume signal.h is present. - * intrinsics/malloc.c: Assume stdlib.h is present. - * intrinsics/move_alloc.c: Likewise. - * intrinsics/perror.c: Assume perror() is present. - * intrinsics/signal.c: Assume signal.h is present. - * intrinsics/stat.c: Assume stdlib.h is present. - * intrinsics/system.c: Likewise. - * intrinsics/time.c: Include time.h, assume time() is present. - * intrinsics/time_1.h: Conditionally include sys/time.h, - unconditionally time.h. - (gf_cputime): Do division in double, fallback using clock(). - (gf_gettime): Assume time() is present. - * intrinsics/umask.c: Assume stdlib.h is present. - * runtime/backtrace.c: Likewise. - * runtime/compile_options.c: Assume signal.h is present, assume - C89 signals are present. - * runtime/error.c: Assume signal.h and stdlib.h are present. - -2011-11-09 Janne Blomqvist <jb@gcc.gnu.org> - - PR fortran/46686 - * runtime/backtrace.c (show_backtrace): Fix incorrect comment. - -2011-11-09 Tobias Burnus <burnus@net-b.de> - - * configure.ac: Make more cross-compile friendly. - * Makefile.in: Regenerate. - * aclocal.m4: Regenerate. - * config.h.in: Regenerate. - * configure: Regenerate. - -2011-11-09 Janne Blomqvist <jb@gcc.gnu.org> - - PR fortran/46686 - * configure.ac: Don't check execinfo.h, backtrace, - backtrace_symbols_fd. Check execve instead of execvp. Call - GCC_CHECK_UNWIND_GETIPINFO. - * runtime/backtrace.c: Don't include unused headers, include - limits.h and unwind.h. - (CAN_FORK): Check execve instead of execvp. - (GLIBC_BACKTRACE): Remove. - (bt_header): Conform to gdb backtrace format. - (struct bt_state): New struct. - (trace_function): New function. - (show_backtrace): Use _Unwind_Backtrace from libgcc instead of - glibc backtrace functions. - * Makefile.in: Regenerated. - * aclocal.m4: Regenerated. - * config.h.in: Regenerated. - * configure: Regenerated. - -2011-11-09 Janne Blomqvist <jb@gcc.gnu.org> - - PR libfortran/50016 - * io/inquire.c (inquire_via_unit): Flush the unit and use ssize. - * io/unix.c (buf_flush): Don't call _commit. - -2011-11-08 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> - - PR libfortran/47972 - * runtime/error.c (gf_strerror): Silence warning. +2012-01-11 Janne Blomqvist <jb@gcc.gnu.org> + Mike Stump <mikestump@comcast.net> + PR libfortran/51803 + * runtime/main.c (store_exe_path): Handle getcwd failure and lack + of the function better. -2011-11-08 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> +2012-01-10 Tobias Burnus <burnus@net-b.de> - PR libfortran/47972 - * runtime/error.c (gf_strerror): Silence warning. + PR fortran/51197 + * runtime/compile_options.c (show_signal): List + more signals. -2011-11-08 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> +2012-01-09 Harald Anlauf <anlauf@gmx.de> + Tobias Burnus <burnus@net-b.de> - PR libfortran/47970 - * intrinsics/c99_functions.c (round): Move higher in the file. + PR fortran/51197 + * runtime/backtrace.c (show_backtrace): Modify wording written + before the backtrace. + * runtime/compile_options.c (show_signal): New function. + (backtrace_handler): Use it. -2011-11-07 Janne Blomqvist <jb@gcc.gnu.org> +2012-01-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> - PR libfortran/45723 - * io/open.c (new_unit): Don't check file size before attempting - seek. - -2011-11-02 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> - - * Makefile.am (AM_CPPFLAGS): Add - -I$(srcdir)/$(MULTISRCTOP)../libgcc, -I$(MULTIBUILDTOP)../libgcc. + * Makefile.am (libgfortran_la_LDFLAGS): Add -Wc,-shared-libgcc. * Makefile.in: Regenerate. - * acinclude.m4 (LIBGFOR_CHECK_GTHR_DEFAULT): Remove. - * configure.ac (LIBGFOR_CHECK_GTHR_DEFAULT): Likewise. - * configure: Regenerate. - * config.h.in: Regenerate. - -2011-11-01 Janne Blomqvist <jb@gcc.gnu.org> - - * io/io.h (next_available_newunit): Remove prototype. - * io/unit.h (next_available_newunit): Make variable static, - initialize it. - (init_units): Don't initialize next_available_newunit. - (get_unique_unit_number): Use atomic builtin if available. - -2011-10-31 Janne Blomqvist <jb@gcc.gnu.org> - - * io/inquire.c (inquire_via_unit): Check whether we're at the - beginning or end if the position is unspecified. If the position - is not one of the 3 standard ones, return unspecified. - * io/io.h (update_position): Remove prototype. - * io/transfer.c (next_record): Set the position to unspecified, - letting inquire figure it out more exactly when needed. - * io/unit.c (update_position): Remove function. - -2011-10-31 Janne Blomqvist <jb@gcc.gnu.org> - - * io/unix.h (struct stream): Add size function pointer. - (ssize): New inline function. - (file_length): Remove prototype. - * io/unix.c (raw_size): New function. - (raw_init): Initialize st.size pointer. - (buf_size): New function. - (buf_init): Initialize st.size pointer. - (open_internal): Likewise. - (open_internal4): Likewise. - (file_length): Remove function. - * io/file_pos.c (st_rewind): Use ssize instead of file_length. - * io/open.c (test_endfile): Likewise. - * io/transfer.c (data_transfer_init): Likewise. - (next_record_r): Likewise. - (next_record_w): Likewise. - * io/unit.c (update_position): Likewise. - -2011-10-31 Janne Blomqvist <jb@gcc.gnu.org> - - * io/file_pos.c (st_rewind): Handle regular and special files - identically. - * io/intrinsics.c (fseek_sub): Don't check whether we think the - file is seekable, just do what the caller says. - * io/transfer.c (skip_record): First try to seek, then fallback to - reading and throwing away what we read. - * io/unit.c (update_position): Don't check whether file is - seekable, just try to do what we're told. - (unit_truncate): Likewise. - * io/unix.c (struct unix_stream): Remove special_file flag. - (buf_flush): Remove code for handling unseekable files. - (buf_seek): Likewise. - (fd_to_stream): Use buffered IO only for regular files. - (file_length): Remove is_seekable() call. - (is_seekable): Remove function. - (is_special): Likewise. - * io/unix.h: Remove prototypes for is_seekable and is_special. - -2011-09-10 Thomas Koenig <tkoenig@gcc.gnu.org> - - PR fortran/49479 - * generated/m4/ifunction.m4: Always call internal_malloc_size - even when there is a zero-sized return array. - * generated/generated/maxloc1_16_i16.c: Regenerated. - * generated/generated/maxloc1_16_i1.c: Regenerated. - * generated/generated/maxloc1_16_i2.c: Regenerated. - * generated/generated/maxloc1_16_i4.c: Regenerated. - * generated/generated/maxloc1_16_i8.c: Regenerated. - * generated/generated/maxloc1_16_r10.c: Regenerated. - * generated/generated/maxloc1_16_r16.c: Regenerated. - * generated/generated/maxloc1_16_r4.c: Regenerated. - * generated/generated/maxloc1_16_r8.c: Regenerated. - * generated/generated/maxloc1_4_i16.c: Regenerated. - * generated/generated/maxloc1_4_i1.c: Regenerated. - * generated/generated/maxloc1_4_i2.c: Regenerated. - * generated/generated/maxloc1_4_i4.c: Regenerated. - * generated/generated/maxloc1_4_i8.c: Regenerated. - * generated/generated/maxloc1_4_r10.c: Regenerated. - * generated/generated/maxloc1_4_r16.c: Regenerated. - * generated/generated/maxloc1_4_r4.c: Regenerated. - * generated/generated/maxloc1_4_r8.c: Regenerated. - * generated/generated/maxloc1_8_i16.c: Regenerated. - * generated/generated/maxloc1_8_i1.c: Regenerated. - * generated/generated/maxloc1_8_i2.c: Regenerated. - * generated/generated/maxloc1_8_i4.c: Regenerated. - * generated/generated/maxloc1_8_i8.c: Regenerated. - * generated/generated/maxloc1_8_r10.c: Regenerated. - * generated/generated/maxloc1_8_r16.c: Regenerated. - * generated/generated/maxloc1_8_r4.c: Regenerated. - * generated/generated/maxloc1_8_r8.c: Regenerated. - * generated/generated/maxval_i16.c: Regenerated. - * generated/generated/maxval_i1.c: Regenerated. - * generated/generated/maxval_i2.c: Regenerated. - * generated/generated/maxval_i4.c: Regenerated. - * generated/generated/maxval_i8.c: Regenerated. - * generated/generated/maxval_r10.c: Regenerated. - * generated/generated/maxval_r16.c: Regenerated. - * generated/generated/maxval_r4.c: Regenerated. - * generated/generated/maxval_r8.c: Regenerated. - * generated/generated/minloc1_16_i16.c: Regenerated. - * generated/generated/minloc1_16_i1.c: Regenerated. - * generated/generated/minloc1_16_i2.c: Regenerated. - * generated/generated/minloc1_16_i4.c: Regenerated. - * generated/generated/minloc1_16_i8.c: Regenerated. - * generated/generated/minloc1_16_r10.c: Regenerated. - * generated/generated/minloc1_16_r16.c: Regenerated. - * generated/generated/minloc1_16_r4.c: Regenerated. - * generated/generated/minloc1_16_r8.c: Regenerated. - * generated/generated/minloc1_4_i16.c: Regenerated. - * generated/generated/minloc1_4_i1.c: Regenerated. - * generated/generated/minloc1_4_i2.c: Regenerated. - * generated/generated/minloc1_4_i4.c: Regenerated. - * generated/generated/minloc1_4_i8.c: Regenerated. - * generated/generated/minloc1_4_r10.c: Regenerated. - * generated/generated/minloc1_4_r16.c: Regenerated. - * generated/generated/minloc1_4_r4.c: Regenerated. - * generated/generated/minloc1_4_r8.c: Regenerated. - * generated/generated/minloc1_8_i16.c: Regenerated. - * generated/generated/minloc1_8_i1.c: Regenerated. - * generated/generated/minloc1_8_i2.c: Regenerated. - * generated/generated/minloc1_8_i4.c: Regenerated. - * generated/generated/minloc1_8_i8.c: Regenerated. - * generated/generated/minloc1_8_r10.c: Regenerated. - * generated/generated/minloc1_8_r16.c: Regenerated. - * generated/generated/minloc1_8_r4.c: Regenerated. - * generated/generated/minloc1_8_r8.c: Regenerated. - * generated/generated/minval_i16.c: Regenerated. - * generated/generated/minval_i1.c: Regenerated. - * generated/generated/minval_i2.c: Regenerated. - * generated/generated/minval_i4.c: Regenerated. - * generated/generated/minval_i8.c: Regenerated. - * generated/generated/minval_r10.c: Regenerated. - * generated/generated/minval_r16.c: Regenerated. - * generated/generated/minval_r4.c: Regenerated. - * generated/generated/minval_r8.c: Regenerated. - * generated/generated/product_c10.c: Regenerated. - * generated/generated/product_c16.c: Regenerated. - * generated/generated/product_c4.c: Regenerated. - * generated/generated/product_c8.c: Regenerated. - * generated/generated/product_i16.c: Regenerated. - * generated/generated/product_i1.c: Regenerated. - * generated/generated/product_i2.c: Regenerated. - * generated/generated/product_i4.c: Regenerated. - * generated/generated/product_i8.c: Regenerated. - * generated/generated/product_r10.c: Regenerated. - * generated/generated/product_r16.c: Regenerated. - * generated/generated/product_r4.c: Regenerated. - * generated/generated/product_r8.c: Regenerated. - * generated/generated/sum_c10.c: Regenerated. - * generated/generated/sum_c16.c: Regenerated. - * generated/generated/sum_c4.c: Regenerated. - * generated/generated/sum_c8.c: Regenerated. - * generated/generated/sum_i16.c: Regenerated. - * generated/generated/sum_i1.c: Regenerated. - * generated/generated/sum_i2.c: Regenerated. - * generated/generated/sum_i4.c: Regenerated. - * generated/generated/sum_i8.c: Regenerated. - * generated/generated/sum_r10.c: Regenerated. - * generated/generated/sum_r16.c: Regenerated. - * generated/generated/sum_r4.c: Regenerated. - * generated/generated/sum_r8.c: Regenerated. - -2011-09-01 Thomas Koenig <tkoenig@gcc.gnu.org> - - * generated/bessel_r4.c: Regenerated. - * generated/bessel_r8.c: Regenerated. - * generated/bessel_r10.c: Regenerated. - * generated/bessel_r16.c: Regenerated. - -2011-08-29 Tobias Burnus <burnus@net-b.de> - - * caf/libcaf.h (_gfortran_caf_deregister): Update prototype. - * caf/mpi.c (_gfortran_caf_deregister): Modify prototype, - actually free memory and add error diagnostic. - (_gfortran_caf_finalize): Add additional free calls. - * caf/single.c (_gfortran_caf_deregister): Modify prototype, - actually free memory and add error diagnostic. - (_gfortran_caf_finalize): Add additional free calls. - -2011-08-29 Thomas Koenig <tkoenig@gcc.gnu.org> - - PR libfortran/50192 - * intrinsics/string_intrinsics.c (memcmp_char4): New function. - * intrinsics/string_intrinsics_inc.c: New macro MEMCMP, either - set to memcmp or memcmp_char4. - (compare_string): Use MEMCMP, with correct size for it. - * libgfortran.h: Add prototype for memcmp_char4. - -2011-08-28 Thomas Koenig <tkoenig@gcc.gnu.org> - - PR fortran/40866 - * generated/iall_i1.c: Regenerated. - * generated/iall_i16.c: Regenerated. - * generated/iall_i2.c: Regenerated. - * generated/iall_i4.c: Regenerated. - * generated/iall_i8.c: Regenerated. - * generated/iany_i1.c: Regenerated. - * generated/iany_i16.c: Regenerated. - * generated/iany_i2.c: Regenerated. - * generated/iany_i4.c: Regenerated. - * generated/iany_i8.c: Regenerated. - * generated/iparity_i1.c: Regenerated. - * generated/iparity_i16.c: Regenerated. - * generated/iparity_i2.c: Regenerated. - * generated/iparity_i4.c: Regenerated. - * generated/iparity_i8.c: Regenerated. - * generated/norm2_r10.c: Regenerated. - * generated/norm2_r16.c: Regenerated. - * generated/norm2_r4.c: Regenerated. - * generated/norm2_r8.c: Regenerated. - * generated/parity_l1.c: Regenerated. - * generated/parity_l16.c: Regenerated. - * generated/parity_l2.c: Regenerated. - * generated/parity_l4.c: Regenerated. - * generated/parity_l8.c: Regenerated. - * generated/misc_specifics.F90: Regenerated (comment change). - * generated/_abs_c10.F90: Regenerated (comment change). - * generated/_abs_c16.F90: Regenerated (comment change). - * generated/_abs_c4.F90: Regenerated (comment change). - * generated/_abs_c8.F90: Regenerated (comment change). - * generated/_abs_i16.F90: Regenerated (comment change). - * generated/_abs_i4.F90: Regenerated (comment change). - * generated/_abs_i8.F90: Regenerated (comment change). - * generated/_abs_r10.F90: Regenerated (comment change). - * generated/_abs_r16.F90: Regenerated (comment change). - * generated/_abs_r4.F90: Regenerated (comment change). - * generated/_abs_r8.F90: Regenerated (comment change). - * generated/_acosh_r10.F90: Regenerated (comment change). - * generated/_acosh_r16.F90: Regenerated (comment change). - * generated/_acosh_r4.F90: Regenerated (comment change). - * generated/_acosh_r8.F90: Regenerated (comment change). - * generated/_acos_r10.F90: Regenerated (comment change). - * generated/_acos_r16.F90: Regenerated (comment change). - * generated/_acos_r4.F90: Regenerated (comment change). - * generated/_acos_r8.F90: Regenerated (comment change). - * generated/_aimag_c10.F90: Regenerated (comment change). - * generated/_aimag_c16.F90: Regenerated (comment change). - * generated/_aimag_c4.F90: Regenerated (comment change). - * generated/_aimag_c8.F90: Regenerated (comment change). - * generated/_aint_r10.F90: Regenerated (comment change). - * generated/_aint_r16.F90: Regenerated (comment change). - * generated/_aint_r4.F90: Regenerated (comment change). - * generated/_aint_r8.F90: Regenerated (comment change). - * generated/_anint_r10.F90: Regenerated (comment change). - * generated/_anint_r16.F90: Regenerated (comment change). - * generated/_anint_r4.F90: Regenerated (comment change). - * generated/_anint_r8.F90: Regenerated (comment change). - * generated/_asinh_r10.F90: Regenerated (comment change). - * generated/_asinh_r16.F90: Regenerated (comment change). - * generated/_asinh_r4.F90: Regenerated (comment change). - * generated/_asinh_r8.F90: Regenerated (comment change). - * generated/_asin_r10.F90: Regenerated (comment change). - * generated/_asin_r16.F90: Regenerated (comment change). - * generated/_asin_r4.F90: Regenerated (comment change). - * generated/_asin_r8.F90: Regenerated (comment change). - * generated/_atan2_r10.F90: Regenerated (comment change). - * generated/_atan2_r16.F90: Regenerated (comment change). - * generated/_atan2_r4.F90: Regenerated (comment change). - * generated/_atan2_r8.F90: Regenerated (comment change). - * generated/_atanh_r10.F90: Regenerated (comment change). - * generated/_atanh_r16.F90: Regenerated (comment change). - * generated/_atanh_r4.F90: Regenerated (comment change). - * generated/_atanh_r8.F90: Regenerated (comment change). - * generated/_atan_r10.F90: Regenerated (comment change). - * generated/_atan_r16.F90: Regenerated (comment change). - * generated/_atan_r4.F90: Regenerated (comment change). - * generated/_atan_r8.F90: Regenerated (comment change). - * generated/_conjg_c10.F90: Regenerated (comment change). - * generated/_conjg_c16.F90: Regenerated (comment change). - * generated/_conjg_c4.F90: Regenerated (comment change). - * generated/_conjg_c8.F90: Regenerated (comment change). - * generated/_cosh_r10.F90: Regenerated (comment change). - * generated/_cosh_r16.F90: Regenerated (comment change). - * generated/_cosh_r4.F90: Regenerated (comment change). - * generated/_cosh_r8.F90: Regenerated (comment change). - * generated/_cos_c10.F90: Regenerated (comment change). - * generated/_cos_c16.F90: Regenerated (comment change). - * generated/_cos_c4.F90: Regenerated (comment change). - * generated/_cos_c8.F90: Regenerated (comment change). - * generated/_cos_r10.F90: Regenerated (comment change). - * generated/_cos_r16.F90: Regenerated (comment change). - * generated/_cos_r4.F90: Regenerated (comment change). - * generated/_cos_r8.F90: Regenerated (comment change). - * generated/_dim_i16.F90: Regenerated (comment change). - * generated/_dim_i4.F90: Regenerated (comment change). - * generated/_dim_i8.F90: Regenerated (comment change). - * generated/_dim_r10.F90: Regenerated (comment change). - * generated/_dim_r16.F90: Regenerated (comment change). - * generated/_dim_r4.F90: Regenerated (comment change). - * generated/_dim_r8.F90: Regenerated (comment change). - * generated/_exp_c10.F90: Regenerated (comment change). - * generated/_exp_c16.F90: Regenerated (comment change). - * generated/_exp_c4.F90: Regenerated (comment change). - * generated/_exp_c8.F90: Regenerated (comment change). - * generated/_exp_r10.F90: Regenerated (comment change). - * generated/_exp_r16.F90: Regenerated (comment change). - * generated/_exp_r4.F90: Regenerated (comment change). - * generated/_exp_r8.F90: Regenerated (comment change). - * generated/_log10_r10.F90: Regenerated (comment change). - * generated/_log10_r16.F90: Regenerated (comment change). - * generated/_log10_r4.F90: Regenerated (comment change). - * generated/_log10_r8.F90: Regenerated (comment change). - * generated/_log_c10.F90: Regenerated (comment change). - * generated/_log_c16.F90: Regenerated (comment change). - * generated/_log_c4.F90: Regenerated (comment change). - * generated/_log_c8.F90: Regenerated (comment change). - * generated/_log_r10.F90: Regenerated (comment change). - * generated/_log_r16.F90: Regenerated (comment change). - * generated/_log_r4.F90: Regenerated (comment change). - * generated/_log_r8.F90: Regenerated (comment change). - * generated/_mod_i16.F90: Regenerated (comment change). - * generated/_mod_i4.F90: Regenerated (comment change). - * generated/_mod_i8.F90: Regenerated (comment change). - * generated/_mod_r10.F90: Regenerated (comment change). - * generated/_mod_r16.F90: Regenerated (comment change). - * generated/_mod_r4.F90: Regenerated (comment change). - * generated/_mod_r8.F90: Regenerated (comment change). - * generated/_sign_i16.F90: Regenerated (comment change). - * generated/_sign_i4.F90: Regenerated (comment change). - * generated/_sign_i8.F90: Regenerated (comment change). - * generated/_sign_r10.F90: Regenerated (comment change). - * generated/_sign_r16.F90: Regenerated (comment change). - * generated/_sign_r4.F90: Regenerated (comment change). - * generated/_sign_r8.F90: Regenerated (comment change). - * generated/_sinh_r10.F90: Regenerated (comment change). - * generated/_sinh_r16.F90: Regenerated (comment change). - * generated/_sinh_r4.F90: Regenerated (comment change). - * generated/_sinh_r8.F90: Regenerated (comment change). - * generated/_sin_c10.F90: Regenerated (comment change). - * generated/_sin_c16.F90: Regenerated (comment change). - * generated/_sin_c4.F90: Regenerated (comment change). - * generated/_sin_c8.F90: Regenerated (comment change). - * generated/_sin_r10.F90: Regenerated (comment change). - * generated/_sin_r16.F90: Regenerated (comment change). - * generated/_sin_r4.F90: Regenerated (comment change). - * generated/_sin_r8.F90: Regenerated (comment change). - * generated/_sqrt_c10.F90: Regenerated (comment change). - * generated/_sqrt_c16.F90: Regenerated (comment change). - * generated/_sqrt_c4.F90: Regenerated (comment change). - * generated/_sqrt_c8.F90: Regenerated (comment change). - * generated/_sqrt_r10.F90: Regenerated (comment change). - * generated/_sqrt_r16.F90: Regenerated (comment change). - * generated/_sqrt_r4.F90: Regenerated (comment change). - * generated/_sqrt_r8.F90: Regenerated (comment change). - * generated/_tanh_r10.F90: Regenerated (comment change). - * generated/_tanh_r16.F90: Regenerated (comment change). - * generated/_tanh_r4.F90: Regenerated (comment change). - * generated/_tanh_r8.F90: Regenerated (comment change). - * generated/_tan_r10.F90: Regenerated (comment change). - * generated/_tan_r16.F90: Regenerated (comment change). - * generated/_tan_r4.F90: Regenerated (comment change). - * generated/_tan_r8.F90: Regenerated (comment change). - -2011-08-18 Tobias Burnus <burnus@net-b.de> - - PR fortran/50109 - * io/list_read.c (eat_separator): Fix skipping over "!" lines. - -2011-07-23 Andreas Schwab <schwab@linux-m68k.org> - - * intrinsics/ctime.c: Include <stdlib.h>. - * intrinsics/getlog.c: Likewise. - * runtime/stop.c: Likewise. - -2011-07-23 Tobias Burnus <burnus@net-b.de> - - PR fortran/49791 - * io/list_read.c (nml_parse_qualifier): Remove check to - enabled extended read for another case. - -2011-07-15 Daniel Carrera <dcarrera@gmail.com> - - * caf/mpi.c (caf_runtime_error): Change fprintf to vfprintf. - * caf/single.c (caf_runtime_error): Ditto. - -2011-07-14 Daniel Carrera <dcarrera@gmail.com> - - * caf/single.c: Include stdarg.h header. - (caf_runtime_error): New function. Use "exit(EXIT_FAILURE)". - (_gfortran_caf_register): Use caf_runtime_error. - (_gfortran_caf_sync_images): Use "exit(EXIT_FAILURE)". - * caf/mpi.c (caf_runtime_error): Remove "error" parameter. - Return EXIT_FAILURE instead. - (_gfortran_caf_register): Update call to caf_runtime_error. - (_gfortran_caf_sync_all): Ditto. - (_gfortran_caf_sync_images): Ditto. - (_gfortran_caf_error_stop_str): Use "exit(EXIT_FAILURE)". - -2011-07-13 Janne Blomqvist <jb@gcc.gnu.org> - - PR libfortran/49296 - * io/list_read.c (read_logical): Don't error out if a valid value - is followed by EOF instead of a normal separator. - (read_integer): Likewise. - -2011-07-09 Tobias Burnus <burnus@net-b.de> - - * runtime/error.c (sys_abort): Change argument list - from "()" to "(void)". - -2011-07-09 Tobias Burnus <burnus@net-b.de> - Daniel Carrera <dcarrera@gmail.com> - - * caf/mpi.c (runtime_error): New function. - (_gfortran_caf_register): Use it. - (_gfortran_caf_sync_all): Use it, add STAT_STOPPED_IMAGE - as possible status value. - (_gfortran_caf_sync_images): Ditto. - -2011-07-07 Tobias Burnus <burnus@net-b.de> - - * libcaf.h (__attribute__, unlikely, likely): New macros. - (caf_register_t): Update comment. - (_gfortran_caf_register): Add stat, errmsg, errmsg_len arguments. - * single.c (_gfortran_caf_register): Ditto; add error diagnostics. - * mpi.c (_gfortran_caf_register): Ditto. - (caf_is_finalized): New global variable. - (_gfortran_caf_finalize): Use it. - -2011-07-05 Thomas Koenig <tkoenig@gcc.gnu.org> - - * runtime/memory.c (internal_malloc_size): If size is zero, - allocate a single byte. - * m4/pack.m4 (pack_'rtype_code`): Don't check for zero size - for the argument of internal_malloc_size. - * m4/spread.m4 (spread_'rtype_code`): Likewise. - * m4/eoshift1.m4 (eoshift1): Don't allocate twice. Don't check - for zero size for the argument of internal_malloc_size. - * m4/eoshift3.m4: Don't check for zero size for the argument of - internal_malloc_size. - * intrinsics/pack_generic.c (pack_internal): Likewise. - (pack_s_internal): Likewise. - * intrinsics/cshift0.c (cshift0): Likewise. - * intrinsics/spread_generic.c (spread_internal): Likewise. - * intrinsics/eoshift0.c (eoshift0): Likewise. - * intrinsics/eoshift2.c (eoshift2): Likewise. - * generated/eoshift1_16.c: Regenerated. - * generated/eoshift1_4.c: Regenerated. - * generated/eoshift1_8.c: Regenerated. - * generated/eoshift3_16.c: Regenerated. - * generated/eoshift3_4.c: Regenerated. - * generated/eoshift3_8.c: Regenerated. - * generated/pack_c10.c: Regenerated. - * generated/pack_c16.c: Regenerated. - * generated/pack_c4.c: Regenerated. - * generated/pack_c8.c: Regenerated. - * generated/pack_i16.c: Regenerated. - * generated/pack_i1.c: Regenerated. - * generated/pack_i2.c: Regenerated. - * generated/pack_i4.c: Regenerated. - * generated/pack_i8.c: Regenerated. - * generated/pack_r10.c: Regenerated. - * generated/pack_r16.c: Regenerated. - * generated/pack_r4.c: Regenerated. - * generated/pack_r8.c: Regenerated. - * generated/spread_c10.c: Regenerated. - * generated/spread_c16.c: Regenerated. - * generated/spread_c4.c: Regenerated. - * generated/spread_c8.c: Regenerated. - * generated/spread_i16.c: Regenerated. - * generated/spread_i1.c: Regenerated. - * generated/spread_i2.c: Regenerated. - * generated/spread_i4.c: Regenerated. - * generated/spread_i8.c: Regenerated. - * generated/spread_r10.c: Regenerated. - * generated/spread_r16.c: Regenerated. - * generated/spread_r4.c: Regenerated. - * generated/spread_r8.c: Regenerated. - -2011-06-28 Thomas Koenig <tkoenig@gcc.gnu.org> - - PR fortran/49479 - * m4/reshape.m4: If source allocation is smaller than one, set it - to one. - * intrinsics/reshape_generic.c: Likewise. - * generated/reshape_r16.c: Regenerated. - * generated/reshape_c4.c: Regenerated. - * generated/reshape_c16.c: Regenerated. - * generated/reshape_c8.c: Regenerated. - * generated/reshape_r4.c: Regenerated. - * generated/reshape_i4.c: Regenerated. - * generated/reshape_r10.c: Regenerated. - * generated/reshape_r8.c: Regenerated. - * generated/reshape_c10.c: Regenerated. - * generated/reshape_i8.c: Regenerated. - * generated/reshape_i16.c: Regenerated. - -2011-06-18 Janne Blomqvist <jb@gcc.gnu.org> - - PR libfortran/49296 - * io/list_read.c (read_character): Accept EOF as a separator when - reading string. - -2011-06-17 Daniel Carrera <dcarrera@gmail.com> - - * caf/single.c (_gfortran_caf_register): Store the address - of all static coarrays in a linked list. - (_gfortran_caf_finalize): Free memory of staic coarrays. - * caf/mpi.c (_gfortran_caf_register): Store the address - of all static coarrays in a linked list. Initialize MPI - if necessary. - (_gfortran_caf_finalize): Free memory of staic coarrays. - (_gfortran_caf_init): Check if MPI is already initialized - before initializing again. - * caf/libcaf.h: Add a type to caf_register_t to distinguish - static coarrays and add the type caf_static_t to make the - linked list of static coarrays. - -2011-06-11 Janne Blomqvist <jb@gcc.gnu.org> - - * io/unix.c (buf_seek): Return error if file is not seekable. - (buf_tell): Call buf_seek. - -2011-06-11 Janne Blomqvist <jb@gcc.gnu.org> - - * io/unix.c (fd_to_stream): Figure out if a fd is seekable by - trying lseek(). - -2011-06-10 Daniel Carrera <dcarrera@gmail.com> - - * caf/mpi.c (_gfortran_caf_sync_all, - _gfortran_caf_sync_images): Functions have void return type - and move status into parameter list. - * caf/single.c (_gfortran_caf_sync_all, - _gfortran_caf_sync_images): Functions have void return type - and move status into parameter list. - * caf/libcaf.h (_gfortran_caf_sync_all, - _gfortran_caf_sync_images): Functions have void return type - and move status into parameter list. - -2011-06-03 Richard Henderson <rth@redhat.com> - Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> - - * config/fpu-387.h [__sun__ && __svr4__] (sigill_hdlr): Correct - insn, insn size. - (has_sse) [!__x86_64__ && __sun__ && __svr4__]: Use movaps. - -2011-05-29 Janne Blomqvist <jb@gcc.gnu.org> - - PR libfortran/48931 - * libgfortran.h (find_addr2line): New prototype. - * runtime/backtrace.c (show_backtrace): Use async-signal-safe - execve and stored path of addr2line. - * runtime/compile_options.c (maybe_find_addr2line): New function. - (set_options): Call maybe_find_addr2line if backtracing is enabled. - * runtime/main.c (find_addr2line): New function. - (init): Call find_addr2line if backtracing is enabled. - (cleanup): Free addr2line_path. - -2011-05-29 Janne Blomqvist <jb@gcc.gnu.org> - - PR libfortran/49214 - * runtime/backtrace.c (fd_gets): Return NULL if nothing was read. - -2011-05-29 Janne Blomqvist <jb@gcc.gnu.org> - - PR libfortran/19155 - * io/read.c (convert_real): Check for invalid input by comparing - endptr instead of EINVAL. - (read_f): Fixup floating point input without significand. - -2011-05-22 Tobias Burnus <burnus@net-b.de> - - * runtime/stop.c (stop_string,error_stop_string): Minor cleanup. - -2011-05-22 Janne Blomqvist <jb@gcc.gnu.org> - - PR libfortran/48931 - * configure.ac: Check for backtrace_symbols_fd instead of - backtrace_symbols, check for readlink. - * config.h.in: Regenerated. - * configure: Regenerated. - * runtime/backtrace.c (local_strcasestr): Remove. - (bt_header): New function. - (dump_glibc_backtrace): Remove. - (fd_gets): New function. - (show_backtrace): Rework to use backtrace_symbols_fd and pipes - avoiding functions that are not async-signal-safe, reformat - output. - * runtime/main.c (store_exe_path): Try to check /proc/self/exe - first. - -2011-05-20 Janne Blomqvist <jb@gcc.gnu.org> - Uros Bizjak <ubizjak@gmail.com> - - PR libfortran/48977 - * configure.host: Swap order of glibc and x86 tests. - -2011-05-20 Janne Blomqvist <jb@gcc.gnu.org> - - * config/fpu-387.h (set_fpu): Use renamed inexact macro. - * config/fpu-aix.h (set_fpu): Clarify error messages, use renamed - inexact macro, set TRP_INEXACT for inexact exception instead of - TRP_UNDERFLOW. - * config/fpu-generic.h (set_fpu): Clarify error messages, use - renamed inexact macro. - * config/fpu-glibc.h (set_fpu): Likewise. - * config/fpu-sysv.h (set_fpu): Likewise. - -2011-05-14 Tobias Burnus <burnus@net-b.de> - - * runtime/stop.c (error_stop_string, error_stop_numeric): - Do not backtrace for ERROR STOP. - -2011-05-14 Janne Blomqvist <jb@gcc.gnu.org> - - PR libfortran/48915 - * intrinsics/abort.c (abort): Call sys_abort(). - * io/unix.c (st_vprintf): Call sys_abort(). - * libgfortran.h (options_t): Remove dump_core member. - (handler): Rename to backtrace_handler. - (compile_options_t): Remove dump_core member. - (sys_exit): Remove. - (sys_abort): New function. - * runtime/backtrace.c (show_backtrace): Print a message if - backtrace is not available on target, update filter symbol name - due to backtrace_handler renaming. - * runtime/compile_options.c (backtrace_handler): New - implementation based on example in Glibc manual. - (set_options): Remove dump_core handling, make signal handler - handle more signals. - (init_compile_options): Remove dump_core. - * runtime/environ.c (variable_table[]): Remove - GFORTRAN_ERROR_DUMPCORE element. - (show_variables): Update name, call exit(). - * runtime/error.c (sys_exit): Remove. - (sys_abort): New function. - (recursion_check): Call sys_abort(). - (os_error): Call exit(). - (runtime_error): Likewise. - (runtime_error_at): Likewise. - (internal_error): Likewise. - (generate_error): Likewise. - (notify_std): Likewise. - * runtime/stop.c (stop_numeric): Call exit(). - (stop_numeric_f08): Likewise. - (stop_string): Likewise. - (error_stop_string): Call sys_abort(). - (error_stop_numeric): Print backtrace, exit with provided code. - -2011-05-14 Janne Blomqvist <jb@gcc.gnu.org> - - * io/unix.c (st_vprintf,st_printf): Move to runtime/error.c. - * libgfortran.h (struct options_t): Remove use_stderr field. - (st_vprintf,st_printf): Move prototypes. - (estr_write): New prototype. - * runtime/error.c (sys_exit): Use estr_write instead of st_printf. - (estr_write): New function. - (st_vprintf): Move from io/unix.c, use stack allocated buffer, - always output to stderr. - (st_printf): Move from io/unix.c. - (show_locus): Use a local variable instead of static. - (os_error): Use estr_write instead of st_printf. - (runtime_error): Likewise. - (runtime_error_at): Likewise. - (runtime_warning_at): Likewise. - (internal_error): Likewise. - (generate_error): Likewise. - (generate_warning): Likewise. - (notify_std): Likewise. - * runtime/pause.c (do_pause): Likewise. - (pause_string): Likewise. - * runtime/stop.c (stop_string): Likewise. - (error_stop_string): Likewise. - * config/fpu_aix.h (set_fpu): Likewise. - * config/fpu_generic.h (set_fpu): Likewise. - * config/fpu_glibc.h (set_fpu): Likewise. - * config/fpu-sysv.h (set_fpu): Likewise. - * runtime/backtrace.c (dump_glibc_backtrace): Likewise. - (show_backtrace): Likewise. - * runtime/environ.c (print_spaces): Likewise. - (show_string): Likewise. - (show_variables): Likewise. - (variable_table[]): Remove GFORTRAN_USE_STDERR entry. - -2011-05-14 Tobias Burnus <burnus@net-b.de> - - PR fortran/48961 - * intrinsics/execute_command_line.c (set_cmdstat): Don't abort if - synchronously executing with WAIT=.false. - (execute_command_line): Fix setting of cmdstat and exitstat. - -2011-05-06 Tobias Burnus <burnus@net-b.de> - - PR fortran/18918 - * caf/libcaf.h: Cleanup headers. - (_gfortran_caf_critical, _gfortran_caf_end_critical): Make stub. - (caf_register_t): New enum. - (_gfortran_caf_register, _gfortran_caf_deregister): New prototype. - * caf/single.c (_gfortran_caf_critical, - _gfortran_caf_end_critical): Remove. - (_gfortran_caf_register, _gfortran_caf_deregister): New functions. - * caf/mpi.c (_gfortran_caf_critical, - _gfortran_caf_end_critical): Remove. - (_gfortran_caf_register, _gfortran_caf_deregister): New functions. - (caf_world_window): Remove global variable. - (_gfortran_caf_init): Fix off-by-one error of this_image. - -2011-05-04 Jerry DeLisle <jvdelisle@gcc.gnu.org> - - PR libgfortran/48787 - * io/write_float.def (output_float): Adjust up and down rounding for - cases where 'd' = 0. Gather common code to one location. - -2011-05-01 Jerry DeLisle <jvdelisle@gcc.gnu.org> - - PR libgfortran/48787 - * io/write_float.def (output_float): Gather up integer declarations and - add new 'p' for scale factor. Use 'p' in place of the 'dtp' reference - everywhere. For ROUND_UP scan the digit string and only perform - rounding if something other than '0' is found. - -2011-04-29 Janne Blomqvist <jb@gcc.gnu.org> - - * io/unix.c (min): New macro. - (unpack_filename): Return errno number for errors. - (regular_file): Use appropriately sized buffer for path. - (compare_file_filename): Likewise. - (find_file): Likewise. - (delete_file): Likewise. - (file_exists): Likewise. - (file_size): Likewise. - (inquire_sequential): Likewise. - (inquire_direct): Likewise. - (inquire_formatted): Likewise. - (inquire_access): Likewise. - -2011-04-29 Janne Blomqvist <jb@gcc.gnu.org> - - PR libfortran/48488 - * io/write.c (write_real, write_real_g0): Update comments. - -2011-04-29 Jerry DeLisle <jvdelisle@gcc.gnu.org> - Janne Blomqvist <jb@gcc.gnu.org> - - PR libgfortran/48488 - PR libgfortran/48602 - PR libgfortran/48615 - PR libgfortran/48684 - PR libgfortran/48787 - * io/write.c (write_d, write_e, write_f, write_en, - write_es): Add precision compemsation parameter to call. - (set_fnode_default): Adjust default widths to assure - round trip on write and read. (write_real): Adjust call to write_float. - (write_real_g0): Calculate compensation for extra precision and adjust - call to write_float. - * io/write_float.def (output_float_FMT_G_): Use volatile rather than - asm volatile to avoid optimization issue. Correctly calculate the - number of blanks (nb) to be appended and simplify calculation logic. - (write_float): Increase MIN_FIELD_WIDTH by one to accomodate the new - default widths. Eliminate the code that attempted to reduce the - the precision used in later sprintf functions. Add call parameter to - compensate for extra precision. - -2011-04-20 Jim Meyering <meyering@redhat.com> - - * intrinsics/move_alloc.c (move_alloc): Remove useless - if-before-free test. - * io/fbuf.c (fbuf_destroy): Likewise. - * io/format.c (save_parsed_format): Likewise. - * io/open.c (already_open): Likewise. - * io/unit.c (free_internal_unit, close_unit_1): Likewise. - * io/unix.c (mem_close): Likewise. -2011-04-19 Jerry DeLisle <jvdelisle@gcc.gnu.org> - - PR libgfortran/48602 - * io/write_float.def (output_float_FMT_G): Fix reversal in conditional. - Use asm volatile to mark temp variable, avoiding optimization errors. - -2011-04-17 Jerry DeLisle <jvdelisle@gcc.gnu.org> - - PR libgfortran/48602 - * io/write_float.def (output_float_FMT_G): Use current rounding mode - to set the rounding parameters. (output_float): Skip rounding - if value is zero. - -2011-04-16 Janne Blomqvist <jb@gcc.gnu.org> - - * intrinsics/date_and_time.c (date_and_time): Remove sprintf CPP - branch. - * io/format.c (format_error): Use snprintf instead of sprintf. - * io/list_read.c: Move snprintf fallback macro to libgfortran.h. - (convert_integer): Use snprintf instead of sprintf. - (parse_repeat): Likewise. - (read_logical): Likewise. - (read_integer): Likewise. - (read_character): Likewise. - (parse_real): Likewise. - (read_complex): Likewise. - (read_real): Likewise. - (check_type): Likewise. - (nml_parse_qualifier): Add string length argument, use snprintf - instead of sprintf. - (nml_get_obj_data): Use snprintf instead of sprintf. - * io/open.c (new_unit): Remove sprintf CPP branch, use snprintf - instead of sprintf. - * io/transfer.c (require_type): Use snprintf instead of sprintf. - * io/unix.c (tempfile): Likewise. - * io/write.c (nml_write_obj): Likewise. - * io/write_float.def (output_float): Remove sprintf CPP branch, - use snprintf instead of sprintf. - * libgfortran.h: Add fallback snprintf macro from io/list_read.c. - * runtime/backtrace.c (show_backtrace): Remove sprintf CPP branch. - * runtime/main.c (store_exe_path): Use snprintf instead of - sprintf. - -2011-04-15 Jerry DeLisle <jvdelisle@gcc.gnu.org> - - PR libgfortran/48589 - * io/write_float.def (write_infnan): Set width properly for G0. - -2011-04-15 Tobias Burnus <burnus@net-b.de> - - PR fortran/18918 - * Makefile.am: Build and install caf/single.c as - libcaf_single.a. - * Makefile.in: Regenerate. - -2011-04-15 Janne Blomqvist <jb@gcc.gnu.org> - - PR libfortran/47571 - * configure: Regenerated. - * config.h.in: Regenerated. - * acinclude.m4: Add alpha*-dec-osf* to gthread blacklist. - * configure.ac: Use separate symbol for clock_gettime in librt. - * intrinsics/system_clock.c: Use weakrefs only when needed and - supported. - -2011-04-12 Janne Blomqvist <jb@gcc.gnu.org> - - * configure.ac: Use AC_TYPE_* to make sure we have (u)intptr_t, - check for ptrdiff_t. - * libgfortran.h: Remove (u)intptr_t definitions, use ptrdiff_t for - index_type, change cshift0* prototypes. - * config.h.in: Regenerated. - * configure: Regenerated. - * intrinsics/cshift0.c (cshift0): Use ptrdiff_t instead of ssize_t. - * io/io.h (array_loop_spec): Use index_type instead of ssize_t. - * io/list_read.c (nml_parse_qualifier): Likewise. - * io/write.c (nml_write_obj): Likewise. - * m4/cshift0.c (cshift0_'rtype_code`): Likewise. - * generated/cshift0_*.c: Regenerated. - -2011-04-12 Janne Blomqvist <jb@gcc.gnu.org> - - * Makefile.am: Remove _GNU_SOURCE from AM_CPPFLAGS. - * Makefile.in: Regenerated. - -2011-04-06 Tobias Burnus <burnus@net-b.de> - - PR fortran/18918 - * caf/mpi.c (_gfortran_caf_init, _gfortran_caf_finalize): - Add global variable caf_mpi_initialized and use it for when - finalizing. - -2011-04-04 Tobias Burnus <burnus@net-b.de> - - * unix.c: Adapt stat DEFINEs since MinGW64 supports LFS. - (fallback_access, open_internal4, compare_file_filename, - find_file, file_size, inquire_sequential, inquire_direct, - inquire_formatted): Use "struct stat" instead of gfstat_t. - -2011-03-27 Tobias Burnus <burnus@net-b.de> - - PR fortran/18918 - * caf/libcaf.h: New - coarray communication library. - * caf/mpi.c: New. - * caf/single.c: New. - -2011-03-23 Jerry DeLisle <jvdelisle@gcc.gnu.org> - - PR libgfortran/48030 - * io/read.c (read_x): Re-implement using fbuf_getc. - -2011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> - - PR bootstrap/48135 - * configure.ac (gfortran_use_symver): Handle --disable-symvers. - * configure: Regenerate. - -2011-03-19 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> - - PR fortran/35667 - * io/io.h (convert_infnan): Declare. - * io/read.c (convert_infnan): New. - (read_f): Use convert_infnan to convert INFs and NANs. - * list_read.c (parse_real, read_real): Likewise. - -2011-03-19 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> - - PR libfortran/47439 - * io/unix.c (tempfile): Work around poor mktemp() implementations. - -2011-03-16 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> - - PR libfortran/47883 - * acinclude.m4: Don't use AC_TRY_ macros. - * configure.ac: Likewise. - * configure: Regenerate. - -2011-03-12 Thomas Koenig <tkoenig@gcc.gnu.org> - - PR libfortran/48066 - * m4/ifunction.m4: If return array is empty, return. - * m4/ifunction_logical.m4: Likewise. - * generated/all_l16.c: Regenerated. - * generated/all_l1.c: Regenerated. - * generated/all_l2.c: Regenerated. - * generated/all_l4.c: Regenerated. - * generated/all_l8.c: Regenerated. - * generated/any_l16.c: Regenerated. - * generated/any_l1.c: Regenerated. - * generated/any_l2.c: Regenerated. - * generated/any_l4.c: Regenerated. - * generated/any_l8.c: Regenerated. - * generated/count_16_l.c: Regenerated. - * generated/count_1_l.c: Regenerated. - * generated/count_2_l.c: Regenerated. - * generated/count_4_l.c: Regenerated. - * generated/count_8_l.c: Regenerated. - * generated/maxloc1_16_i16.c: Regenerated. - * generated/maxloc1_16_i1.c: Regenerated. - * generated/maxloc1_16_i2.c: Regenerated. - * generated/maxloc1_16_i4.c: Regenerated. - * generated/maxloc1_16_i8.c: Regenerated. - * generated/maxloc1_16_r10.c: Regenerated. - * generated/maxloc1_16_r16.c: Regenerated. - * generated/maxloc1_16_r4.c: Regenerated. - * generated/maxloc1_16_r8.c: Regenerated. - * generated/maxloc1_4_i16.c: Regenerated. - * generated/maxloc1_4_i1.c: Regenerated. - * generated/maxloc1_4_i2.c: Regenerated. - * generated/maxloc1_4_i4.c: Regenerated. - * generated/maxloc1_4_i8.c: Regenerated. - * generated/maxloc1_4_r10.c: Regenerated. - * generated/maxloc1_4_r16.c: Regenerated. - * generated/maxloc1_4_r4.c: Regenerated. - * generated/maxloc1_4_r8.c: Regenerated. - * generated/maxloc1_8_i16.c: Regenerated. - * generated/maxloc1_8_i1.c: Regenerated. - * generated/maxloc1_8_i2.c: Regenerated. - * generated/maxloc1_8_i4.c: Regenerated. - * generated/maxloc1_8_i8.c: Regenerated. - * generated/maxloc1_8_r10.c: Regenerated. - * generated/maxloc1_8_r16.c: Regenerated. - * generated/maxloc1_8_r4.c: Regenerated. - * generated/maxloc1_8_r8.c: Regenerated. - * generated/maxval_i16.c: Regenerated. - * generated/maxval_i1.c: Regenerated. - * generated/maxval_i2.c: Regenerated. - * generated/maxval_i4.c: Regenerated. - * generated/maxval_i8.c: Regenerated. - * generated/maxval_r10.c: Regenerated. - * generated/maxval_r16.c: Regenerated. - * generated/maxval_r4.c: Regenerated. - * generated/maxval_r8.c: Regenerated. - * generated/minloc1_16_i16.c: Regenerated. - * generated/minloc1_16_i1.c: Regenerated. - * generated/minloc1_16_i2.c: Regenerated. - * generated/minloc1_16_i4.c: Regenerated. - * generated/minloc1_16_i8.c: Regenerated. - * generated/minloc1_16_r10.c: Regenerated. - * generated/minloc1_16_r16.c: Regenerated. - * generated/minloc1_16_r4.c: Regenerated. - * generated/minloc1_16_r8.c: Regenerated. - * generated/minloc1_4_i16.c: Regenerated. - * generated/minloc1_4_i1.c: Regenerated. - * generated/minloc1_4_i2.c: Regenerated. - * generated/minloc1_4_i4.c: Regenerated. - * generated/minloc1_4_i8.c: Regenerated. - * generated/minloc1_4_r10.c: Regenerated. - * generated/minloc1_4_r16.c: Regenerated. - * generated/minloc1_4_r4.c: Regenerated. - * generated/minloc1_4_r8.c: Regenerated. - * generated/minloc1_8_i16.c: Regenerated. - * generated/minloc1_8_i1.c: Regenerated. - * generated/minloc1_8_i2.c: Regenerated. - * generated/minloc1_8_i4.c: Regenerated. - * generated/minloc1_8_i8.c: Regenerated. - * generated/minloc1_8_r10.c: Regenerated. - * generated/minloc1_8_r16.c: Regenerated. - * generated/minloc1_8_r4.c: Regenerated. - * generated/minloc1_8_r8.c: Regenerated. - * generated/minval_i16.c: Regenerated. - * generated/minval_i1.c: Regenerated. - * generated/minval_i2.c: Regenerated. - * generated/minval_i4.c: Regenerated. - * generated/minval_i8.c: Regenerated. - * generated/minval_r10.c: Regenerated. - * generated/minval_r16.c: Regenerated. - * generated/minval_r4.c: Regenerated. - * generated/minval_r8.c: Regenerated. - * generated/product_c10.c: Regenerated. - * generated/product_c16.c: Regenerated. - * generated/product_c4.c: Regenerated. - * generated/product_c8.c: Regenerated. - * generated/product_i16.c: Regenerated. - * generated/product_i1.c: Regenerated. - * generated/product_i2.c: Regenerated. - * generated/product_i4.c: Regenerated. - * generated/product_i8.c: Regenerated. - * generated/product_r10.c: Regenerated. - * generated/product_r16.c: Regenerated. - * generated/product_r4.c: Regenerated. - * generated/product_r8.c: Regenerated. - * generated/sum_c10.c: Regenerated. - * generated/sum_c16.c: Regenerated. - * generated/sum_c4.c: Regenerated. - * generated/sum_c8.c: Regenerated. - * generated/sum_i16.c: Regenerated. - * generated/sum_i1.c: Regenerated. - * generated/sum_i2.c: Regenerated. - * generated/sum_i4.c: Regenerated. - * generated/sum_i8.c: Regenerated. - * generated/sum_r10.c: Regenerated. - * generated/sum_r16.c: Regenerated. - * generated/sum_r4.c: Regenerated. - * generated/sum_r8.c: Regenerated. - -2011-03-11 Jerry DeLisle <jvdelisle@gcc.gnu.org> - - PR libgfortran/48047 - * io/write_float.def (write_float): Change MIN_FIELD_WIDTH to 48. - -2011-03-04 Janne Blomqvist <jb@gcc.gnu.org> - - PR libfortran/47802 - * intrinsics/ctime.c (strctime): Use builtins to check localtime_r - return type. - -2011-03-04 Janne Blomqvist <jb@gcc.gnu.org> - - PR libfortran/47802 - * intrinsics/ctime.c (strctime): Don't use return value of - localtime_r. - -2011-02-28 Jerry DeLisle <jvdelisle@gcc.gnu.org> - - PR libgfortran/47567 - * io/write_float.def (output_float): Move handling of w = 0 to after - output rounding. Check for zero and set zero_flag accordingly. Set - width according to zero_flag. Add better comments. - -2011-02-27 Jerry DeLisle <jvdelisle@gcc.gnu.org> - - PR libgfortran/47778 - * io/list_read.c (namelist_read): Intialize the error string buffere. - If pprev_nl was used during the previous namelist read and the rank - was zero, reset the pointer to NULL for the next namelist read. - -2011-02-26 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> - - PR libfortran/45165 - * unix.c (fallback_access): Fix file descriptor leaks. - -2011-02-25 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> - - * acinclude.m4 (LIBGFOR_CHECK_FPSETMASK): Set shell variable - tested in configure.host. - * configure: Regenerate. - -2011-02-24 Janne Blomqvist <jb@gcc.gnu.org> - - PR libfortran/47802 - * config.h.in: Regenerated. - * configure: Regenerated. - * configure.ac: Remove checks for ctime and ctime_r, add check for - strftime. - * intrinsics/date_and_time.c (localtime_r): Move fallback - implementation to time_1.h. - * intrinsics/time_1.h (localtime_r): Fallback implementation. - * intrinsics/ctime.c: Include time_1.h. - (ctime_r): Remove fallback implementation. - (strctime): New function. - (fdate): Use strctime instead of ctime_r. - (fdate_sub): Likewise. - (ctime): Likewise. - (ctime_sub): Likewise. - -2011-02-24 Jakub Jelinek <jakub@redhat.com> - - PR fortran/47878 - * io/transfer.c (read_sf): Call fbuf_getptr only at the end, - and subtract n, dtp->u.p.sf_seen_eor and seen_comma from it. - -2011-02-24 Janne Blomqvist <jb@gcc.gnu.org> - - PR libfortran/47802 - * configure.ac: Add test for POSIX getpwuid_r. - * intrinsics/getlog.c (getlog): CPP test for - HAVE_POSIX_GETPWUID_R. - * config.h.in: Regenerated. - * configure: Regenerated. - -2011-02-23 Jerry DeLisle <jvdelisle@gcc.gnu.org> - - PR libgfortran/47567 - * io/write_float.def (output_float): Remove special case handling of - zero with width 1. - -2011-02-23 Janne Blomqvist <jb@gcc.gnu.org> - Jerry DeLisle <jvdelisle@gcc.gnu.org> - - PR libfortran/47694 - * io/fbuf.h (fbuf_getptr): New inline function. - * io/transfer.c (read_sf): Use fbuf_getptr and fbuf_getc to scan - through the string instead of fbuf_read. - -2011-02-22 Tobias Burnus <burnus@net-b.de> - Kai-Uwe Eckhardt <kuehro@gmx.de> - - PR libfortran/47830 - * intrinsics/c99_functions.c (roundl): Make C valid for - HAVE_NEXTAFTERL. - -2011-02-19 Jerry DeLisle <jvdelisle@gcc.gnu.org> - - PR libgfortran/47567 - * io/write_float.def (output_float): Adjust width for F0.d to - allow space for negative signs on zero. - -2011-02-16 Jerry DeLisle <jvdelisle@gcc.gnu.org> - - PR libgfortran/47667 - * io/list_read.c (read_logical): Check for end of line before calling - eat_line. (read_integer): Likewise. (parse_real): Don't unget the - separator. Check for end of line before calling eat_line. - (read_complex): Allow line-end before and after parenthesis and comma. - Check for end of line before calling eat_line. (read_real): Check for - end of line before calling eat_line. - -2011-02-16 Jakub Jelinek <jakub@redhat.com> - - PR libfortran/47757 - * gfortran.map (GFORTRAN_1.4): Export - _gfortran_{m,s}i{all,any,parity}_i{1,2,4,8,16} and - _gfortran_{cshift0,eoshift{0,2}}_16_char4. - -2011-02-15 Tobias Burnus <burnus@net-b.de> - - PR fortran/47716 - PR fortran/47648 - * acinclude.m4 (LIBGFOR_CHECK_FLOAT128): Use check from - libquadmath, which uses more features. - * configure: Regenerate. - -2011-02-14 Jakub Jelinek <jakub@redhat.com> - - PR fortran/47642 - * io/write_float.def (DTOAQ): Use quadmath_snprintf instead of - quadmath_flt128tostr. - * io/transfer128.c (tmp2): Initialize to quadmath_snprintf instead - of quadmath_flt128tostr. - -2011-02-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> - - * Makefile.in: Regenerate. - * aclocal.m4: Likewise. - * configure: Likewise. - -2011-02-05 Jerry DeLisle <jvdelisle@gcc.gnu.org> - - PR libgfortran/47567 - * io/write_float.def (output_float): Eliminate some redundant code. - Adjust width for case of F0.X for values of zero and all other values. - Expand cases where '*' is set to give cleaner results. - -2011-02-05 Janne Blomqvist <jb@gcc.gnu.org> - - PR libfortran/47571 - * intrinsics/time_1.h (GF_CLOCK_MONOTONIC): Move to system_clock.c. - (weak_gettime): Likewise. - (gf_gettime): Change API, move weak_gettime() usage to - system_clock.c - * intrinsics/system_clock.c (GTHREAD_USE_WEAK): Define. - (gf_gettime_mono): New function. - (system_clock_4): Use gf_gettime_mono(). - (system_clock_8): Likewise. - * intrinsics/date_and_time.c (date_and_time): Update gf_gettime() - usage. - -2011-02-02 Janne Blomqvist <jb@gcc.gnu.org> - - PR libfortran/47571 - * configure: Regenerated. - * configure.ac: Don't add librt to LIBS. - * intrinsics/time_1.h (weak_gettime): Weakref trickery for - clock_gettime(). - (gf_gettime): Use weak_gettime() instead of clock_gettime(). - -2011-02-01 Janne Blomqvist <jb@gcc.gnu.org> - - * intrinsics/time_1.h: Include errno.h needed by fallbacks. - -2011-01-31 Janne Blomqvist <jb@gcc.gnu.org> - - * intrinsics/time_1.h: Fix definition of GF_CLOCK_MONOTONIC macro. - -2011-01-31 Janne Blomqvist <jb@gcc.gnu.org> - - * configure.ac: Check for clock_gettime(). - * configure: Regenerated. - * config.h.in: Regenerated. - * intrinsics/time_1.h (__time_1): Rename to gf_cputime, add - times() fallback. - (gf_gettime): New function. - * intrinsics/cpu_time.c (__cpu_time_1): Update to call gf_cputime. - * intrinsics/date_and_time.c (date_and_time): Use gf_gettime. - * intrinsics/dtime.c (dtime_sub): Use gf_cputime. - * intrinsics/etime.c (etime_sub): Use gf_cputime. - * intrinsics/system_clock.c (system_clock_4): Use gf_gettime. - (system_clock_8): Use gf_gettime, increase count rate to allow - nanosecond precision, remove overflow prone branch. - -2011-01-29 Jerry DeLisle <jvdelisle@gcc.gnu.org> - - PR libgfortran/47434 - * io/write_float.def (write_infnan): Use calculate_sign to determine - if the sign should be given and check field widths accordingly. - -2011-01-29 Kai Tietz <kai.tietz@onevision.com> - - * intrinsics/ctime.c (ctime_r): Improve implementation. - -2011-01-27 Janne Blomqvist <jb@gcc.gnu.org> - - PR libfortran/47431 - * config.h.in: Regenerated. - * configure: Regenerated. - * configure.ac: Add check for ctime_r(). - * intrinsics/ctime.c (ctime_r): Fallback implementation. - (fdate): Use ctime_r() instead of ctime(). - (fdate_sub): Likewise. - (ctime): Likewise. - (ctime_sub): Likewise. - -2011-01-27 Janne Blomqvist <jb@gcc.gnu.org> - - PR libfortran/47432 - * config.h.in: Regenerated. - * configure: Regenerated. - * configure.ac: Add check for ttyname_r. - * io/unix.h: Add TTY_NAME_MAX, change stream_ttyname prototype. - * io/unix.c (stream_ttyname): Use ttyname_r if available, conform - to new prototype. - * io/inquire.c (inquire_via_unit): Use changed stream_ttyname. - * io/intrinsics.c (ttynam_sub): Likewise. - (ttynam): Likewise. - -2011-01-27 Janne Blomqvist <jb@gcc.gnu.org> - - PR libfortran/47491 - * configure.ac: Call AC_USE_SYSTEM_EXTENSIONS to enable common - extensions. - * config.h.in: Regenerate. - * configure: Regenerate. - -2011-01-26 Jerry DeLisle <jvdelisle@gcc.gnu.org> - - PR libgfortran/47285 - * io/write_float.def (write_infnan): Adjust processor selected width - to 3 if NaN. - -2011-01-26 Jerry DeLisle <jvdelisle@gcc.gnu.org> - - PR libgfortran/47285 - * io/write_float.def (output_float): Return SUCCESS or FAILURE and use - the result to set the padding. - -2011-01-26 Kai Tietz <kai.tietz@onevision.com> - - * intrinsics/getlog.c (getlog): Fix label/statement issue. - -2011-01-25 Janne Blomqvist <jb@gcc.gnu.org> - - PR libfortran/47375 - * config.h.in: Regenerated. - * configure: Regenerated. - * configure.ac: Add check for getpwuid_r. - * intrinsics/getlog.c (getlog): Use getpwuid_r() if available. - -2011-01-22 Janne Blomqvist <jb@gcc.gnu.org> - - PR libfortran/46267 - * config.h.in: Regenerated. - * configure: Regenerated. - * configure.ac: Check presence of strerror_r. - * intrinsics/gerror.c (gerror): Use gf_strerror, modify logic. - * io/unix.c (get_oserror): Remove. - * libgfortran.h (gf_strerror): Add prototype. - (get_oserror): Remove prototype. - * runtime/error.c (gf_strerror): New function. - (os_error): Use gf_strerror instead of get_oserror. - (generate_errror): Likewise. - -2011-01-17 Janne Blomqvist <jb@gcc.gnu.org> - - PR libfortran/47296 - * io/unix.c (tempfile): Set opp->file and opp->file_len also if an - error occurs. - -2011-01-16 Jakub Jelinek <jakub@redhat.com> - - PR fortran/46625 - * io/write_float.def (DTOAQ): Use quadmath_flt128tostr - instead of quadmath_dtoa. - * io/transfer128.c (tmp1, tmp2): New variables, bring in - strtoflt128 and quadmath_flt128tostr. - (transfer_real128, transfer_real128_write, transfer_complex128, - transfer_complex128_write): Remove tmp1/tmp2 variables. - * io/read.c (convert_real): Use strtoflt128 instead of - quadmath_strtopQ, adjust for the changed arguments and return - value. - -2011-01-14 Jerry DeLisle <jvdelisle@gcc.gnu.org> - - PR libgfortran/47296 - * io/unix.c (unpack_filename): Return non-zero if the filename passed - in is NULL. - -2011-01-04 Jerry DeLisle <jvdelisle@gcc.gnu.org> - - PR libgfortran/47154 - * io/list_read.c (namelist_read): Remove calls to hit_eof to avoid the - duplicate calls via next_record. +2012-01-06 Tobias Burnus <burnus@net-b.de> + * caf/single.c (_gfortran_caf_register, _gfortran_caf_deregister): + Fix token handling. + * caf/mpi.c (_gfortran_caf_register, _gfortran_caf_deregister): Ditto. + * caf/libcaf.h (STAT_STOPPED_IMAGE): Sync with libgfortran.h. + (_gfortran_caf_register, _gfortran_caf_deregister): Update prototype. -Copyright (C) 2011 Free Software Foundation, Inc. +Copyright (C) 2012 Free Software Foundation, Inc. Copying and distribution of this file, with or without modification, are permitted in any medium without royalty provided the copyright diff --git a/libgfortran/ChangeLog-2011 b/libgfortran/ChangeLog-2011 new file mode 100644 index 00000000000..f516bad1049 --- /dev/null +++ b/libgfortran/ChangeLog-2011 @@ -0,0 +1,1485 @@ +2011-12-22 Janne Blomqvist <jb@gcc.gnu.org> + Tobias Burnus <burnus@net-b.de> + + PR libfortran/51646 + * acinclude.m4 (LIBGFOR_CHECK_UNLINK_OPEN_FILE): Use POSIX mode + flags, omit mode argument when flags argument does not have + O_CREAT. + * io/unix.c (tempfile): Use POSIX mode flags. + * configure: Regenerate. + +2011-11-21 Andreas Tobler <andreast@fgznet.ch> + + * configure: Regenerate. + +2011-11-11 Janne Blomqvist <jb@gcc.gnu.org> + + PR libfortran/51090 + * runtime/main.c (find_addr2line): NULL check before proceeding. + +2011-11-10 Janne Blomqvist <jb@gcc.gnu.org> + + * intrinsics/cpu_time.c (__cpu_time_1): Don't force inlining. + * intrinsics/random.c (rnumber_4): Remove inline attribute. + (rnumber_8, rnumber_10, rnumber_16): Likewise. + * intrinsics/system_clock.c (gf_gettime_mono): Likewise. + * intrinsics/time_1.h (ATTRIBUTE_ALWAYS_INLINE): Remove macro. + (gf_cputime): Add inline attribute for MingW version. + * io/format.c (format_hash): Remove inline attribute. + * io/io.h (memset4): Inline function from transfer.c and write.c + moved here. + * io/transfer.c (min_off): Remove inline attribute. + (memset4): Move to io.h. + * io/write.c (memset4): Likewise. + (memcpy4): Remove inline attribute. + * io/write_float.def (calculate_exp): Likewise. + +2011-11-09 Janne Blomqvist <jb@gcc.gnu.org> + + * intrinsics/time_1.h (gf_gettime): Simplify time() usage. + +2011-11-09 Janne Blomqvist <jb@gcc.gnu.org> + + * configure.ac (AC_STDC_HEADERS): Remove. + (AC_HEADER_TIME): Remove. + (AC_HAVE_HEADERS, AC_CHECK_HEADERS): Move into a single invocation + of AC_CHECK_HEADERS_ONCE, don't check for presence of C89 headers. + (AC_CHECK_MEMBERS): Use single invocation. + (AC_CHECK_FUNCS): Move into single invocation of + AC_CHEC_FUNCS_ONCE, don't check for presence of C89 functions. + * config.h.in: Regenerate. + * configure: Regenerate. + * intrinsics/clock.c: Include time.h. + (mclock): Assume clock() is present. + (mclock8): Likewise. + * intrinsics/ctime.c (strctime): Assume strftime is present. + (fdate): Assume time() is present. + (fdate_sub): Likewise. + (ctime): Likewise. + * intrinsics/date_and_time.c: Don't provide abs macro. + (HAVE_NO_DATE_TIME): Remove code related to macro which is never + set. + * intrinsics/execute_command_line.c: Assume stdlib.h is present. + * intrinsics/exit.c: Likewise. + * intrinsics/extends_type_of.c: Likewise. + * intrinsics/gerror.c: Assume strerror() is present. + * intrinsics/kill.c: Assume signal.h is present. + * intrinsics/malloc.c: Assume stdlib.h is present. + * intrinsics/move_alloc.c: Likewise. + * intrinsics/perror.c: Assume perror() is present. + * intrinsics/signal.c: Assume signal.h is present. + * intrinsics/stat.c: Assume stdlib.h is present. + * intrinsics/system.c: Likewise. + * intrinsics/time.c: Include time.h, assume time() is present. + * intrinsics/time_1.h: Conditionally include sys/time.h, + unconditionally time.h. + (gf_cputime): Do division in double, fallback using clock(). + (gf_gettime): Assume time() is present. + * intrinsics/umask.c: Assume stdlib.h is present. + * runtime/backtrace.c: Likewise. + * runtime/compile_options.c: Assume signal.h is present, assume + C89 signals are present. + * runtime/error.c: Assume signal.h and stdlib.h are present. + +2011-11-09 Janne Blomqvist <jb@gcc.gnu.org> + + PR fortran/46686 + * runtime/backtrace.c (show_backtrace): Fix incorrect comment. + +2011-11-09 Tobias Burnus <burnus@net-b.de> + + * configure.ac: Make more cross-compile friendly. + * Makefile.in: Regenerate. + * aclocal.m4: Regenerate. + * config.h.in: Regenerate. + * configure: Regenerate. + +2011-11-09 Janne Blomqvist <jb@gcc.gnu.org> + + PR fortran/46686 + * configure.ac: Don't check execinfo.h, backtrace, + backtrace_symbols_fd. Check execve instead of execvp. Call + GCC_CHECK_UNWIND_GETIPINFO. + * runtime/backtrace.c: Don't include unused headers, include + limits.h and unwind.h. + (CAN_FORK): Check execve instead of execvp. + (GLIBC_BACKTRACE): Remove. + (bt_header): Conform to gdb backtrace format. + (struct bt_state): New struct. + (trace_function): New function. + (show_backtrace): Use _Unwind_Backtrace from libgcc instead of + glibc backtrace functions. + * Makefile.in: Regenerated. + * aclocal.m4: Regenerated. + * config.h.in: Regenerated. + * configure: Regenerated. + +2011-11-09 Janne Blomqvist <jb@gcc.gnu.org> + + PR libfortran/50016 + * io/inquire.c (inquire_via_unit): Flush the unit and use ssize. + * io/unix.c (buf_flush): Don't call _commit. + +2011-11-08 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> + + PR libfortran/47972 + * runtime/error.c (gf_strerror): Silence warning. + +2011-11-08 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> + + PR libfortran/47972 + * runtime/error.c (gf_strerror): Silence warning. + +2011-11-08 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> + + PR libfortran/47970 + * intrinsics/c99_functions.c (round): Move higher in the file. + +2011-11-07 Janne Blomqvist <jb@gcc.gnu.org> + + PR libfortran/45723 + * io/open.c (new_unit): Don't check file size before attempting + seek. + +2011-11-02 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> + + * Makefile.am (AM_CPPFLAGS): Add + -I$(srcdir)/$(MULTISRCTOP)../libgcc, -I$(MULTIBUILDTOP)../libgcc. + * Makefile.in: Regenerate. + * acinclude.m4 (LIBGFOR_CHECK_GTHR_DEFAULT): Remove. + * configure.ac (LIBGFOR_CHECK_GTHR_DEFAULT): Likewise. + * configure: Regenerate. + * config.h.in: Regenerate. + +2011-11-01 Janne Blomqvist <jb@gcc.gnu.org> + + * io/io.h (next_available_newunit): Remove prototype. + * io/unit.h (next_available_newunit): Make variable static, + initialize it. + (init_units): Don't initialize next_available_newunit. + (get_unique_unit_number): Use atomic builtin if available. + +2011-10-31 Janne Blomqvist <jb@gcc.gnu.org> + + * io/inquire.c (inquire_via_unit): Check whether we're at the + beginning or end if the position is unspecified. If the position + is not one of the 3 standard ones, return unspecified. + * io/io.h (update_position): Remove prototype. + * io/transfer.c (next_record): Set the position to unspecified, + letting inquire figure it out more exactly when needed. + * io/unit.c (update_position): Remove function. + +2011-10-31 Janne Blomqvist <jb@gcc.gnu.org> + + * io/unix.h (struct stream): Add size function pointer. + (ssize): New inline function. + (file_length): Remove prototype. + * io/unix.c (raw_size): New function. + (raw_init): Initialize st.size pointer. + (buf_size): New function. + (buf_init): Initialize st.size pointer. + (open_internal): Likewise. + (open_internal4): Likewise. + (file_length): Remove function. + * io/file_pos.c (st_rewind): Use ssize instead of file_length. + * io/open.c (test_endfile): Likewise. + * io/transfer.c (data_transfer_init): Likewise. + (next_record_r): Likewise. + (next_record_w): Likewise. + * io/unit.c (update_position): Likewise. + +2011-10-31 Janne Blomqvist <jb@gcc.gnu.org> + + * io/file_pos.c (st_rewind): Handle regular and special files + identically. + * io/intrinsics.c (fseek_sub): Don't check whether we think the + file is seekable, just do what the caller says. + * io/transfer.c (skip_record): First try to seek, then fallback to + reading and throwing away what we read. + * io/unit.c (update_position): Don't check whether file is + seekable, just try to do what we're told. + (unit_truncate): Likewise. + * io/unix.c (struct unix_stream): Remove special_file flag. + (buf_flush): Remove code for handling unseekable files. + (buf_seek): Likewise. + (fd_to_stream): Use buffered IO only for regular files. + (file_length): Remove is_seekable() call. + (is_seekable): Remove function. + (is_special): Likewise. + * io/unix.h: Remove prototypes for is_seekable and is_special. + +2011-09-10 Thomas Koenig <tkoenig@gcc.gnu.org> + + PR fortran/49479 + * generated/m4/ifunction.m4: Always call internal_malloc_size + even when there is a zero-sized return array. + * generated/generated/maxloc1_16_i16.c: Regenerated. + * generated/generated/maxloc1_16_i1.c: Regenerated. + * generated/generated/maxloc1_16_i2.c: Regenerated. + * generated/generated/maxloc1_16_i4.c: Regenerated. + * generated/generated/maxloc1_16_i8.c: Regenerated. + * generated/generated/maxloc1_16_r10.c: Regenerated. + * generated/generated/maxloc1_16_r16.c: Regenerated. + * generated/generated/maxloc1_16_r4.c: Regenerated. + * generated/generated/maxloc1_16_r8.c: Regenerated. + * generated/generated/maxloc1_4_i16.c: Regenerated. + * generated/generated/maxloc1_4_i1.c: Regenerated. + * generated/generated/maxloc1_4_i2.c: Regenerated. + * generated/generated/maxloc1_4_i4.c: Regenerated. + * generated/generated/maxloc1_4_i8.c: Regenerated. + * generated/generated/maxloc1_4_r10.c: Regenerated. + * generated/generated/maxloc1_4_r16.c: Regenerated. + * generated/generated/maxloc1_4_r4.c: Regenerated. + * generated/generated/maxloc1_4_r8.c: Regenerated. + * generated/generated/maxloc1_8_i16.c: Regenerated. + * generated/generated/maxloc1_8_i1.c: Regenerated. + * generated/generated/maxloc1_8_i2.c: Regenerated. + * generated/generated/maxloc1_8_i4.c: Regenerated. + * generated/generated/maxloc1_8_i8.c: Regenerated. + * generated/generated/maxloc1_8_r10.c: Regenerated. + * generated/generated/maxloc1_8_r16.c: Regenerated. + * generated/generated/maxloc1_8_r4.c: Regenerated. + * generated/generated/maxloc1_8_r8.c: Regenerated. + * generated/generated/maxval_i16.c: Regenerated. + * generated/generated/maxval_i1.c: Regenerated. + * generated/generated/maxval_i2.c: Regenerated. + * generated/generated/maxval_i4.c: Regenerated. + * generated/generated/maxval_i8.c: Regenerated. + * generated/generated/maxval_r10.c: Regenerated. + * generated/generated/maxval_r16.c: Regenerated. + * generated/generated/maxval_r4.c: Regenerated. + * generated/generated/maxval_r8.c: Regenerated. + * generated/generated/minloc1_16_i16.c: Regenerated. + * generated/generated/minloc1_16_i1.c: Regenerated. + * generated/generated/minloc1_16_i2.c: Regenerated. + * generated/generated/minloc1_16_i4.c: Regenerated. + * generated/generated/minloc1_16_i8.c: Regenerated. + * generated/generated/minloc1_16_r10.c: Regenerated. + * generated/generated/minloc1_16_r16.c: Regenerated. + * generated/generated/minloc1_16_r4.c: Regenerated. + * generated/generated/minloc1_16_r8.c: Regenerated. + * generated/generated/minloc1_4_i16.c: Regenerated. + * generated/generated/minloc1_4_i1.c: Regenerated. + * generated/generated/minloc1_4_i2.c: Regenerated. + * generated/generated/minloc1_4_i4.c: Regenerated. + * generated/generated/minloc1_4_i8.c: Regenerated. + * generated/generated/minloc1_4_r10.c: Regenerated. + * generated/generated/minloc1_4_r16.c: Regenerated. + * generated/generated/minloc1_4_r4.c: Regenerated. + * generated/generated/minloc1_4_r8.c: Regenerated. + * generated/generated/minloc1_8_i16.c: Regenerated. + * generated/generated/minloc1_8_i1.c: Regenerated. + * generated/generated/minloc1_8_i2.c: Regenerated. + * generated/generated/minloc1_8_i4.c: Regenerated. + * generated/generated/minloc1_8_i8.c: Regenerated. + * generated/generated/minloc1_8_r10.c: Regenerated. + * generated/generated/minloc1_8_r16.c: Regenerated. + * generated/generated/minloc1_8_r4.c: Regenerated. + * generated/generated/minloc1_8_r8.c: Regenerated. + * generated/generated/minval_i16.c: Regenerated. + * generated/generated/minval_i1.c: Regenerated. + * generated/generated/minval_i2.c: Regenerated. + * generated/generated/minval_i4.c: Regenerated. + * generated/generated/minval_i8.c: Regenerated. + * generated/generated/minval_r10.c: Regenerated. + * generated/generated/minval_r16.c: Regenerated. + * generated/generated/minval_r4.c: Regenerated. + * generated/generated/minval_r8.c: Regenerated. + * generated/generated/product_c10.c: Regenerated. + * generated/generated/product_c16.c: Regenerated. + * generated/generated/product_c4.c: Regenerated. + * generated/generated/product_c8.c: Regenerated. + * generated/generated/product_i16.c: Regenerated. + * generated/generated/product_i1.c: Regenerated. + * generated/generated/product_i2.c: Regenerated. + * generated/generated/product_i4.c: Regenerated. + * generated/generated/product_i8.c: Regenerated. + * generated/generated/product_r10.c: Regenerated. + * generated/generated/product_r16.c: Regenerated. + * generated/generated/product_r4.c: Regenerated. + * generated/generated/product_r8.c: Regenerated. + * generated/generated/sum_c10.c: Regenerated. + * generated/generated/sum_c16.c: Regenerated. + * generated/generated/sum_c4.c: Regenerated. + * generated/generated/sum_c8.c: Regenerated. + * generated/generated/sum_i16.c: Regenerated. + * generated/generated/sum_i1.c: Regenerated. + * generated/generated/sum_i2.c: Regenerated. + * generated/generated/sum_i4.c: Regenerated. + * generated/generated/sum_i8.c: Regenerated. + * generated/generated/sum_r10.c: Regenerated. + * generated/generated/sum_r16.c: Regenerated. + * generated/generated/sum_r4.c: Regenerated. + * generated/generated/sum_r8.c: Regenerated. + +2011-09-01 Thomas Koenig <tkoenig@gcc.gnu.org> + + * generated/bessel_r4.c: Regenerated. + * generated/bessel_r8.c: Regenerated. + * generated/bessel_r10.c: Regenerated. + * generated/bessel_r16.c: Regenerated. + +2011-08-29 Tobias Burnus <burnus@net-b.de> + + * caf/libcaf.h (_gfortran_caf_deregister): Update prototype. + * caf/mpi.c (_gfortran_caf_deregister): Modify prototype, + actually free memory and add error diagnostic. + (_gfortran_caf_finalize): Add additional free calls. + * caf/single.c (_gfortran_caf_deregister): Modify prototype, + actually free memory and add error diagnostic. + (_gfortran_caf_finalize): Add additional free calls. + +2011-08-29 Thomas Koenig <tkoenig@gcc.gnu.org> + + PR libfortran/50192 + * intrinsics/string_intrinsics.c (memcmp_char4): New function. + * intrinsics/string_intrinsics_inc.c: New macro MEMCMP, either + set to memcmp or memcmp_char4. + (compare_string): Use MEMCMP, with correct size for it. + * libgfortran.h: Add prototype for memcmp_char4. + +2011-08-28 Thomas Koenig <tkoenig@gcc.gnu.org> + + PR fortran/40866 + * generated/iall_i1.c: Regenerated. + * generated/iall_i16.c: Regenerated. + * generated/iall_i2.c: Regenerated. + * generated/iall_i4.c: Regenerated. + * generated/iall_i8.c: Regenerated. + * generated/iany_i1.c: Regenerated. + * generated/iany_i16.c: Regenerated. + * generated/iany_i2.c: Regenerated. + * generated/iany_i4.c: Regenerated. + * generated/iany_i8.c: Regenerated. + * generated/iparity_i1.c: Regenerated. + * generated/iparity_i16.c: Regenerated. + * generated/iparity_i2.c: Regenerated. + * generated/iparity_i4.c: Regenerated. + * generated/iparity_i8.c: Regenerated. + * generated/norm2_r10.c: Regenerated. + * generated/norm2_r16.c: Regenerated. + * generated/norm2_r4.c: Regenerated. + * generated/norm2_r8.c: Regenerated. + * generated/parity_l1.c: Regenerated. + * generated/parity_l16.c: Regenerated. + * generated/parity_l2.c: Regenerated. + * generated/parity_l4.c: Regenerated. + * generated/parity_l8.c: Regenerated. + * generated/misc_specifics.F90: Regenerated (comment change). + * generated/_abs_c10.F90: Regenerated (comment change). + * generated/_abs_c16.F90: Regenerated (comment change). + * generated/_abs_c4.F90: Regenerated (comment change). + * generated/_abs_c8.F90: Regenerated (comment change). + * generated/_abs_i16.F90: Regenerated (comment change). + * generated/_abs_i4.F90: Regenerated (comment change). + * generated/_abs_i8.F90: Regenerated (comment change). + * generated/_abs_r10.F90: Regenerated (comment change). + * generated/_abs_r16.F90: Regenerated (comment change). + * generated/_abs_r4.F90: Regenerated (comment change). + * generated/_abs_r8.F90: Regenerated (comment change). + * generated/_acosh_r10.F90: Regenerated (comment change). + * generated/_acosh_r16.F90: Regenerated (comment change). + * generated/_acosh_r4.F90: Regenerated (comment change). + * generated/_acosh_r8.F90: Regenerated (comment change). + * generated/_acos_r10.F90: Regenerated (comment change). + * generated/_acos_r16.F90: Regenerated (comment change). + * generated/_acos_r4.F90: Regenerated (comment change). + * generated/_acos_r8.F90: Regenerated (comment change). + * generated/_aimag_c10.F90: Regenerated (comment change). + * generated/_aimag_c16.F90: Regenerated (comment change). + * generated/_aimag_c4.F90: Regenerated (comment change). + * generated/_aimag_c8.F90: Regenerated (comment change). + * generated/_aint_r10.F90: Regenerated (comment change). + * generated/_aint_r16.F90: Regenerated (comment change). + * generated/_aint_r4.F90: Regenerated (comment change). + * generated/_aint_r8.F90: Regenerated (comment change). + * generated/_anint_r10.F90: Regenerated (comment change). + * generated/_anint_r16.F90: Regenerated (comment change). + * generated/_anint_r4.F90: Regenerated (comment change). + * generated/_anint_r8.F90: Regenerated (comment change). + * generated/_asinh_r10.F90: Regenerated (comment change). + * generated/_asinh_r16.F90: Regenerated (comment change). + * generated/_asinh_r4.F90: Regenerated (comment change). + * generated/_asinh_r8.F90: Regenerated (comment change). + * generated/_asin_r10.F90: Regenerated (comment change). + * generated/_asin_r16.F90: Regenerated (comment change). + * generated/_asin_r4.F90: Regenerated (comment change). + * generated/_asin_r8.F90: Regenerated (comment change). + * generated/_atan2_r10.F90: Regenerated (comment change). + * generated/_atan2_r16.F90: Regenerated (comment change). + * generated/_atan2_r4.F90: Regenerated (comment change). + * generated/_atan2_r8.F90: Regenerated (comment change). + * generated/_atanh_r10.F90: Regenerated (comment change). + * generated/_atanh_r16.F90: Regenerated (comment change). + * generated/_atanh_r4.F90: Regenerated (comment change). + * generated/_atanh_r8.F90: Regenerated (comment change). + * generated/_atan_r10.F90: Regenerated (comment change). + * generated/_atan_r16.F90: Regenerated (comment change). + * generated/_atan_r4.F90: Regenerated (comment change). + * generated/_atan_r8.F90: Regenerated (comment change). + * generated/_conjg_c10.F90: Regenerated (comment change). + * generated/_conjg_c16.F90: Regenerated (comment change). + * generated/_conjg_c4.F90: Regenerated (comment change). + * generated/_conjg_c8.F90: Regenerated (comment change). + * generated/_cosh_r10.F90: Regenerated (comment change). + * generated/_cosh_r16.F90: Regenerated (comment change). + * generated/_cosh_r4.F90: Regenerated (comment change). + * generated/_cosh_r8.F90: Regenerated (comment change). + * generated/_cos_c10.F90: Regenerated (comment change). + * generated/_cos_c16.F90: Regenerated (comment change). + * generated/_cos_c4.F90: Regenerated (comment change). + * generated/_cos_c8.F90: Regenerated (comment change). + * generated/_cos_r10.F90: Regenerated (comment change). + * generated/_cos_r16.F90: Regenerated (comment change). + * generated/_cos_r4.F90: Regenerated (comment change). + * generated/_cos_r8.F90: Regenerated (comment change). + * generated/_dim_i16.F90: Regenerated (comment change). + * generated/_dim_i4.F90: Regenerated (comment change). + * generated/_dim_i8.F90: Regenerated (comment change). + * generated/_dim_r10.F90: Regenerated (comment change). + * generated/_dim_r16.F90: Regenerated (comment change). + * generated/_dim_r4.F90: Regenerated (comment change). + * generated/_dim_r8.F90: Regenerated (comment change). + * generated/_exp_c10.F90: Regenerated (comment change). + * generated/_exp_c16.F90: Regenerated (comment change). + * generated/_exp_c4.F90: Regenerated (comment change). + * generated/_exp_c8.F90: Regenerated (comment change). + * generated/_exp_r10.F90: Regenerated (comment change). + * generated/_exp_r16.F90: Regenerated (comment change). + * generated/_exp_r4.F90: Regenerated (comment change). + * generated/_exp_r8.F90: Regenerated (comment change). + * generated/_log10_r10.F90: Regenerated (comment change). + * generated/_log10_r16.F90: Regenerated (comment change). + * generated/_log10_r4.F90: Regenerated (comment change). + * generated/_log10_r8.F90: Regenerated (comment change). + * generated/_log_c10.F90: Regenerated (comment change). + * generated/_log_c16.F90: Regenerated (comment change). + * generated/_log_c4.F90: Regenerated (comment change). + * generated/_log_c8.F90: Regenerated (comment change). + * generated/_log_r10.F90: Regenerated (comment change). + * generated/_log_r16.F90: Regenerated (comment change). + * generated/_log_r4.F90: Regenerated (comment change). + * generated/_log_r8.F90: Regenerated (comment change). + * generated/_mod_i16.F90: Regenerated (comment change). + * generated/_mod_i4.F90: Regenerated (comment change). + * generated/_mod_i8.F90: Regenerated (comment change). + * generated/_mod_r10.F90: Regenerated (comment change). + * generated/_mod_r16.F90: Regenerated (comment change). + * generated/_mod_r4.F90: Regenerated (comment change). + * generated/_mod_r8.F90: Regenerated (comment change). + * generated/_sign_i16.F90: Regenerated (comment change). + * generated/_sign_i4.F90: Regenerated (comment change). + * generated/_sign_i8.F90: Regenerated (comment change). + * generated/_sign_r10.F90: Regenerated (comment change). + * generated/_sign_r16.F90: Regenerated (comment change). + * generated/_sign_r4.F90: Regenerated (comment change). + * generated/_sign_r8.F90: Regenerated (comment change). + * generated/_sinh_r10.F90: Regenerated (comment change). + * generated/_sinh_r16.F90: Regenerated (comment change). + * generated/_sinh_r4.F90: Regenerated (comment change). + * generated/_sinh_r8.F90: Regenerated (comment change). + * generated/_sin_c10.F90: Regenerated (comment change). + * generated/_sin_c16.F90: Regenerated (comment change). + * generated/_sin_c4.F90: Regenerated (comment change). + * generated/_sin_c8.F90: Regenerated (comment change). + * generated/_sin_r10.F90: Regenerated (comment change). + * generated/_sin_r16.F90: Regenerated (comment change). + * generated/_sin_r4.F90: Regenerated (comment change). + * generated/_sin_r8.F90: Regenerated (comment change). + * generated/_sqrt_c10.F90: Regenerated (comment change). + * generated/_sqrt_c16.F90: Regenerated (comment change). + * generated/_sqrt_c4.F90: Regenerated (comment change). + * generated/_sqrt_c8.F90: Regenerated (comment change). + * generated/_sqrt_r10.F90: Regenerated (comment change). + * generated/_sqrt_r16.F90: Regenerated (comment change). + * generated/_sqrt_r4.F90: Regenerated (comment change). + * generated/_sqrt_r8.F90: Regenerated (comment change). + * generated/_tanh_r10.F90: Regenerated (comment change). + * generated/_tanh_r16.F90: Regenerated (comment change). + * generated/_tanh_r4.F90: Regenerated (comment change). + * generated/_tanh_r8.F90: Regenerated (comment change). + * generated/_tan_r10.F90: Regenerated (comment change). + * generated/_tan_r16.F90: Regenerated (comment change). + * generated/_tan_r4.F90: Regenerated (comment change). + * generated/_tan_r8.F90: Regenerated (comment change). + +2011-08-18 Tobias Burnus <burnus@net-b.de> + + PR fortran/50109 + * io/list_read.c (eat_separator): Fix skipping over "!" lines. + +2011-07-23 Andreas Schwab <schwab@linux-m68k.org> + + * intrinsics/ctime.c: Include <stdlib.h>. + * intrinsics/getlog.c: Likewise. + * runtime/stop.c: Likewise. + +2011-07-23 Tobias Burnus <burnus@net-b.de> + + PR fortran/49791 + * io/list_read.c (nml_parse_qualifier): Remove check to + enabled extended read for another case. + +2011-07-15 Daniel Carrera <dcarrera@gmail.com> + + * caf/mpi.c (caf_runtime_error): Change fprintf to vfprintf. + * caf/single.c (caf_runtime_error): Ditto. + +2011-07-14 Daniel Carrera <dcarrera@gmail.com> + + * caf/single.c: Include stdarg.h header. + (caf_runtime_error): New function. Use "exit(EXIT_FAILURE)". + (_gfortran_caf_register): Use caf_runtime_error. + (_gfortran_caf_sync_images): Use "exit(EXIT_FAILURE)". + * caf/mpi.c (caf_runtime_error): Remove "error" parameter. + Return EXIT_FAILURE instead. + (_gfortran_caf_register): Update call to caf_runtime_error. + (_gfortran_caf_sync_all): Ditto. + (_gfortran_caf_sync_images): Ditto. + (_gfortran_caf_error_stop_str): Use "exit(EXIT_FAILURE)". + +2011-07-13 Janne Blomqvist <jb@gcc.gnu.org> + + PR libfortran/49296 + * io/list_read.c (read_logical): Don't error out if a valid value + is followed by EOF instead of a normal separator. + (read_integer): Likewise. + +2011-07-09 Tobias Burnus <burnus@net-b.de> + + * runtime/error.c (sys_abort): Change argument list + from "()" to "(void)". + +2011-07-09 Tobias Burnus <burnus@net-b.de> + Daniel Carrera <dcarrera@gmail.com> + + * caf/mpi.c (runtime_error): New function. + (_gfortran_caf_register): Use it. + (_gfortran_caf_sync_all): Use it, add STAT_STOPPED_IMAGE + as possible status value. + (_gfortran_caf_sync_images): Ditto. + +2011-07-07 Tobias Burnus <burnus@net-b.de> + + * libcaf.h (__attribute__, unlikely, likely): New macros. + (caf_register_t): Update comment. + (_gfortran_caf_register): Add stat, errmsg, errmsg_len arguments. + * single.c (_gfortran_caf_register): Ditto; add error diagnostics. + * mpi.c (_gfortran_caf_register): Ditto. + (caf_is_finalized): New global variable. + (_gfortran_caf_finalize): Use it. + +2011-07-05 Thomas Koenig <tkoenig@gcc.gnu.org> + + * runtime/memory.c (internal_malloc_size): If size is zero, + allocate a single byte. + * m4/pack.m4 (pack_'rtype_code`): Don't check for zero size + for the argument of internal_malloc_size. + * m4/spread.m4 (spread_'rtype_code`): Likewise. + * m4/eoshift1.m4 (eoshift1): Don't allocate twice. Don't check + for zero size for the argument of internal_malloc_size. + * m4/eoshift3.m4: Don't check for zero size for the argument of + internal_malloc_size. + * intrinsics/pack_generic.c (pack_internal): Likewise. + (pack_s_internal): Likewise. + * intrinsics/cshift0.c (cshift0): Likewise. + * intrinsics/spread_generic.c (spread_internal): Likewise. + * intrinsics/eoshift0.c (eoshift0): Likewise. + * intrinsics/eoshift2.c (eoshift2): Likewise. + * generated/eoshift1_16.c: Regenerated. + * generated/eoshift1_4.c: Regenerated. + * generated/eoshift1_8.c: Regenerated. + * generated/eoshift3_16.c: Regenerated. + * generated/eoshift3_4.c: Regenerated. + * generated/eoshift3_8.c: Regenerated. + * generated/pack_c10.c: Regenerated. + * generated/pack_c16.c: Regenerated. + * generated/pack_c4.c: Regenerated. + * generated/pack_c8.c: Regenerated. + * generated/pack_i16.c: Regenerated. + * generated/pack_i1.c: Regenerated. + * generated/pack_i2.c: Regenerated. + * generated/pack_i4.c: Regenerated. + * generated/pack_i8.c: Regenerated. + * generated/pack_r10.c: Regenerated. + * generated/pack_r16.c: Regenerated. + * generated/pack_r4.c: Regenerated. + * generated/pack_r8.c: Regenerated. + * generated/spread_c10.c: Regenerated. + * generated/spread_c16.c: Regenerated. + * generated/spread_c4.c: Regenerated. + * generated/spread_c8.c: Regenerated. + * generated/spread_i16.c: Regenerated. + * generated/spread_i1.c: Regenerated. + * generated/spread_i2.c: Regenerated. + * generated/spread_i4.c: Regenerated. + * generated/spread_i8.c: Regenerated. + * generated/spread_r10.c: Regenerated. + * generated/spread_r16.c: Regenerated. + * generated/spread_r4.c: Regenerated. + * generated/spread_r8.c: Regenerated. + +2011-06-28 Thomas Koenig <tkoenig@gcc.gnu.org> + + PR fortran/49479 + * m4/reshape.m4: If source allocation is smaller than one, set it + to one. + * intrinsics/reshape_generic.c: Likewise. + * generated/reshape_r16.c: Regenerated. + * generated/reshape_c4.c: Regenerated. + * generated/reshape_c16.c: Regenerated. + * generated/reshape_c8.c: Regenerated. + * generated/reshape_r4.c: Regenerated. + * generated/reshape_i4.c: Regenerated. + * generated/reshape_r10.c: Regenerated. + * generated/reshape_r8.c: Regenerated. + * generated/reshape_c10.c: Regenerated. + * generated/reshape_i8.c: Regenerated. + * generated/reshape_i16.c: Regenerated. + +2011-06-18 Janne Blomqvist <jb@gcc.gnu.org> + + PR libfortran/49296 + * io/list_read.c (read_character): Accept EOF as a separator when + reading string. + +2011-06-17 Daniel Carrera <dcarrera@gmail.com> + + * caf/single.c (_gfortran_caf_register): Store the address + of all static coarrays in a linked list. + (_gfortran_caf_finalize): Free memory of staic coarrays. + * caf/mpi.c (_gfortran_caf_register): Store the address + of all static coarrays in a linked list. Initialize MPI + if necessary. + (_gfortran_caf_finalize): Free memory of staic coarrays. + (_gfortran_caf_init): Check if MPI is already initialized + before initializing again. + * caf/libcaf.h: Add a type to caf_register_t to distinguish + static coarrays and add the type caf_static_t to make the + linked list of static coarrays. + +2011-06-11 Janne Blomqvist <jb@gcc.gnu.org> + + * io/unix.c (buf_seek): Return error if file is not seekable. + (buf_tell): Call buf_seek. + +2011-06-11 Janne Blomqvist <jb@gcc.gnu.org> + + * io/unix.c (fd_to_stream): Figure out if a fd is seekable by + trying lseek(). + +2011-06-10 Daniel Carrera <dcarrera@gmail.com> + + * caf/mpi.c (_gfortran_caf_sync_all, + _gfortran_caf_sync_images): Functions have void return type + and move status into parameter list. + * caf/single.c (_gfortran_caf_sync_all, + _gfortran_caf_sync_images): Functions have void return type + and move status into parameter list. + * caf/libcaf.h (_gfortran_caf_sync_all, + _gfortran_caf_sync_images): Functions have void return type + and move status into parameter list. + +2011-06-03 Richard Henderson <rth@redhat.com> + Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> + + * config/fpu-387.h [__sun__ && __svr4__] (sigill_hdlr): Correct + insn, insn size. + (has_sse) [!__x86_64__ && __sun__ && __svr4__]: Use movaps. + +2011-05-29 Janne Blomqvist <jb@gcc.gnu.org> + + PR libfortran/48931 + * libgfortran.h (find_addr2line): New prototype. + * runtime/backtrace.c (show_backtrace): Use async-signal-safe + execve and stored path of addr2line. + * runtime/compile_options.c (maybe_find_addr2line): New function. + (set_options): Call maybe_find_addr2line if backtracing is enabled. + * runtime/main.c (find_addr2line): New function. + (init): Call find_addr2line if backtracing is enabled. + (cleanup): Free addr2line_path. + +2011-05-29 Janne Blomqvist <jb@gcc.gnu.org> + + PR libfortran/49214 + * runtime/backtrace.c (fd_gets): Return NULL if nothing was read. + +2011-05-29 Janne Blomqvist <jb@gcc.gnu.org> + + PR libfortran/19155 + * io/read.c (convert_real): Check for invalid input by comparing + endptr instead of EINVAL. + (read_f): Fixup floating point input without significand. + +2011-05-22 Tobias Burnus <burnus@net-b.de> + + * runtime/stop.c (stop_string,error_stop_string): Minor cleanup. + +2011-05-22 Janne Blomqvist <jb@gcc.gnu.org> + + PR libfortran/48931 + * configure.ac: Check for backtrace_symbols_fd instead of + backtrace_symbols, check for readlink. + * config.h.in: Regenerated. + * configure: Regenerated. + * runtime/backtrace.c (local_strcasestr): Remove. + (bt_header): New function. + (dump_glibc_backtrace): Remove. + (fd_gets): New function. + (show_backtrace): Rework to use backtrace_symbols_fd and pipes + avoiding functions that are not async-signal-safe, reformat + output. + * runtime/main.c (store_exe_path): Try to check /proc/self/exe + first. + +2011-05-20 Janne Blomqvist <jb@gcc.gnu.org> + Uros Bizjak <ubizjak@gmail.com> + + PR libfortran/48977 + * configure.host: Swap order of glibc and x86 tests. + +2011-05-20 Janne Blomqvist <jb@gcc.gnu.org> + + * config/fpu-387.h (set_fpu): Use renamed inexact macro. + * config/fpu-aix.h (set_fpu): Clarify error messages, use renamed + inexact macro, set TRP_INEXACT for inexact exception instead of + TRP_UNDERFLOW. + * config/fpu-generic.h (set_fpu): Clarify error messages, use + renamed inexact macro. + * config/fpu-glibc.h (set_fpu): Likewise. + * config/fpu-sysv.h (set_fpu): Likewise. + +2011-05-14 Tobias Burnus <burnus@net-b.de> + + * runtime/stop.c (error_stop_string, error_stop_numeric): + Do not backtrace for ERROR STOP. + +2011-05-14 Janne Blomqvist <jb@gcc.gnu.org> + + PR libfortran/48915 + * intrinsics/abort.c (abort): Call sys_abort(). + * io/unix.c (st_vprintf): Call sys_abort(). + * libgfortran.h (options_t): Remove dump_core member. + (handler): Rename to backtrace_handler. + (compile_options_t): Remove dump_core member. + (sys_exit): Remove. + (sys_abort): New function. + * runtime/backtrace.c (show_backtrace): Print a message if + backtrace is not available on target, update filter symbol name + due to backtrace_handler renaming. + * runtime/compile_options.c (backtrace_handler): New + implementation based on example in Glibc manual. + (set_options): Remove dump_core handling, make signal handler + handle more signals. + (init_compile_options): Remove dump_core. + * runtime/environ.c (variable_table[]): Remove + GFORTRAN_ERROR_DUMPCORE element. + (show_variables): Update name, call exit(). + * runtime/error.c (sys_exit): Remove. + (sys_abort): New function. + (recursion_check): Call sys_abort(). + (os_error): Call exit(). + (runtime_error): Likewise. + (runtime_error_at): Likewise. + (internal_error): Likewise. + (generate_error): Likewise. + (notify_std): Likewise. + * runtime/stop.c (stop_numeric): Call exit(). + (stop_numeric_f08): Likewise. + (stop_string): Likewise. + (error_stop_string): Call sys_abort(). + (error_stop_numeric): Print backtrace, exit with provided code. + +2011-05-14 Janne Blomqvist <jb@gcc.gnu.org> + + * io/unix.c (st_vprintf,st_printf): Move to runtime/error.c. + * libgfortran.h (struct options_t): Remove use_stderr field. + (st_vprintf,st_printf): Move prototypes. + (estr_write): New prototype. + * runtime/error.c (sys_exit): Use estr_write instead of st_printf. + (estr_write): New function. + (st_vprintf): Move from io/unix.c, use stack allocated buffer, + always output to stderr. + (st_printf): Move from io/unix.c. + (show_locus): Use a local variable instead of static. + (os_error): Use estr_write instead of st_printf. + (runtime_error): Likewise. + (runtime_error_at): Likewise. + (runtime_warning_at): Likewise. + (internal_error): Likewise. + (generate_error): Likewise. + (generate_warning): Likewise. + (notify_std): Likewise. + * runtime/pause.c (do_pause): Likewise. + (pause_string): Likewise. + * runtime/stop.c (stop_string): Likewise. + (error_stop_string): Likewise. + * config/fpu_aix.h (set_fpu): Likewise. + * config/fpu_generic.h (set_fpu): Likewise. + * config/fpu_glibc.h (set_fpu): Likewise. + * config/fpu-sysv.h (set_fpu): Likewise. + * runtime/backtrace.c (dump_glibc_backtrace): Likewise. + (show_backtrace): Likewise. + * runtime/environ.c (print_spaces): Likewise. + (show_string): Likewise. + (show_variables): Likewise. + (variable_table[]): Remove GFORTRAN_USE_STDERR entry. + +2011-05-14 Tobias Burnus <burnus@net-b.de> + + PR fortran/48961 + * intrinsics/execute_command_line.c (set_cmdstat): Don't abort if + synchronously executing with WAIT=.false. + (execute_command_line): Fix setting of cmdstat and exitstat. + +2011-05-06 Tobias Burnus <burnus@net-b.de> + + PR fortran/18918 + * caf/libcaf.h: Cleanup headers. + (_gfortran_caf_critical, _gfortran_caf_end_critical): Make stub. + (caf_register_t): New enum. + (_gfortran_caf_register, _gfortran_caf_deregister): New prototype. + * caf/single.c (_gfortran_caf_critical, + _gfortran_caf_end_critical): Remove. + (_gfortran_caf_register, _gfortran_caf_deregister): New functions. + * caf/mpi.c (_gfortran_caf_critical, + _gfortran_caf_end_critical): Remove. + (_gfortran_caf_register, _gfortran_caf_deregister): New functions. + (caf_world_window): Remove global variable. + (_gfortran_caf_init): Fix off-by-one error of this_image. + +2011-05-04 Jerry DeLisle <jvdelisle@gcc.gnu.org> + + PR libgfortran/48787 + * io/write_float.def (output_float): Adjust up and down rounding for + cases where 'd' = 0. Gather common code to one location. + +2011-05-01 Jerry DeLisle <jvdelisle@gcc.gnu.org> + + PR libgfortran/48787 + * io/write_float.def (output_float): Gather up integer declarations and + add new 'p' for scale factor. Use 'p' in place of the 'dtp' reference + everywhere. For ROUND_UP scan the digit string and only perform + rounding if something other than '0' is found. + +2011-04-29 Janne Blomqvist <jb@gcc.gnu.org> + + * io/unix.c (min): New macro. + (unpack_filename): Return errno number for errors. + (regular_file): Use appropriately sized buffer for path. + (compare_file_filename): Likewise. + (find_file): Likewise. + (delete_file): Likewise. + (file_exists): Likewise. + (file_size): Likewise. + (inquire_sequential): Likewise. + (inquire_direct): Likewise. + (inquire_formatted): Likewise. + (inquire_access): Likewise. + +2011-04-29 Janne Blomqvist <jb@gcc.gnu.org> + + PR libfortran/48488 + * io/write.c (write_real, write_real_g0): Update comments. + +2011-04-29 Jerry DeLisle <jvdelisle@gcc.gnu.org> + Janne Blomqvist <jb@gcc.gnu.org> + + PR libgfortran/48488 + PR libgfortran/48602 + PR libgfortran/48615 + PR libgfortran/48684 + PR libgfortran/48787 + * io/write.c (write_d, write_e, write_f, write_en, + write_es): Add precision compemsation parameter to call. + (set_fnode_default): Adjust default widths to assure + round trip on write and read. (write_real): Adjust call to write_float. + (write_real_g0): Calculate compensation for extra precision and adjust + call to write_float. + * io/write_float.def (output_float_FMT_G_): Use volatile rather than + asm volatile to avoid optimization issue. Correctly calculate the + number of blanks (nb) to be appended and simplify calculation logic. + (write_float): Increase MIN_FIELD_WIDTH by one to accomodate the new + default widths. Eliminate the code that attempted to reduce the + the precision used in later sprintf functions. Add call parameter to + compensate for extra precision. + +2011-04-20 Jim Meyering <meyering@redhat.com> + + * intrinsics/move_alloc.c (move_alloc): Remove useless + if-before-free test. + * io/fbuf.c (fbuf_destroy): Likewise. + * io/format.c (save_parsed_format): Likewise. + * io/open.c (already_open): Likewise. + * io/unit.c (free_internal_unit, close_unit_1): Likewise. + * io/unix.c (mem_close): Likewise. + +2011-04-19 Jerry DeLisle <jvdelisle@gcc.gnu.org> + + PR libgfortran/48602 + * io/write_float.def (output_float_FMT_G): Fix reversal in conditional. + Use asm volatile to mark temp variable, avoiding optimization errors. + +2011-04-17 Jerry DeLisle <jvdelisle@gcc.gnu.org> + + PR libgfortran/48602 + * io/write_float.def (output_float_FMT_G): Use current rounding mode + to set the rounding parameters. (output_float): Skip rounding + if value is zero. + +2011-04-16 Janne Blomqvist <jb@gcc.gnu.org> + + * intrinsics/date_and_time.c (date_and_time): Remove sprintf CPP + branch. + * io/format.c (format_error): Use snprintf instead of sprintf. + * io/list_read.c: Move snprintf fallback macro to libgfortran.h. + (convert_integer): Use snprintf instead of sprintf. + (parse_repeat): Likewise. + (read_logical): Likewise. + (read_integer): Likewise. + (read_character): Likewise. + (parse_real): Likewise. + (read_complex): Likewise. + (read_real): Likewise. + (check_type): Likewise. + (nml_parse_qualifier): Add string length argument, use snprintf + instead of sprintf. + (nml_get_obj_data): Use snprintf instead of sprintf. + * io/open.c (new_unit): Remove sprintf CPP branch, use snprintf + instead of sprintf. + * io/transfer.c (require_type): Use snprintf instead of sprintf. + * io/unix.c (tempfile): Likewise. + * io/write.c (nml_write_obj): Likewise. + * io/write_float.def (output_float): Remove sprintf CPP branch, + use snprintf instead of sprintf. + * libgfortran.h: Add fallback snprintf macro from io/list_read.c. + * runtime/backtrace.c (show_backtrace): Remove sprintf CPP branch. + * runtime/main.c (store_exe_path): Use snprintf instead of + sprintf. + +2011-04-15 Jerry DeLisle <jvdelisle@gcc.gnu.org> + + PR libgfortran/48589 + * io/write_float.def (write_infnan): Set width properly for G0. + +2011-04-15 Tobias Burnus <burnus@net-b.de> + + PR fortran/18918 + * Makefile.am: Build and install caf/single.c as + libcaf_single.a. + * Makefile.in: Regenerate. + +2011-04-15 Janne Blomqvist <jb@gcc.gnu.org> + + PR libfortran/47571 + * configure: Regenerated. + * config.h.in: Regenerated. + * acinclude.m4: Add alpha*-dec-osf* to gthread blacklist. + * configure.ac: Use separate symbol for clock_gettime in librt. + * intrinsics/system_clock.c: Use weakrefs only when needed and + supported. + +2011-04-12 Janne Blomqvist <jb@gcc.gnu.org> + + * configure.ac: Use AC_TYPE_* to make sure we have (u)intptr_t, + check for ptrdiff_t. + * libgfortran.h: Remove (u)intptr_t definitions, use ptrdiff_t for + index_type, change cshift0* prototypes. + * config.h.in: Regenerated. + * configure: Regenerated. + * intrinsics/cshift0.c (cshift0): Use ptrdiff_t instead of ssize_t. + * io/io.h (array_loop_spec): Use index_type instead of ssize_t. + * io/list_read.c (nml_parse_qualifier): Likewise. + * io/write.c (nml_write_obj): Likewise. + * m4/cshift0.c (cshift0_'rtype_code`): Likewise. + * generated/cshift0_*.c: Regenerated. + +2011-04-12 Janne Blomqvist <jb@gcc.gnu.org> + + * Makefile.am: Remove _GNU_SOURCE from AM_CPPFLAGS. + * Makefile.in: Regenerated. + +2011-04-06 Tobias Burnus <burnus@net-b.de> + + PR fortran/18918 + * caf/mpi.c (_gfortran_caf_init, _gfortran_caf_finalize): + Add global variable caf_mpi_initialized and use it for when + finalizing. + +2011-04-04 Tobias Burnus <burnus@net-b.de> + + * unix.c: Adapt stat DEFINEs since MinGW64 supports LFS. + (fallback_access, open_internal4, compare_file_filename, + find_file, file_size, inquire_sequential, inquire_direct, + inquire_formatted): Use "struct stat" instead of gfstat_t. + +2011-03-27 Tobias Burnus <burnus@net-b.de> + + PR fortran/18918 + * caf/libcaf.h: New - coarray communication library. + * caf/mpi.c: New. + * caf/single.c: New. + +2011-03-23 Jerry DeLisle <jvdelisle@gcc.gnu.org> + + PR libgfortran/48030 + * io/read.c (read_x): Re-implement using fbuf_getc. + +2011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> + + PR bootstrap/48135 + * configure.ac (gfortran_use_symver): Handle --disable-symvers. + * configure: Regenerate. + +2011-03-19 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> + + PR fortran/35667 + * io/io.h (convert_infnan): Declare. + * io/read.c (convert_infnan): New. + (read_f): Use convert_infnan to convert INFs and NANs. + * list_read.c (parse_real, read_real): Likewise. + +2011-03-19 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> + + PR libfortran/47439 + * io/unix.c (tempfile): Work around poor mktemp() implementations. + +2011-03-16 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> + + PR libfortran/47883 + * acinclude.m4: Don't use AC_TRY_ macros. + * configure.ac: Likewise. + * configure: Regenerate. + +2011-03-12 Thomas Koenig <tkoenig@gcc.gnu.org> + + PR libfortran/48066 + * m4/ifunction.m4: If return array is empty, return. + * m4/ifunction_logical.m4: Likewise. + * generated/all_l16.c: Regenerated. + * generated/all_l1.c: Regenerated. + * generated/all_l2.c: Regenerated. + * generated/all_l4.c: Regenerated. + * generated/all_l8.c: Regenerated. + * generated/any_l16.c: Regenerated. + * generated/any_l1.c: Regenerated. + * generated/any_l2.c: Regenerated. + * generated/any_l4.c: Regenerated. + * generated/any_l8.c: Regenerated. + * generated/count_16_l.c: Regenerated. + * generated/count_1_l.c: Regenerated. + * generated/count_2_l.c: Regenerated. + * generated/count_4_l.c: Regenerated. + * generated/count_8_l.c: Regenerated. + * generated/maxloc1_16_i16.c: Regenerated. + * generated/maxloc1_16_i1.c: Regenerated. + * generated/maxloc1_16_i2.c: Regenerated. + * generated/maxloc1_16_i4.c: Regenerated. + * generated/maxloc1_16_i8.c: Regenerated. + * generated/maxloc1_16_r10.c: Regenerated. + * generated/maxloc1_16_r16.c: Regenerated. + * generated/maxloc1_16_r4.c: Regenerated. + * generated/maxloc1_16_r8.c: Regenerated. + * generated/maxloc1_4_i16.c: Regenerated. + * generated/maxloc1_4_i1.c: Regenerated. + * generated/maxloc1_4_i2.c: Regenerated. + * generated/maxloc1_4_i4.c: Regenerated. + * generated/maxloc1_4_i8.c: Regenerated. + * generated/maxloc1_4_r10.c: Regenerated. + * generated/maxloc1_4_r16.c: Regenerated. + * generated/maxloc1_4_r4.c: Regenerated. + * generated/maxloc1_4_r8.c: Regenerated. + * generated/maxloc1_8_i16.c: Regenerated. + * generated/maxloc1_8_i1.c: Regenerated. + * generated/maxloc1_8_i2.c: Regenerated. + * generated/maxloc1_8_i4.c: Regenerated. + * generated/maxloc1_8_i8.c: Regenerated. + * generated/maxloc1_8_r10.c: Regenerated. + * generated/maxloc1_8_r16.c: Regenerated. + * generated/maxloc1_8_r4.c: Regenerated. + * generated/maxloc1_8_r8.c: Regenerated. + * generated/maxval_i16.c: Regenerated. + * generated/maxval_i1.c: Regenerated. + * generated/maxval_i2.c: Regenerated. + * generated/maxval_i4.c: Regenerated. + * generated/maxval_i8.c: Regenerated. + * generated/maxval_r10.c: Regenerated. + * generated/maxval_r16.c: Regenerated. + * generated/maxval_r4.c: Regenerated. + * generated/maxval_r8.c: Regenerated. + * generated/minloc1_16_i16.c: Regenerated. + * generated/minloc1_16_i1.c: Regenerated. + * generated/minloc1_16_i2.c: Regenerated. + * generated/minloc1_16_i4.c: Regenerated. + * generated/minloc1_16_i8.c: Regenerated. + * generated/minloc1_16_r10.c: Regenerated. + * generated/minloc1_16_r16.c: Regenerated. + * generated/minloc1_16_r4.c: Regenerated. + * generated/minloc1_16_r8.c: Regenerated. + * generated/minloc1_4_i16.c: Regenerated. + * generated/minloc1_4_i1.c: Regenerated. + * generated/minloc1_4_i2.c: Regenerated. + * generated/minloc1_4_i4.c: Regenerated. + * generated/minloc1_4_i8.c: Regenerated. + * generated/minloc1_4_r10.c: Regenerated. + * generated/minloc1_4_r16.c: Regenerated. + * generated/minloc1_4_r4.c: Regenerated. + * generated/minloc1_4_r8.c: Regenerated. + * generated/minloc1_8_i16.c: Regenerated. + * generated/minloc1_8_i1.c: Regenerated. + * generated/minloc1_8_i2.c: Regenerated. + * generated/minloc1_8_i4.c: Regenerated. + * generated/minloc1_8_i8.c: Regenerated. + * generated/minloc1_8_r10.c: Regenerated. + * generated/minloc1_8_r16.c: Regenerated. + * generated/minloc1_8_r4.c: Regenerated. + * generated/minloc1_8_r8.c: Regenerated. + * generated/minval_i16.c: Regenerated. + * generated/minval_i1.c: Regenerated. + * generated/minval_i2.c: Regenerated. + * generated/minval_i4.c: Regenerated. + * generated/minval_i8.c: Regenerated. + * generated/minval_r10.c: Regenerated. + * generated/minval_r16.c: Regenerated. + * generated/minval_r4.c: Regenerated. + * generated/minval_r8.c: Regenerated. + * generated/product_c10.c: Regenerated. + * generated/product_c16.c: Regenerated. + * generated/product_c4.c: Regenerated. + * generated/product_c8.c: Regenerated. + * generated/product_i16.c: Regenerated. + * generated/product_i1.c: Regenerated. + * generated/product_i2.c: Regenerated. + * generated/product_i4.c: Regenerated. + * generated/product_i8.c: Regenerated. + * generated/product_r10.c: Regenerated. + * generated/product_r16.c: Regenerated. + * generated/product_r4.c: Regenerated. + * generated/product_r8.c: Regenerated. + * generated/sum_c10.c: Regenerated. + * generated/sum_c16.c: Regenerated. + * generated/sum_c4.c: Regenerated. + * generated/sum_c8.c: Regenerated. + * generated/sum_i16.c: Regenerated. + * generated/sum_i1.c: Regenerated. + * generated/sum_i2.c: Regenerated. + * generated/sum_i4.c: Regenerated. + * generated/sum_i8.c: Regenerated. + * generated/sum_r10.c: Regenerated. + * generated/sum_r16.c: Regenerated. + * generated/sum_r4.c: Regenerated. + * generated/sum_r8.c: Regenerated. + +2011-03-11 Jerry DeLisle <jvdelisle@gcc.gnu.org> + + PR libgfortran/48047 + * io/write_float.def (write_float): Change MIN_FIELD_WIDTH to 48. + +2011-03-04 Janne Blomqvist <jb@gcc.gnu.org> + + PR libfortran/47802 + * intrinsics/ctime.c (strctime): Use builtins to check localtime_r + return type. + +2011-03-04 Janne Blomqvist <jb@gcc.gnu.org> + + PR libfortran/47802 + * intrinsics/ctime.c (strctime): Don't use return value of + localtime_r. + +2011-02-28 Jerry DeLisle <jvdelisle@gcc.gnu.org> + + PR libgfortran/47567 + * io/write_float.def (output_float): Move handling of w = 0 to after + output rounding. Check for zero and set zero_flag accordingly. Set + width according to zero_flag. Add better comments. + +2011-02-27 Jerry DeLisle <jvdelisle@gcc.gnu.org> + + PR libgfortran/47778 + * io/list_read.c (namelist_read): Intialize the error string buffere. + If pprev_nl was used during the previous namelist read and the rank + was zero, reset the pointer to NULL for the next namelist read. + +2011-02-26 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> + + PR libfortran/45165 + * unix.c (fallback_access): Fix file descriptor leaks. + +2011-02-25 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> + + * acinclude.m4 (LIBGFOR_CHECK_FPSETMASK): Set shell variable + tested in configure.host. + * configure: Regenerate. + +2011-02-24 Janne Blomqvist <jb@gcc.gnu.org> + + PR libfortran/47802 + * config.h.in: Regenerated. + * configure: Regenerated. + * configure.ac: Remove checks for ctime and ctime_r, add check for + strftime. + * intrinsics/date_and_time.c (localtime_r): Move fallback + implementation to time_1.h. + * intrinsics/time_1.h (localtime_r): Fallback implementation. + * intrinsics/ctime.c: Include time_1.h. + (ctime_r): Remove fallback implementation. + (strctime): New function. + (fdate): Use strctime instead of ctime_r. + (fdate_sub): Likewise. + (ctime): Likewise. + (ctime_sub): Likewise. + +2011-02-24 Jakub Jelinek <jakub@redhat.com> + + PR fortran/47878 + * io/transfer.c (read_sf): Call fbuf_getptr only at the end, + and subtract n, dtp->u.p.sf_seen_eor and seen_comma from it. + +2011-02-24 Janne Blomqvist <jb@gcc.gnu.org> + + PR libfortran/47802 + * configure.ac: Add test for POSIX getpwuid_r. + * intrinsics/getlog.c (getlog): CPP test for + HAVE_POSIX_GETPWUID_R. + * config.h.in: Regenerated. + * configure: Regenerated. + +2011-02-23 Jerry DeLisle <jvdelisle@gcc.gnu.org> + + PR libgfortran/47567 + * io/write_float.def (output_float): Remove special case handling of + zero with width 1. + +2011-02-23 Janne Blomqvist <jb@gcc.gnu.org> + Jerry DeLisle <jvdelisle@gcc.gnu.org> + + PR libfortran/47694 + * io/fbuf.h (fbuf_getptr): New inline function. + * io/transfer.c (read_sf): Use fbuf_getptr and fbuf_getc to scan + through the string instead of fbuf_read. + +2011-02-22 Tobias Burnus <burnus@net-b.de> + Kai-Uwe Eckhardt <kuehro@gmx.de> + + PR libfortran/47830 + * intrinsics/c99_functions.c (roundl): Make C valid for + HAVE_NEXTAFTERL. + +2011-02-19 Jerry DeLisle <jvdelisle@gcc.gnu.org> + + PR libgfortran/47567 + * io/write_float.def (output_float): Adjust width for F0.d to + allow space for negative signs on zero. + +2011-02-16 Jerry DeLisle <jvdelisle@gcc.gnu.org> + + PR libgfortran/47667 + * io/list_read.c (read_logical): Check for end of line before calling + eat_line. (read_integer): Likewise. (parse_real): Don't unget the + separator. Check for end of line before calling eat_line. + (read_complex): Allow line-end before and after parenthesis and comma. + Check for end of line before calling eat_line. (read_real): Check for + end of line before calling eat_line. + +2011-02-16 Jakub Jelinek <jakub@redhat.com> + + PR libfortran/47757 + * gfortran.map (GFORTRAN_1.4): Export + _gfortran_{m,s}i{all,any,parity}_i{1,2,4,8,16} and + _gfortran_{cshift0,eoshift{0,2}}_16_char4. + +2011-02-15 Tobias Burnus <burnus@net-b.de> + + PR fortran/47716 + PR fortran/47648 + * acinclude.m4 (LIBGFOR_CHECK_FLOAT128): Use check from + libquadmath, which uses more features. + * configure: Regenerate. + +2011-02-14 Jakub Jelinek <jakub@redhat.com> + + PR fortran/47642 + * io/write_float.def (DTOAQ): Use quadmath_snprintf instead of + quadmath_flt128tostr. + * io/transfer128.c (tmp2): Initialize to quadmath_snprintf instead + of quadmath_flt128tostr. + +2011-02-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> + + * Makefile.in: Regenerate. + * aclocal.m4: Likewise. + * configure: Likewise. + +2011-02-05 Jerry DeLisle <jvdelisle@gcc.gnu.org> + + PR libgfortran/47567 + * io/write_float.def (output_float): Eliminate some redundant code. + Adjust width for case of F0.X for values of zero and all other values. + Expand cases where '*' is set to give cleaner results. + +2011-02-05 Janne Blomqvist <jb@gcc.gnu.org> + + PR libfortran/47571 + * intrinsics/time_1.h (GF_CLOCK_MONOTONIC): Move to system_clock.c. + (weak_gettime): Likewise. + (gf_gettime): Change API, move weak_gettime() usage to + system_clock.c + * intrinsics/system_clock.c (GTHREAD_USE_WEAK): Define. + (gf_gettime_mono): New function. + (system_clock_4): Use gf_gettime_mono(). + (system_clock_8): Likewise. + * intrinsics/date_and_time.c (date_and_time): Update gf_gettime() + usage. + +2011-02-02 Janne Blomqvist <jb@gcc.gnu.org> + + PR libfortran/47571 + * configure: Regenerated. + * configure.ac: Don't add librt to LIBS. + * intrinsics/time_1.h (weak_gettime): Weakref trickery for + clock_gettime(). + (gf_gettime): Use weak_gettime() instead of clock_gettime(). + +2011-02-01 Janne Blomqvist <jb@gcc.gnu.org> + + * intrinsics/time_1.h: Include errno.h needed by fallbacks. + +2011-01-31 Janne Blomqvist <jb@gcc.gnu.org> + + * intrinsics/time_1.h: Fix definition of GF_CLOCK_MONOTONIC macro. + +2011-01-31 Janne Blomqvist <jb@gcc.gnu.org> + + * configure.ac: Check for clock_gettime(). + * configure: Regenerated. + * config.h.in: Regenerated. + * intrinsics/time_1.h (__time_1): Rename to gf_cputime, add + times() fallback. + (gf_gettime): New function. + * intrinsics/cpu_time.c (__cpu_time_1): Update to call gf_cputime. + * intrinsics/date_and_time.c (date_and_time): Use gf_gettime. + * intrinsics/dtime.c (dtime_sub): Use gf_cputime. + * intrinsics/etime.c (etime_sub): Use gf_cputime. + * intrinsics/system_clock.c (system_clock_4): Use gf_gettime. + (system_clock_8): Use gf_gettime, increase count rate to allow + nanosecond precision, remove overflow prone branch. + +2011-01-29 Jerry DeLisle <jvdelisle@gcc.gnu.org> + + PR libgfortran/47434 + * io/write_float.def (write_infnan): Use calculate_sign to determine + if the sign should be given and check field widths accordingly. + +2011-01-29 Kai Tietz <kai.tietz@onevision.com> + + * intrinsics/ctime.c (ctime_r): Improve implementation. + +2011-01-27 Janne Blomqvist <jb@gcc.gnu.org> + + PR libfortran/47431 + * config.h.in: Regenerated. + * configure: Regenerated. + * configure.ac: Add check for ctime_r(). + * intrinsics/ctime.c (ctime_r): Fallback implementation. + (fdate): Use ctime_r() instead of ctime(). + (fdate_sub): Likewise. + (ctime): Likewise. + (ctime_sub): Likewise. + +2011-01-27 Janne Blomqvist <jb@gcc.gnu.org> + + PR libfortran/47432 + * config.h.in: Regenerated. + * configure: Regenerated. + * configure.ac: Add check for ttyname_r. + * io/unix.h: Add TTY_NAME_MAX, change stream_ttyname prototype. + * io/unix.c (stream_ttyname): Use ttyname_r if available, conform + to new prototype. + * io/inquire.c (inquire_via_unit): Use changed stream_ttyname. + * io/intrinsics.c (ttynam_sub): Likewise. + (ttynam): Likewise. + +2011-01-27 Janne Blomqvist <jb@gcc.gnu.org> + + PR libfortran/47491 + * configure.ac: Call AC_USE_SYSTEM_EXTENSIONS to enable common + extensions. + * config.h.in: Regenerate. + * configure: Regenerate. + +2011-01-26 Jerry DeLisle <jvdelisle@gcc.gnu.org> + + PR libgfortran/47285 + * io/write_float.def (write_infnan): Adjust processor selected width + to 3 if NaN. + +2011-01-26 Jerry DeLisle <jvdelisle@gcc.gnu.org> + + PR libgfortran/47285 + * io/write_float.def (output_float): Return SUCCESS or FAILURE and use + the result to set the padding. + +2011-01-26 Kai Tietz <kai.tietz@onevision.com> + + * intrinsics/getlog.c (getlog): Fix label/statement issue. + +2011-01-25 Janne Blomqvist <jb@gcc.gnu.org> + + PR libfortran/47375 + * config.h.in: Regenerated. + * configure: Regenerated. + * configure.ac: Add check for getpwuid_r. + * intrinsics/getlog.c (getlog): Use getpwuid_r() if available. + +2011-01-22 Janne Blomqvist <jb@gcc.gnu.org> + + PR libfortran/46267 + * config.h.in: Regenerated. + * configure: Regenerated. + * configure.ac: Check presence of strerror_r. + * intrinsics/gerror.c (gerror): Use gf_strerror, modify logic. + * io/unix.c (get_oserror): Remove. + * libgfortran.h (gf_strerror): Add prototype. + (get_oserror): Remove prototype. + * runtime/error.c (gf_strerror): New function. + (os_error): Use gf_strerror instead of get_oserror. + (generate_errror): Likewise. + +2011-01-17 Janne Blomqvist <jb@gcc.gnu.org> + + PR libfortran/47296 + * io/unix.c (tempfile): Set opp->file and opp->file_len also if an + error occurs. + +2011-01-16 Jakub Jelinek <jakub@redhat.com> + + PR fortran/46625 + * io/write_float.def (DTOAQ): Use quadmath_flt128tostr + instead of quadmath_dtoa. + * io/transfer128.c (tmp1, tmp2): New variables, bring in + strtoflt128 and quadmath_flt128tostr. + (transfer_real128, transfer_real128_write, transfer_complex128, + transfer_complex128_write): Remove tmp1/tmp2 variables. + * io/read.c (convert_real): Use strtoflt128 instead of + quadmath_strtopQ, adjust for the changed arguments and return + value. + +2011-01-14 Jerry DeLisle <jvdelisle@gcc.gnu.org> + + PR libgfortran/47296 + * io/unix.c (unpack_filename): Return non-zero if the filename passed + in is NULL. + +2011-01-04 Jerry DeLisle <jvdelisle@gcc.gnu.org> + + PR libgfortran/47154 + * io/list_read.c (namelist_read): Remove calls to hit_eof to avoid the + duplicate calls via next_record. + + +Copyright (C) 2011 Free Software Foundation, Inc. + +Copying and distribution of this file, with or without modification, +are permitted in any medium without royalty provided the copyright +notice and this notice are preserved. diff --git a/libgfortran/Makefile.am b/libgfortran/Makefile.am index 350b7161059..2ff29a8f68f 100644 --- a/libgfortran/Makefile.am +++ b/libgfortran/Makefile.am @@ -36,7 +36,9 @@ LTLDFLAGS = $(shell $(SHELL) $(top_srcdir)/../libtool-ldflags $(LDFLAGS)) \ toolexeclib_LTLIBRARIES = libgfortran.la toolexeclib_DATA = libgfortran.spec libgfortran_la_LINK = $(LINK) $(libgfortran_la_LDFLAGS) -libgfortran_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version` $(LTLDFLAGS) $(LIBQUADLIB) -lm $(extra_ldflags_libgfortran) $(version_arg) +libgfortran_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version` \ + $(LTLDFLAGS) $(LIBQUADLIB) -lm $(extra_ldflags_libgfortran) \ + $(version_arg) -Wc,-shared-libgcc libgfortran_la_DEPENDENCIES = $(version_dep) libgfortran.spec $(LIBQUADLIB_DEP) myexeclib_LTLIBRARIES = libgfortranbegin.la diff --git a/libgfortran/Makefile.in b/libgfortran/Makefile.in index 540fdc6f456..b65eca49224 100644 --- a/libgfortran/Makefile.in +++ b/libgfortran/Makefile.in @@ -493,7 +493,10 @@ LTLDFLAGS = $(shell $(SHELL) $(top_srcdir)/../libtool-ldflags $(LDFLAGS)) \ toolexeclib_LTLIBRARIES = libgfortran.la toolexeclib_DATA = libgfortran.spec libgfortran_la_LINK = $(LINK) $(libgfortran_la_LDFLAGS) -libgfortran_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version` $(LTLDFLAGS) $(LIBQUADLIB) -lm $(extra_ldflags_libgfortran) $(version_arg) +libgfortran_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version` \ + $(LTLDFLAGS) $(LIBQUADLIB) -lm $(extra_ldflags_libgfortran) \ + $(version_arg) -Wc,-shared-libgcc + libgfortran_la_DEPENDENCIES = $(version_dep) libgfortran.spec $(LIBQUADLIB_DEP) myexeclib_LTLIBRARIES = libgfortranbegin.la myexeclibdir = $(libdir)/gcc/$(target_alias)/$(gcc_version)$(MULTISUBDIR) diff --git a/libgfortran/runtime/backtrace.c b/libgfortran/runtime/backtrace.c index e28bdcbc423..5ebd9721130 100644 --- a/libgfortran/runtime/backtrace.c +++ b/libgfortran/runtime/backtrace.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2006, 2007, 2009, 2011 Free Software Foundation, Inc. +/* Copyright (C) 2006, 2007, 2009, 2011, 2012 Free Software Foundation, Inc. Contributed by François-Xavier Coudert This file is part of the GNU Fortran runtime library (libgfortran). @@ -197,7 +197,7 @@ show_backtrace (void) state.frame_number = 0; state.error = 0; - estr_write ("\nA fatal error occurred! Backtrace for this error:\n"); + estr_write ("\nBacktrace for this error:\n"); #if CAN_PIPE diff --git a/libgfortran/runtime/compile_options.c b/libgfortran/runtime/compile_options.c index 0c139a2d4ef..0e657f73ba6 100644 --- a/libgfortran/runtime/compile_options.c +++ b/libgfortran/runtime/compile_options.c @@ -1,5 +1,6 @@ /* Handling of compile-time options that influence the library. - Copyright (C) 2005, 2007, 2009, 2010, 2011 Free Software Foundation, Inc. + Copyright (C) 2005, 2007, 2009, 2010, 2011, 2012 + Free Software Foundation, Inc. This file is part of the GNU Fortran runtime library (libgfortran). @@ -32,6 +33,87 @@ compile_options_t compile_options; volatile sig_atomic_t fatal_error_in_progress = 0; + +/* Helper function for backtrace_handler to write information about the + received signal to stderr before actually giving the backtrace. */ +static void +show_signal (int signum) +{ + const char * name = NULL, * desc = NULL; + + switch (signum) + { +#if defined(SIGQUIT) + case SIGQUIT: + name = "SIGQUIT"; + desc = "Terminal quit signal"; + break; +#endif + + /* The following 4 signals are defined by C89. */ + case SIGILL: + name = "SIGILL"; + desc = "Illegal instruction"; + break; + + case SIGABRT: + name = "SIGABRT"; + desc = "Process abort signal"; + break; + + case SIGFPE: + name = "SIGFPE"; + desc = "Floating-point exception - erroneous arithmetic operation"; + break; + + case SIGSEGV: + name = "SIGSEGV"; + desc = "Segmentation fault - invalid memory reference"; + break; + +#if defined(SIGBUS) + case SIGBUS: + name = "SIGBUS"; + desc = "Access to an undefined portion of a memory object"; + break; +#endif + +#if defined(SIGSYS) + case SIGSYS: + name = "SIGSYS"; + desc = "Bad system call"; + break; +#endif + +#if defined(SIGTRAP) + case SIGTRAP: + name = "SIGTRAP"; + desc = "Trace/breakpoint trap"; + break; +#endif + +#if defined(SIGXCPU) + case SIGXCPU: + name = "SIGXCPU"; + desc = "CPU time limit exceeded"; + break; +#endif + +#if defined(SIGXFSZ) + case SIGXFSZ: + name = "SIGXFSZ"; + desc = "File size limit exceeded"; + break; +#endif + } + + if (name) + st_printf ("\nProgram received signal %s: %s.\n", name, desc); + else + st_printf ("\nProgram received signal %d.\n", signum); +} + + /* A signal handler to allow us to output a backtrace. */ void backtrace_handler (int signum) @@ -43,6 +125,7 @@ backtrace_handler (int signum) raise (signum); fatal_error_in_progress = 1; + show_signal (signum); show_backtrace(); /* Now reraise the signal. We reactivate the signal's diff --git a/libgfortran/runtime/main.c b/libgfortran/runtime/main.c index 11b535afa92..1cad5eff725 100644 --- a/libgfortran/runtime/main.c +++ b/libgfortran/runtime/main.c @@ -116,8 +116,10 @@ store_exe_path (const char * argv0) memset (buf, 0, sizeof (buf)); #ifdef HAVE_GETCWD cwd = getcwd (buf, sizeof (buf)); + if (!cwd) + cwd = "."; #else - cwd = ""; + cwd = "."; #endif /* exe_path will be cwd + "/" + argv[0] + "\0". This will not work |