Francois-Xavier Coudert
6a822a7403
re PR fortran/47571 (undefined reference to clock_gettime in Linux build of 02/01/2011)
...
PR libfortran/47571
* acinclude.m4 (LIBGFOR_GTHREAD_WEAK): Reinstate.
* configure.ac: Call LIBGFOR_GTHREAD_WEAK again.
* config.h.in: Regenerate.
* configure: Regenerate.
From-SVN: r227347
2015-08-31 14:02:43 +00:00
Francois-Xavier Coudert
e78549932d
re PR fortran/47571 (undefined reference to clock_gettime in Linux build of 02/01/2011)
...
PR libfortran/47571
* acinclude.m4 (LIBGFOR_GTHREAD_WEAK): Remove.
(LIBGFOR_CHECK_WEAKREF): New test.
* configure.ac: Call LIBGFOR_CHECK_WEAKREF instead of
LIBGFOR_GTHREAD_WEAK.
* config.h.in: Regenerate.
* configure: Regenerate.
* intrinsics/system_clock.c: Use SUPPORTS_WEAKREF instead of
SUPPORTS_WEAK and GTHREAD_USE_WEAK.
From-SVN: r227335
2015-08-31 10:37:30 +00:00
Francois-Xavier Coudert
4879fba998
acinclude.m4: Remove LIBGFOR_CHECK_ATTRIBUTE_DLLEXPORT.
...
* acinclude.m4: Remove LIBGFOR_CHECK_ATTRIBUTE_DLLEXPORT.
* configure.ac: Remove checks for strcasestr, execl, close,
getrlimit, readlink, getppid, powl, erfl, j0l, j1l, y0l, y1l,
tgammal, and lgammal.
* config.h.in: Regenerate.
* configure: Regenerate.
From-SVN: r227319
2015-08-29 13:17:05 +00:00
Francois-Xavier Coudert
ad4f95e395
re PR libfortran/54572 (Use libbacktrace library)
...
PR libfortran/54572
* Makefile.def: Make libgfortran depend on libbacktrace.
* Makefile.in: Regenerate.
* config-lang.in: Add libbacktrace to target_libs.
* Makefile.am (libgfortran_la_LDFLAGS): Link in libbacktrace.
(AM_CPPFLAGS): Add libbacktrace directories to include paths.
* Makefile.in: Regenerate.
* aclocal.m4: Regenerate.
* config.h.in: Regenerate.
* configure: Regenerate.
* configure.ac: Remove checks for strtok_r, wait, execve, pipe,
and dup2. Remove call to GCC_CHECK_UNWIND_GETIPINFO.
* libgfortran.h (full_exe_path, find_addr2line, backtrace): Remove
prototypes.
(show_backtrace): Add prototype.
* runtime/backtrace.c: Rework file entirely.
* runtime/compile_options.c (backtrace_handler): Rename backtrace
to show_backtrace.
(maybe_find_addr2line): Remove function.
(set_options): Remove call to maybe_find_addr2line.
* runtime/error.c (sys_abort): Rename backtrace to show_backtrace.
* runtime/main.c (store_exe_path): Empty function body.
(full_exe_path, gfstrtok_r, find_addr2line): Remove functions.
(cleanup): Don't free removed variables.
* runtime/minimal.c (full_exe_path): Remove function.
(set_args): Don't set exe_path.
* gfortran.dg/backtrace_1.f90: New test.
From-SVN: r227106
2015-08-23 21:50:30 +00:00
Janne Blomqvist
9cbecd06be
PR 47007 and 61847 Locale failures in libgfortran.
...
2014-11-10 Janne Blomqvist <jb@gcc.gnu.org>
PR libfortran/47007
PR libfortran/61847
* config.h.in: Regenerated.
* configure: Regenerated.
* configure.ac (AC_CHECK_HEADERS_ONCE): Check for xlocale.h.
(AC_CHECK_FUNCS_ONCE): Check for newlocale, freelocale, uselocale,
strerror_l.
* io/io.h (locale.h): Include.
(xlocale.h): Include if present.
(c_locale): New variable.
(old_locale): New variable.
(old_locale_ctr): New variable.
(old_locale_lock): New variable.
(st_parameter_dt): Add old_locale member.
* io/transfer.c (data_transfer_init): Set locale to "C" if doing
formatted transfer.
(finalize_transfer): Reset locale to previous.
* io/unit.c (c_locale): New variable.
(old_locale): New variable.
(old_locale_ctr): New variable.
(old_locale_lock): New variable.
(init_units): Init c_locale, init old_locale_lock.
(close_units): Free c_locale.
* runtime/error.c (locale.h): Include.
(xlocale.h): Include if present.
(gf_strerror): Use strerror_l if available. Reset locale to
LC_GLOBAL_LOCALE for strerror_r branch.
2014-11-10 Janne Blomqvist <jb@gcc.gnu.org>
PR libfortran/47007
PR libfortran/61847
* gfortran.texi: Add note about locale issues to thread-safety
section.
From-SVN: r217273
2014-11-10 02:17:16 +02:00
Janne Blomqvist
70480968b4
PR 63589 Fix splitting of PATH in find_addr2line.
...
2014-10-20 Janne Blomqvist <jb@gcc.gnu.org>
PR libfortran/63589
* configure.ac: Check for strtok_r.
* runtime/main.c (gfstrtok_r): Fallback implementation of
strtok_r.
(find_addr2line): Use strtok_r to split PATH.
* config.h.in: Regenerated.
* configure: Regenerated.
From-SVN: r216449
2014-10-20 10:53:37 +03:00
Rainer Orth
de51fc1b15
Restore Solaris/SPARC bootstrap
...
* configure, config.h.in: Regenerate.
* config/fpu-sysv.h: Include <assert.h>.
From-SVN: r212307
2014-07-05 20:43:07 +00:00
Janne Blomqvist
4269f19c09
PR 60324 Handle long path names, don't use PATH_MAX.
...
From-SVN: r210738
2014-05-22 06:51:25 +03:00
Ulrich Weigand
b5b5834350
configure.ac: Check for presence of fcntl.
...
* configure.ac: Check for presence of fcntl.
* configure: Regenerate.
* config.h.in: Regenerate.
* io/unix.c (set_close_on_exec): Check for HAVE_FCNTL.
From-SVN: r208634
2014-03-18 09:58:17 +00:00
Janne Blomqvist
c20fdb917f
Set close-on-exec flag when opening files.
...
2013-11-10 Janne Blomqvist <jb@gcc.gnu.org>
* configure.ac: Check presence of mkostemp.
* io/unix.c (set_close_on_exec): New function.
(tempfile_open): Use mkostemp and O_CLOEXEC if available, fallback
to calling set_close_on_exec.
(regular_file): Add O_CLOEXEC to flags if defined.
(open_external): Call set_close_on_exec if O_CLOEXEC is not
defined.
* config.h.in: Regenerated.
* configure: Regenerated.
* Makefile.in: Regenerated.
* aclocal.m4: Regenerated.
From-SVN: r204654
2013-11-10 22:34:29 +02:00
Tobias Burnus
82a4f54cc5
re PR libfortran/35862 ([F2003] Implement new rounding modes for run time)
...
2013-07-21 Tobias Burnus <burnus@net-b.de>
PR fortran/35862
* libgfortran.h (GFC_FPE_DOWNWARD, GFC_FPE_TONEAREST,
GFC_FPE_TOWARDZERO, GFC_FPE_UPWARD): New defines.
2013-07-21 Tobias Burnus <burnus@net-b.de>
PR fortran/35862
* libgfortran.h (set_fpu_rounding_mode,
get_fpu_rounding_mode): New prototypes.
* config/fpu-387.h (set_fpu_rounding_mode,
get_fpu_rounding_mode): New functions.
* config/fpu-aix.h (set_fpu_rounding_mode,
get_fpu_rounding_mode): Ditto.
* config/fpu-generic.h (set_fpu_rounding_mode,
get_fpu_rounding_mode): Ditto.
* config/fpu-glibc.h (set_fpu_rounding_mode,
get_fpu_rounding_mode): Ditto.
* config/fpu-sysv.h (set_fpu_rounding_mode,
get_fpu_rounding_mode): Ditto.
* configure.ac: Check for fp_rnd and fp_rnd_t.
* io/io.h (enum unit_round): Use GFC_FPE_* for the value.
* io/read.c (convert_real): Set FP ronding mode.
* Makefile.in: Regenerate.
* aclocal.m4: Regenerate.
* config.h.in: Regenerate.
* configure: Regenerate.
2013-07-21 Tobias Burnus <burnus@net-b.de>
PR fortran/35862
* gfortran.dg/round_4.f90: New.
Co-Authored-By: Uros Bizjak <ubizjak@gmail.com>
From-SVN: r201093
2013-07-21 13:54:27 +02:00
Tobias Burnus
7ae346c340
configure.ac: Check for fp_except and fp_except_t.
...
2013-06-24 Tobias Burnus <burnus@net-b.de>
* configure.ac: Check for fp_except and fp_except_t.
* config/fpu-sysv.h: Conditionally use either type.
* configure: Regenerate.
* config.h.in: Regenerate.
From-SVN: r200360
2013-06-24 10:34:05 +02:00
Tobias Burnus
fa86f4f917
gfortran.h (gfc_option_t): Add fpe_summary.
...
2013-06-17 Tobias Burnus <burnus@net-b.de>
* gfortran.h (gfc_option_t): Add fpe_summary.
* gfortran.texi (_gfortran_set_options): Update.
* invoke.texi (-ffpe-summary): Add doc.
* lang.opt (ffpe-summary): Add flag.
* options.c (gfc_init_options, gfc_handle_option): Handle it.
(gfc_handle_fpe_option): Renamed from gfc_handle_fpe_trap_option,
also handle fpe_summary.
* trans-decl.c (create_main_function): Update
_gfortran_set_options call.
2013-06-17 Tobias Burnus <burnus@net-b.de>
* libgfortran.h (compile_options_t) Add fpe_summary.
(get_fpu_except_flags): New prototype.
* runtime/compile_options.c (set_options, init_compile_options):
Handle fpe_summary.
* runtime/stop.c (report_exception): New function.
(stop_numeric, stop_numeric_f08, stop_string, error_stop_string,
error_stop_numeric): Call it.
* config/fpu-387.h (get_fpu_except_flags): New function.
* config/fpu-aix.h (get_fpu_except_flags): New function.
* config/fpu-generic.h (get_fpu_except_flags): New function.
* config/fpu-glibc.h (get_fpu_except_flags): New function.
* config/fpu-glibc.h (get_fpu_except_flags): New function.
* configure.ac: Check for fpxcp.h.
* configure: Regenerate.
* config.h.in: Regenerate.
From-SVN: r200147
2013-06-17 09:48:21 +02:00
John David Anglin
406defcb58
re PR target/56347 (FAIL: gfortran.dg/integer_exponentiation_2.f90 -O2 execution test)
...
PR target/56347
* acinclude.m4 (LIBGFOR_CHECK_FOR_BROKEN_POWF): Remove check for
broken powf.
* configure.ac (LIBGFOR_CHECK_FOR_BROKEN_POWF): Likewise.
* intrinsics/c99_functions.c: Likewise.
* configure: Rebuilt.
* config.h.in: Rebuilt.
From-SVN: r196139
2013-02-19 14:01:40 +00:00
Janne Blomqvist
227e441f2b
Fix usage of secure_getenv with glibc 2.17.
...
See http://sourceware.org/glibc/wiki/Tips_and_Tricks/secure_getenv
2012-10-06 Janne Blomqvist <jb@gcc.gnu.org>
* configure.ac: Check for presence of secure_getenv.
* libgfortran.h: Use HAVE_SECURE_GETENV.
* Makefile.in: Regenerated.
* aclocal.m4: Regenerated.
* config.h.in: Regenerated.
* configure: Regenerated.
From-SVN: r192169
2012-10-06 23:56:05 +03:00
Tobias Burnus
4179e59afa
re PR libfortran/53444 (Accommodate non-compliant strerror_r() on VxWorks.)
...
2012-05-23 Tobias Burnus <burnus@net-b.de>
PR libfortran/53444
* acinclude.m4 (LIBGFOR_CHECK_STRERROR_R): Add configure checks
* for
two- and three-argument versions of strerror_r.
* configure.ac (LIBGFOR_CHECK_STRERROR_R): Use it.
* runtime/error.c (gf_strerror): Handle two-argument version
of strerror_r.
* config.h.in: Regenerate.
* configure: Regenerate.
From-SVN: r187796
2012-05-23 10:34:06 +02:00
Janne Blomqvist
68ee9c0807
Fix handling of temporary files.
...
2012-05-05 Janne Blomqvist <jb@gcc.gnu.org>
* gfortran.texi (GFORTRAN_TMPDIR): Rename to TMPDIR, explain
algorithm for choosing temp directory.
2012-05-05 Janne Blomqvist <jb@gcc.gnu.org>
* config.h.in: Regenerated.
* configure: Regenerated.
* configure.ac: Add checks for getegid and __secure_getenv.
* io/unix.c (P_tmpdir): Fallback definition for macro.
(tempfile_open): New function.
(tempfile): Use secure_getenv, call tempfile_open to try each
directory in turn.
* libgfortran.h (DEFAULT_TMPDIR): Remove macro.
(secure_getenv): New macro/prototype.
* runtime/environ.c (secure_getenv): New function.
(variable_table): Rename GFORTRAN_TMPDIR to TMPDIR.
* runtime/main.c (find_addr2line): Use secure_getenv.
From-SVN: r187190
2012-05-05 09:30:51 +03:00
Tristan Gingold
f38a14ca90
math.m4 (GCC_CHECK_MATH_FUNC): Remove if-present argument.
...
config/
2012-04-02 Tristan Gingold <gingold@adacore.com>
* math.m4 (GCC_CHECK_MATH_FUNC): Remove if-present
argument. Define the variable.
libgfortran/
2012-04-02 Tristan Gingold <gingold@adacore.com>
* configure.ac: Use new version of GCC_CHECK_MATH_FUNC.
* configure: Regenerate
* config.h.in: Regenerate.
From-SVN: r186063
2012-04-02 07:46:39 +00:00
Tristan Gingold
f1cdfa016a
configure.ac: Add description to AC_DEFINE in GCC_CHECK_MATH_FUNC.
...
2012-03-27 Tristan Gingold <gingold@adacore.com>
* configure.ac: Add description to AC_DEFINE in
GCC_CHECK_MATH_FUNC.
* configure: Regenerate
* config.h.in: Regenerate.
From-SVN: r185850
2012-03-27 09:28:02 +00:00
Tobias Burnus
8ecd1c0da4
re PR libfortran/51899 (libgfortran's chmod.c fails to build on MinGW)
...
2012-01-20 Tobias Burnus <burnus@net-b.de>
PR libgfortran/51899
* configure.ac: Check whether umask is available.
* intrinsics/chmod.c (chmod_func): Make compile with MinGW.
* configure: Regenerate.
* config.h.in: Regenerate.
From-SVN: r183335
2012-01-20 12:32:52 +01:00
Janne Blomqvist
869eea243d
Remove configure check for unused fdopen.
...
2012-01-12 Janne Blomqvist <jb@gcc.gnu.org>
* configure.ac: Remove check for fdopen.
* runtime/backtrace.c (CAN_PIPE): Fix comment, remove check for
fdopen.
* configure: Regenerated.
* config.h.in: Regenerated.
From-SVN: r183124
2012-01-12 12:30:45 +02:00
Janne Blomqvist
7454437875
Configure cleanup.
...
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.
From-SVN: r181227
2011-11-09 20:25:58 +02:00
Tobias Burnus
60858d8a32
configure.ac: Make more cross-compile friendly.
...
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.
From-SVN: r181212
2011-11-09 18:17:57 +01:00
Janne Blomqvist
1ff101ff12
PR 46686 Implement backtrace with _Unwind_Backtrace from libgcc.
...
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.
From-SVN: r181209
2011-11-09 18:04:42 +02:00
Rainer Orth
5d1c8e77cf
Move gthr to toplevel libgcc
...
gcc:
* gthr-single.h, gthr.h: Move to ../libgcc.
* gthr-aix.h: Move to ../libgcc/config/rs6000.
* gthr-dce.h: Move to ../libgcc/config/pa.
* gthr-lynx.h: Move to ../libgcc/config.
* gthr-mipssde.h: Move to ../libgcc/config/mips.
* gthr-posix.h: Move to ../libgcc/config.
* gthr-rtems.h: Likewise.
* gthr-tpf.h: Move to ../libgcc/config/s390.
* gthr-vxworks.h: Move to ../libgcc/config.
* gthr-win32.h: Move to ../libgcc/config/i386.
* configure.ac (gthread_flags): Remove
(gthr-default.h): Don't create.
(thread_file): Don't substitute.
* configure: Regenerate.
* Makefile.in (GCC_THREAD_FILE): Remove.
(GTHREAD_FLAGS): Remove.
(libgcc.mvars): Remove GTHREAD_FLAGS.
* config/t-vxworks (EXTRA_HEADERS): Remove.
gcc/po:
* EXCLUDES (gthr-aix.h, gthr-dce.h, gthr-posix.c, gthr-posix.h)
(gthr-rtems.h, gthr-single.h, gthr-solaris.h, gthr-vxworks.h)
(gthr-win32.h, gthr.h): Remove.
libgcc:
* gthr-single.h, gthr.h: New files.
* config/gthr-lynx.h, config/gthr-posix.h., config/gthr-rtems.h,
config/gthr-vxworks.h, config/i386/gthr-win32.h,
config/mips/gthr-mipssde.h, config/pa/gthr-dce.h,
config/rs6000/gthr-aix.h, config/s390/gthr-tpf.h: New files.
* config/i386/gthr-win32.c: Include "gthr-win32.h".
* configure.ac (thread_header): New variable.
Set it depending on target_thread_file.
(gthr-default.h): Link from $thread_header.
* configure: Regenerate.
* Makefile.in (LIBGCC2_CFLAGS): Remove $(GTHREAD_FLAGS).
libgfortran:
* 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.
libobjc:
* Makefile.in (INCLUDES): Add -I$(MULTIBUILDTOP)../libgcc.
* configure.ac (target_thread_file, HAVE_GTHR_DEFAULT): Remove.
* configure: Regenerate.
* config.h.in: Regenerate.
libstdc++-v3:
* acinclude.m4 (GLIBCXX_CONFIGURE): Determine and substitute
toplevel_builddir.
(GLIBCXX_ENABLE_THREADS): Remove glibcxx_thread_h,
HAVE_GTHR_DEFAULT, enable_thread.
(GLIBCXX_CHECK_GTHREADS): Reflect gthr move to libgcc.
* include/Makefile.am (thread_host_headers): Remove
${host_builddir}/gthr-tpf.h.
(${host_builddir}/gthr.h): Reflect gthr move to libgcc.
Use $<.
(${host_builddir}/gthr-single.h): Likewise.
(${host_builddir}/gthr-posix.h): Likewise.
(${host_builddir}/gthr-tpf.h): Remove.
(${host_builddir}/gthr-default.h): Likewise.
* configure, config.h.in: Regenerate.
* Makefile.in, doc/Makefile.in, include/Makefile.in,
libsupc++/Makefile.in, po/Makefile.in, python/Makefile.in,
src/Makefile.intestsuite/Makefile.in: Regenerate.
From-SVN: r180776
2011-11-02 15:28:43 +00:00
Janne Blomqvist
eec2794c17
PR 48931 Make backtrace async-signal-safe, reformat output
...
From-SVN: r174030
2011-05-22 19:38:05 +03:00
Janne Blomqvist
2aadeae27f
PR 47571 Fix bootstrap regression on alpha-dec-osf
...
From-SVN: r172469
2011-04-15 07:21:19 +03:00
Janne Blomqvist
44720bef9d
Cleanup memsize types
...
From-SVN: r172340
2011-04-12 22:27:49 +03:00
Janne Blomqvist
8f17e00c2f
PR 47802 Use strftime for CTIME and FDATE intrinsics
...
From-SVN: r170478
2011-02-24 23:51:39 +02:00
Janne Blomqvist
23e6d4a5be
PR 47802 Test for POSIX getpwuid_r
...
From-SVN: r170471
2011-02-24 16:51:17 +02:00
Janne Blomqvist
b6e7a3d1f9
Use clock_gettime in libgfortran timing intrinsics, cleanup
...
From-SVN: r169449
2011-01-31 22:52:00 +02:00
Janne Blomqvist
b5fa435a2a
Pr 47431 CTIME/FDATE thread-safety using ctime_r()
...
From-SVN: r169338
2011-01-27 22:22:37 +02:00
Janne Blomqvist
6a0f6e7799
PR 47432 Use ttyname_r() if available
...
From-SVN: r169337
2011-01-27 22:05:45 +02:00
Janne Blomqvist
21be0a5ab5
PR 47491 getpwuid_r() bootstrap regression on Solaris
...
From-SVN: r169334
2011-01-27 19:34:14 +02:00
Janne Blomqvist
15fb94aef9
PR 47375 getlog thread safety
...
From-SVN: r169243
2011-01-25 18:46:00 +02:00
Janne Blomqvist
723553bdc1
PR 46267 strerror thread safety
...
From-SVN: r169110
2011-01-22 00:42:17 +02:00
Francois-Xavier Coudert
1ec601bf9f
re PR fortran/32049 (Support on x86_64 also kind=16)
...
/
2010-11-13 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
Tobias Burnus <burnus@net-b.de>
PR fortran/32049
* Makefile.def: Add libquadmath; build it with language=fortran.
* configure.ac: Add libquadmath.
* Makefile.tpl: Handle multiple libs in check-[+language+].
* Makefile.in: Regenerate.
* configure: Regenerate.
libquadmath/
2010-11-13 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
Tobias Burnus <burnus@net-b.de>
PR fortran/32049
Initial implementation and checkin.
gcc/fortran/
2010-11-13 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
Tobias Burnus <burnus@net-b.de>
PR fortran/32049
* gfortranspec.c (find_spec_file): New function.
(lang_specific_driver): Try to find .spec file and use it.
* trans-io.c (iocall): Define
* IOCALL_X_REAL128/COMPLEX128(,write).
(gfc_build_io_library_fndecls): Build decl for __float128 I/O.
(transfer_expr): Call __float128 I/O functions.
* trans-types.c (gfc_init_kinds): Allow kind-16 belonging
to __float128.
gcc/testsuite/
2010-11-13 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
Tobias Burnus <burnus@net-b.de>
PR fortran/32049
* gfortran.dg/quad_1.f90: New.
* lib/gcc-defs.exp (gcc-set-multilib-library-path): Use also
compiler arguments.
* lib/gfortran.exp (gfortran_link_flags): Add libquadmath to
library search path; call gcc-set-multilib-library-path with
arguments such that libgfortran.spec is found.
(gfortran_init): Add path for libgfortran.spec to
GFORTRAN_UNDER_TEST.
libgomp/
2010-11-13 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
Tobias Burnus <burnus@net-b.de>
PR fortran/32049
* configure.ac:
* configure: Regenerate.
libgfortran/
2010-11-13 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
Tobias Burnus <burnus@net-b.de>
PR fortran/32049
* Makefile.am: Add missing pow_r16_i4.c, add transfer128.c,
link libquadmath, if used.
* acinclude.m4 (LIBGFOR_CHECK_FLOAT128): Add.
* configure.ac: Use it, touch spec file.
* gfortran.map: Add pow_r16_i4 and
transfer_(real,complex)128(,write) functions.
* intrinsics/cshift0.c (cshift0): Handle __float128 type.
* intrinsics/erfc_scaled_inc.c: Ditto.
* intrinsics/pack_generic.c (pack): Ditto
* intrinsics/spread_generic.c (spread): Ditto.
* intrinsics/unpack_generic.c (unpack1): Ditto.
* io/read.c (convert_real): Ditto.
* io/transfer.c: Update comments.
* io/transfer128.c: New file.
* io/write_float.def (write_float): Handle __float128 type.
* libgfortran.h: #include quadmath_weak.h, define __builtin_infq
and nanq.
* m4/mtype.m4: Handle __float128 type.
* runtime/in_pack_generic.c (internal_pack): Ditto.
* runtime/in_unpack_generic.c (internal_unpack): Ditto.
* kinds-override.h: New file.
* libgfortran.spec.in: Ditto.
* generated/pow_r16_i4.c: Generated.
* Makefile.in: Regenerate.
* configure: Regenerate.
* config.h: Regenerate.
* bessel_r10.c: Regenerate.
* bessel_r16.c: Regenerate.
* bessel_r4.c: Regenerate.
* bessel_r8.c: Regenerate.
* exponent_r16.c: Regenerate.
* fraction_r16.c: Regenerate.
* nearest_r16.c: Regenerate.
* norm2_r10.c: Regenerate.
* norm2_r16.c: Regenerate.
* norm2_r4.c: Regenerate.
* norm2_r8.c: Regenerate.
* rrspacing_r16.c: Regenerate.
* set_exponent_r16.c: Regenerate.
* spacing_r16.c: Regenerate.
Co-Authored-By: Tobias Burnus <burnus@net-b.de>
From-SVN: r166825
2010-11-16 22:23:19 +01:00
Francois-Xavier Coudert
b1012ca4be
acinclude.m4 (LIBGFOR_CHECK_FOR_BROKEN_ISFINITE, [...]): Remove.
...
* acinclude.m4 (LIBGFOR_CHECK_FOR_BROKEN_ISFINITE,
LIBGFOR_CHECK_FOR_BROKEN_ISNAN,
LIBGFOR_CHECK_FOR_BROKEN_FPCLASSIFY): Remove.
* configure.ac: Remove above checks.
* libgfortran.h: Define isnan, isinf, isfinite, isnormal and
signbit in terms of the respective built-ins.
* io/write_float.def (WRITE_FLOAT): Use signbit() instead of
__builtin_signbit().
* intrinsics/c99_functions.c (tgamma): Use isnan() instead of
__builtin_isnan().
* config.h.in: Regenerate.
* configure: Regenerate.
From-SVN: r164119
2010-09-09 18:47:11 +00:00
Iain Sandoe
db1cf15c83
configure.ac: Check for GFORTRAN_C99_1.1 funcs in OS libm.
...
2009-09-19 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
* configure.ac: Check for GFORTRAN_C99_1.1 funcs in OS libm.
* configure: Regenerate.
* config.h.in: Ditto.
From-SVN: r151972
2009-09-22 12:23:06 +02:00
Ralf Wildenhues
5213506e24
Regenerate tree using Autoconf 2.64 and Automake 1.11.
...
config/:
* override.m4 (_GCC_AUTOCONF_VERSION): Bump to 2.64.
:
* configure: Regenerate.
intl/:
* aclocal.m4: Regenerate.
* configure: Regenerate.
* config.h.in: Regenerate.
libiberty/:
* config.in: Regenerate.
* configure: Regenerate.
boehm-gc/:
* Makefile.in: Regenerate.
* aclocal.m4: Regenerate.
* configure: Regenerate.
* include/Makefile.in: Regenerate.
* include/gc_config.h.in: Regenerate.
fixincludes/:
* aclocal.m4: Regenerate.
* configure: Regenerate.
* config.h.in: Regenerate.
gcc/:
* aclocal.m4: Regenerate.
* config.in: Regenerate.
* configure: Regenerate.
libgcc/:
* configure: Regenerate.
gnattools/:
* configure: Regenerate.
libada/:
* configure: Regenerate.
libcpp/:
* aclocal.m4: Regenerate.
* config.in: Regenerate.
* configure: Regenerate.
libdecnumber/:
* aclocal.m4: Regenerate.
* configure: Regenerate.
* config.in: Regenerate.
libffi/:
* Makefile.in: Regenerate.
* aclocal.m4: Regenerate.
* configure: Regenerate.
* fficonfig.h.in: Regenerate.
* include/Makefile.in: Regenerate.
* man/Makefile.in: Regenerate.
* testsuite/Makefile.in: Regenerate.
libgfortran/:
* Makefile.in: Regenerate.
* aclocal.m4: Regenerate.
* config.h.in: Regenerate.
* configure: Regenerate.
libgomp/:
* Makefile.in: Regenerate.
* aclocal.m4: Regenerate.
* config.h.in: Regenerate.
* configure: Regenerate.
* testsuite/Makefile.in: Regenerate.
libjava/classpath/:
* Makefile.in: Regenerate.
* aclocal.m4: Regenerate.
* configure: Regenerate.
* doc/Makefile.in: Regenerate.
* doc/api/Makefile.in: Regenerate.
* examples/Makefile.in: Regenerate.
* external/Makefile.in: Regenerate.
* external/jsr166/Makefile.in: Regenerate.
* external/relaxngDatatype/Makefile.in: Regenerate.
* external/sax/Makefile.in: Regenerate.
* external/w3c_dom/Makefile.in: Regenerate.
* include/Makefile.in: Regenerate.
* include/config.h.in: Regenerate.
* lib/Makefile.in: Regenerate.
* native/Makefile.in: Regenerate.
* native/fdlibm/Makefile.in: Regenerate.
* native/jawt/Makefile.in: Regenerate.
* native/jni/Makefile.in: Regenerate.
* native/jni/classpath/Makefile.in: Regenerate.
* native/jni/gconf-peer/Makefile.in: Regenerate.
* native/jni/gstreamer-peer/Makefile.in: Regenerate.
* native/jni/gtk-peer/Makefile.in: Regenerate.
* native/jni/java-io/Makefile.in: Regenerate.
* native/jni/java-lang/Makefile.in: Regenerate.
* native/jni/java-math/Makefile.in: Regenerate.
* native/jni/java-net/Makefile.in: Regenerate.
* native/jni/java-nio/Makefile.in: Regenerate.
* native/jni/java-util/Makefile.in: Regenerate.
* native/jni/midi-alsa/Makefile.in: Regenerate.
* native/jni/midi-dssi/Makefile.in: Regenerate.
* native/jni/native-lib/Makefile.in: Regenerate.
* native/jni/qt-peer/Makefile.in: Regenerate.
* native/jni/xmlj/Makefile.in: Regenerate.
* native/plugin/Makefile.in: Regenerate.
* resource/Makefile.in: Regenerate.
* scripts/Makefile.in: Regenerate.
* tools/Makefile.in: Regenerate.
libjava/:
* Makefile.in: Regenerate.
* aclocal.m4: Regenerate.
* configure: Regenerate.
* gcj/Makefile.in: Regenerate.
* include/Makefile.in: Regenerate.
* include/config.h.in: Regenerate.
* testsuite/Makefile.in: Regenerate.
libjava/libltdl/:
* Makefile.in: Regenerate.
* aclocal.m4: Regenerate.
* config-h.in: Regenerate.
* configure: Regenerate.
libmudflap/:
* Makefile.in: Regenerate.
* aclocal.m4: Regenerate.
* config.h.in: Regenerate.
* configure: Regenerate.
* testsuite/Makefile.in: Regenerate.
libobjc/:
* aclocal.m4: Regenerate.
* configure: Regenerate.
* config.h.in: Regenerate.
libssp/:
* Makefile.in: Regenerate.
* aclocal.m4: Regenerate.
* config.h.in: Regenerate.
* configure: Regenerate.
libstdc++-v3/:
* Makefile.in: Regenerate.
* acinclude.m4: Regenerate.
* aclocal.m4: Regenerate.
* config.h.in: Regenerate.
* configure: Regenerate.
* doc/Makefile.in: Regenerate.
* include/Makefile.in: Regenerate.
* libsupc++/Makefile.in: Regenerate.
* po/Makefile.in: Regenerate.
* python/Makefile.in: Regenerate.
* src/Makefile.in: Regenerate.
* testsuite/Makefile.in: Regenerate.
zlib/:
* Makefile.in: Regenerate.
* aclocal.m4: Regenerate.
* configure: Regenerate.
From-SVN: r151014
2009-08-22 13:22:20 +00:00
Janne Blomqvist
2017c37012
Fix PR40190; use localtime_r, gmtime_r, add fallback implementations
...
From-SVN: r147985
2009-05-29 23:56:20 +03:00
John David Anglin
c0c3c409a7
re PR fortran/31832 (FAIL: gfortran.dg/integer_exponentiation_2.f90 at -O1 and above)
...
PR fortran/31832
* acinclude.m4 (LIBGFOR_CHECK_FOR_BROKEN_POWF): New autoconf check for
broken powf.
* configure.ac (LIBGFOR_CHECK_FOR_BROKEN_POWF): Use it.
* intrinsics/c99_functions.c: Use internal powf implementation if
HAVE_BROKEN_POWF is defined.
* configure: Rebuilt.
* config.h.in: Rebuilt.
From-SVN: r142952
2008-12-29 20:10:00 +00:00
Thomas Koenig
c7d0f4d5fa
re PR libfortran/32972 (performance of pack/unpack)
...
2008-04-13 Thomas Koenig <tkoenig@gcc.gnu.org>
Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
PR libfortran/32972
PR libfortran/32512
configure.ac: Add test for uintptr_t.
configure: Regenerated.
config.h.in: Regenerated.
* libgfortran.h: GFC_DTYPE_DERIVED_1: New macro.
GFC_DTYPE_DERIVED_2: New macro.
GFC_DTYPE_DERIVED_4: New macro.
GFC_DTYPE_DERIVED_8: New macro.
GFC_DTYPE_DERIVED_16: New macro.
GFC_UNALIGNED_2: New macro.
GFC_UNALIGNED_4: New macro.
GFC_UNALIGNED_8: New macro.
GFC_UNALIGNED_16: New macro.
intptr_t: Define if we don't have it.
uintptr_t: Likewise.
* runtime/backtrace.c (show_backtrace): Use intptr_t.
* intrinsics/signal.c (signal_sub): Likewise.
(signal_sub_int): Likewise.
(alarm_sub_int_i4): Likewise.
* intrinsics/spread_generic.c (spread): Use the integer
routines for handling derived types of sizes 1, 2, 4, 8 and 16
if the alignment of all pointers is correct.
(spread_scalar): Likewise.
* intrinsics/pack_generic.c (pack): Likewise.
Use GFD_DTYPE_TYPE_SIZE to avoid nested switch statements.
* intrinsics/unpack_generic.c (unpack1): Likewise.
(unpack0): Likewise.
* runtime/in_pack_generic.c (internal_pack): Likewise.
* runtime/in_unpack_generic.c (internal_unpack): Likewise.
2008-04-13 Thomas Koenig <tkoenig@gcc.gnu.org>
PR libfortran/32972
PR libfortran/32512
* gfortran.dg/internal_pack_1.f90: Add test for derived type.
* gfortran.dg/intrinsic_spread_1.f90: Likewise.
* gfortran.dg/intrinsic_pack_1.f90: Likewise.
* gfortran.dg/intrinsic_unpack_1.f90: Likewise.
Co-Authored-By: Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
From-SVN: r134245
2008-04-13 20:15:58 +00:00
François-Xavier Coudert
f489fba128
re PR fortran/33197 (Fortran 2008: math functions)
...
PR fortran/33197
gcc/fortran/
* intrinsic.c (add_functions): Modify intrinsics ACOSH, ASINH,
ATANH, ERF, ERFC and GAMMA. Add intrinsics BESSEL_{J,Y}{0,1,N},
ERFC_SCALED, LOG_GAMMA and HYPOT.
* intrinsic.h (gfc_check_hypot, gfc_simplify_hypot,
gfc_resolve_hypot): New prototypes.
* mathbuiltins.def: Add HYPOT builtin. Make complex versions of
ACOSH, ASINH and ATANH available.
* gfortran.h (GFC_ISYM_ERFC_SCALED, GFC_ISYM_HYPOT): New values.
* lang.opt: Add -std=f2008 option.
* libgfortran.h: Define GFC_STD_F2008.
* lang-specs.h: Add .f08 and .F08 file suffixes.
* iresolve.c (gfc_resolve_hypot): New function.
* parse.c (parse_contained): Allow empty CONTAINS for Fortran 2008.
* check.c (gfc_check_hypot): New function.
* trans-intrinsic.c (gfc_intrinsic_map): Define ERFC_SCALE builtin.
* options.c (set_default_std_flags): Allow Fortran 2008 by default.
(form_from_filename): Add .f08 suffix.
(gfc_handle_option): Handle -std=f2008 option.
* simplify.c (gfc_simplify_hypot): New function.
* gfortran.texi: Document Fortran 2008 status and file extensions.
* intrinsic.texi: Document new BESSEL_{J,Y}{0,1,N} intrinsics,
as well as HYPOT and ERFC_SCALED. Update documentation of ERF,
ERFC, GAMMA, LGAMMA, ASINH, ACOSH and ATANH.
* invoke.texi: Document the new -std=f2008 option.
libgomp/
* testsuite/libgomp.fortran/fortran.exp: Add .f08 and
.F08 file suffixes.
gcc/testsuite/
* gfortran.dg/gomp/gomp.exp: Add .f08 and .F08 file suffixes.
* gfortran.dg/dg.exp: Likewise.
* gfortran.dg/vect/vect.exp: Likewise.
* gfortran.fortran-torture/execute/execute.exp: Likewise.
* gfortran.fortran-torture/compile/compile.exp: Likewise.
* gfortran.dg/gamma_1.f90: Also check log_gamma.
* gfortran.dg/invalid_contains_1.f90: Remove warning about
empty CONTAINS.
* gfortran.dg/gamma_2.f90: Add a few error messages.
* gfortran.dg/invalid_contains_2.f90: Remove warning about
empty CONTAINS.
* gfortran.dg/gamma_3.f90: Adjust error message.
* gfortran.dg/gamma_4.f90: Test for log_gamma instead of lgamma.
* gfortran.dg/bind_c_usage_9.f03: Adjust error messages.
* gfortran.dg/bessel_1.f90: New test.
* gfortran.dg/recursive_check_3.f90: Remove warnings.
* gfortran.dg/besxy.f90: Also check for new F2008 intrinsics.
* gfortran.dg/derived_function_interface_1.f90: Remove warning.
* gfortran.dg/contains_empty_1.f03: New test.
* gfortran.dg/erfc_scaled_1.f90: New test.
* gfortran.dg/hypot_1.f90: New test.
* gfortran.dg/contains_empty_2.f03: New test.
libgfortran/
* intrinsics/erfc_scaled_inc.c: New file.
* intrinsics/erfc_scaled.c: New file.
* gfortran.map (GFORTRAN_1.0): Add _gfortran_erfc_scaled_r*.
* Makefile.am: Add intrinsics/erfc_scaled.c.
* config.h.in: Regenerate.
* configure: Regenerate.
* Makefile.in: Regenerate.
From-SVN: r132846
2008-03-03 23:46:20 +00:00
Francois-Xavier Coudert
fb0a0e1591
re PR libfortran/33583 (FAIL: gfortran.dg/gamma_1.f90)
...
PR libfortran/33583
PR libfortran/33698
* intrinsics/c99_functions.c (tgamma, tgammaf, lgamma, lgammaf):
New fallback functions.
* c99_protos.h (tgamma, tgammaf, lgamma, lgammaf): New prototypes.
* configure.ac: Add checks for tgamma, tgammaf, tgammal, lgamma,
lgammaf and lgammal.
* config.h.in: Regenerate.
* configure: Regenerate.
From-SVN: r130245
2007-11-16 22:31:28 +00:00
Francois-Xavier Coudert
d36ff2b46b
acinclude.m4 (LIBGFOR_TARGET_ILP32): Remove test.
...
* acinclude.m4 (LIBGFOR_TARGET_ILP32): Remove test.
* configure.ac: Don't call LIBGFOR_TARGET_ILP32.
* configure: Regenerate.
* config.h.in: Regenerate.
From-SVN: r128635
2007-09-20 22:43:39 +00:00
Francois-Xavier Coudert
2515e5a7a0
re PR libfortran/21185 (Improve testsuite results on newlib targets)
...
PR libfortran/21185
* runtime/compile_options.c (set_options): Fix typo.
* runtime/main.c (store_exe_path): If getcwd is not available,
don't use it.
* intrinsics/getcwd.c: Same thing here.
* io/unix.c (fallback_access): New fallback function for access.
(fix_fd): Don't use dup if it's not available.
* configure.ac: Check for dup and getcwd.
* configure: Regenerate.
* config.h.in: Regenerate.
From-SVN: r128512
2007-09-15 14:52:46 +00:00
Francois-Xavier Coudert
db8092dc4c
re PR libfortran/23138 ([mingw32] real(16) values are printed incorrectly)
...
PR libfortran/23138
* acinclude.m4 (LIBGFOR_CHECK_MINGW_SNPRINTF): New check.
* configure.ac: Use LIBGFOR_CHECK_MINGW_SNPRINTF.
* libgfortran.h: If HAVE_MINGW_SNPRINTF is true, use __mingw_snprintf
instead of snprintf.
* config.h.in: Regenerate.
* configure: Regenerate.
From-SVN: r127739
2007-08-23 13:03:35 +00:00
Francois-Xavier Coudert
94f548c244
re PR fortran/31202 (Incorrect rounding generated for NINT)
...
PR fortran/31202
* f95-lang.c (gfc_init_builtin_functions): Defin builtins for
lround{f,,l} and llround{f,,l}.
* trans-intrinsic.c (build_fix_expr): Generate calls to the
{l,}round{f,,l} functions.
* intrinsics/c99_functions.c (roundl,lroundf,lround,lroundl,
llroundf,llround,llroundl): New functions.
* c99_protos.h (roundl,lroundf,lround,lroundl,llroundf,llround,
llroundl): New prototypes.
* configure.ac: Check for lroundf, lround, lroundl, llroundf,
llround and llroundl.
* configure: Regenerate.
* Makefile.in: Regenerate.
* config.h.in: Regenerate.
* gfortran.dg/nint_2.f90: New test.
From-SVN: r127185
2007-08-03 21:26:10 +00:00
Thomas Koenig
d8163f5cc0
re PR libfortran/32858 (printf-capabilities for runtime_error())
...
2007-07-29 Thomas Koenig <tkoenig@gcc.gnu.org>
PR libfortran/32858
PR libfortran/30814
* configure.ac: Added checks for presence of stdio.h and
stdarg.h. Test presence of vsnprintf().
* configure: Regenerated.
* config.h.in: Regenerated.
* libgfortran.h: Include <stdio.h>. Add printf attribute to
prototype of runtime_error. Remove prototype for st_sprintf.
Add prototype for st_vprintf.
* runtime/main.c (store_exec_path): Replace st_sprintf by sprintf.
* runtime/error.c (st_sprintf): Remove.
(runtime_error): Rewrite as a variadic function. Call
st_vprintf().
* intrinsics/pack_generic.c: Output extents of LHS and RHS for
bounds error.
* io/open.c (new_unit): Replace st_sprintf by sprintf.
* io/list_read.c (convert_integer): Likewise.
(parse_repeat): Likewise.
(read_logical): Likewise.
(read_character): Likewise.
(parse_real): Likewise.
(read_real): Likewise.
(check_type): Likewise.
(nml_parse_qualifyer): Likewise.
(nml_read_obj): Likewise.
(nml_get_ojb_data): Likewise.
* io/unix.c (init_error_stream): Remove.
(tempfile): Replace st_sprintf by sprintf.
(st_vprintf): New function.
(st_printf): Rewrite to call st_vprintf.
* io/transfer.c (require_type): Replace st_sprintf by sprintf.
* io/format.c (format_error): Likewise.
* io/write.c (nml_write_obj): Likewise.
2007-07-29 Thomas Koenig <tkoenig@gcc.gnu.org>
PR libfortran/32858
PR libfortran/30814
* gfortran.dg/pack_bounds_1.f90: Adjust to new error message.
From-SVN: r127049
2007-07-29 20:01:45 +00:00