diff options
author | sje <sje@138bc75d-0d04-0410-961f-82ee72b054a4> | 2005-10-03 15:29:30 +0000 |
---|---|---|
committer | sje <sje@138bc75d-0d04-0410-961f-82ee72b054a4> | 2005-10-03 15:29:30 +0000 |
commit | 13acaa31d2812d0b380cc5564afe914ac3581394 (patch) | |
tree | 5001a9fadccdabddbe7f9de4084ebdc1bf2919dc /gcc/fortran | |
parent | 83b34c62d37b8b2626d357878bc4cf1fe2020851 (diff) | |
download | gcc-13acaa31d2812d0b380cc5564afe914ac3581394.tar.gz |
* fortran/trans-types.c (gfc_init_kinds): Only pass float, double,
and long double floating point types through to Fortran compiler.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@104892 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/fortran')
-rw-r--r-- | gcc/fortran/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/fortran/trans-types.c | 8 |
2 files changed, 13 insertions, 0 deletions
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 <sje@cup.hp.com> + + * 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 <coudert@clipper.ens.fr> 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. |