]> git.ipfire.org Git - thirdparty/gcc.git/commit - gcc/fortran/f95-lang.cc
re PR fortran/32049 (Support on x86_64 also kind=16)
authorFrancois-Xavier Coudert <fxcoudert@gcc.gnu.org>
Fri, 27 Aug 2010 21:24:13 +0000 (21:24 +0000)
committerFrançois-Xavier Coudert <fxcoudert@gcc.gnu.org>
Fri, 27 Aug 2010 21:24:13 +0000 (21:24 +0000)
commita3c85b749940a80efed069253b08c0673c817278
tree95a7a9868fbc4e7dc6996735a655e2232741c4a9
parent6ba2db5e3323ac177a1d31cf8e562a1faba5a078
re PR fortran/32049 (Support on x86_64 also kind=16)

PR fortran/32049

* gfortran.h (gfc_real_info): Add c_float128 field.
* mathbuiltins.def: Indicate which builtins are const.
* trans-types.h (float128_type_node, complex_float128_type_node,
gfc_real16_is_float128): New variables.
* trans-types.c (float128_type_node, complex_float128_type_node,
gfc_real16_is_float128): New variables.
(gfc_init_kinds): Allow TFmode.
(gfc_build_real_type): Mark __float128 types as such.
(gfc_init_types): Initialize float128_type_node and
complex_float128_type_node
* f95-lang.c (gfc_init_builtin_functions): Adjust for new
argument of OTHER_BUILTIN macro.
* trans-intrinsic.c (gfc_intrinsic_map_t): Likewise.
(builtin_decl_for_precision): Special case for __float128.
(builtin_decl_for_float_kind): Likewise.
(define_quad_builtin): New function.
(gfc_build_intrinsic_lib_fndecls): Create all __float128
library decls if necessary. Store them in the real16_decl and
complex16_decl builtin map fields.
(gfc_get_intrinsic_lib_fndecl): Handle q-suffixed __float128
library function names.

* gfortran.dg/random_seed_1.f90: Adjust test.
* gfortran.dg/float128_1.f90: New test.

From-SVN: r163597
gcc/fortran/ChangeLog
gcc/fortran/f95-lang.c
gcc/fortran/gfortran.h
gcc/fortran/mathbuiltins.def
gcc/fortran/trans-intrinsic.c
gcc/fortran/trans-types.c
gcc/fortran/trans-types.h
gcc/testsuite/ChangeLog
gcc/testsuite/gfortran.dg/float128_1.f90 [new file with mode: 0644]
gcc/testsuite/gfortran.dg/random_seed_1.f90