/
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
54 lines
2.3 KiB
Plaintext
54 lines
2.3 KiB
Plaintext
dnl ----------------------------------------------------------------------
|
|
dnl This whole bit snagged from libgfortran.
|
|
|
|
dnl Check whether the target supports __sync_*_compare_and_swap.
|
|
AC_DEFUN([LIBGOMP_CHECK_SYNC_BUILTINS], [
|
|
AC_CACHE_CHECK([whether the target supports __sync_*_compare_and_swap],
|
|
libgomp_cv_have_sync_builtins, [
|
|
AC_TRY_LINK([], [int foo; __sync_val_compare_and_swap(&foo, 0, 1);],
|
|
libgomp_cv_have_sync_builtins=yes, libgomp_cv_have_sync_builtins=no)])
|
|
if test $libgomp_cv_have_sync_builtins = yes; then
|
|
AC_DEFINE(HAVE_SYNC_BUILTINS, 1,
|
|
[Define to 1 if the target supports __sync_*_compare_and_swap])
|
|
fi])
|
|
|
|
dnl Check whether the target supports hidden visibility.
|
|
AC_DEFUN([LIBGOMP_CHECK_ATTRIBUTE_VISIBILITY], [
|
|
AC_CACHE_CHECK([whether the target supports hidden visibility],
|
|
libgomp_cv_have_attribute_visibility, [
|
|
save_CFLAGS="$CFLAGS"
|
|
CFLAGS="$CFLAGS -Werror"
|
|
AC_TRY_COMPILE([void __attribute__((visibility("hidden"))) foo(void) { }],
|
|
[], libgomp_cv_have_attribute_visibility=yes,
|
|
libgomp_cv_have_attribute_visibility=no)
|
|
CFLAGS="$save_CFLAGS"])
|
|
if test $libgomp_cv_have_attribute_visibility = yes; then
|
|
AC_DEFINE(HAVE_ATTRIBUTE_VISIBILITY, 1,
|
|
[Define to 1 if the target supports __attribute__((visibility(...))).])
|
|
fi])
|
|
|
|
dnl Check whether the target supports dllexport
|
|
AC_DEFUN([LIBGOMP_CHECK_ATTRIBUTE_DLLEXPORT], [
|
|
AC_CACHE_CHECK([whether the target supports dllexport],
|
|
libgomp_cv_have_attribute_dllexport, [
|
|
save_CFLAGS="$CFLAGS"
|
|
CFLAGS="$CFLAGS -Werror"
|
|
AC_TRY_COMPILE([void __attribute__((dllexport)) foo(void) { }],
|
|
[], libgomp_cv_have_attribute_dllexport=yes,
|
|
libgomp_cv_have_attribute_dllexport=no)
|
|
CFLAGS="$save_CFLAGS"])
|
|
if test $libgomp_cv_have_attribute_dllexport = yes; then
|
|
AC_DEFINE(HAVE_ATTRIBUTE_DLLEXPORT, 1,
|
|
[Define to 1 if the target supports __attribute__((dllexport)).])
|
|
fi])
|
|
|
|
sinclude(../libtool.m4)
|
|
dnl The lines below arrange for aclocal not to bring an installed
|
|
dnl libtool.m4 into aclocal.m4, while still arranging for automake to
|
|
dnl add a definition of LIBTOOL to Makefile.in.
|
|
ifelse(,,,[AC_SUBST(LIBTOOL)
|
|
AC_DEFUN([AM_PROG_LIBTOOL])
|
|
AC_DEFUN([AC_LIBTOOL_DLOPEN])
|
|
AC_DEFUN([AC_PROG_LD])
|
|
])
|