summaryrefslogtreecommitdiff
path: root/libgfortran
diff options
context:
space:
mode:
authorbstarynk <bstarynk@138bc75d-0d04-0410-961f-82ee72b054a4>2012-01-11 08:28:21 +0000
committerbstarynk <bstarynk@138bc75d-0d04-0410-961f-82ee72b054a4>2012-01-11 08:28:21 +0000
commit84d429b9a24117fcd1ad6b88ae2658cc8fa5f8ac (patch)
treefb62b90dc09045605d9426eb9febca89032fd1b2 /libgfortran
parentf22b491886dbe1718cc7076fcce41f157ac735d9 (diff)
downloadgcc-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/ChangeLog1504
-rw-r--r--libgfortran/ChangeLog-20111485
-rw-r--r--libgfortran/Makefile.am4
-rw-r--r--libgfortran/Makefile.in5
-rw-r--r--libgfortran/runtime/backtrace.c4
-rw-r--r--libgfortran/runtime/compile_options.c85
-rw-r--r--libgfortran/runtime/main.c4
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