From 216ac520d4aed5c7f8f741283129387b4d7ae7b6 Mon Sep 17 00:00:00 2001 From: Steve Ellcey Date: Mon, 3 Oct 2005 15:29:30 +0000 Subject: [PATCH] trans-types.c (gfc_init_kinds): Only pass float... * fortran/trans-types.c (gfc_init_kinds): Only pass float, double, and long double floating point types through to Fortran compiler. From-SVN: r104892 --- gcc/fortran/ChangeLog | 5 +++++ gcc/fortran/trans-types.c | 8 ++++++++ 2 files changed, 13 insertions(+) diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index 0a8c4438a9b..0ee880d6a2f 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,3 +1,8 @@ +2005-10-03 Steve Ellcey + + * fortran/trans-types.c (gfc_init_kinds): Only pass float, double, + and long double floating point types through to Fortran compiler. + 2005-10-03 Francois-Xavier Coudert PR fortran/20120 diff --git a/gcc/fortran/trans-types.c b/gcc/fortran/trans-types.c index 6482df81161..e16db8836a9 100644 --- a/gcc/fortran/trans-types.c +++ b/gcc/fortran/trans-types.c @@ -152,6 +152,14 @@ gfc_init_kinds (void) if (!targetm.scalar_mode_supported_p (mode)) continue; + /* Only let float/double/long double go through because the fortran + library assumes these are the only floating point types. */ + + if (mode != TYPE_MODE (float_type_node) + && (mode != TYPE_MODE (double_type_node)) + && (mode != TYPE_MODE (long_double_type_node))) + continue; + /* Let the kind equal the precision divided by 8, rounding up. Again, this insulates the programmer from the underlying byte size. -- 2.30.2