diff options
Diffstat (limited to 'gcc/ada')
-rw-r--r-- | gcc/ada/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/ada/gcc-interface/misc.c | 8 |
2 files changed, 12 insertions, 3 deletions
diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index aeb2115..dd4d515 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -2,6 +2,13 @@ Alan Hayward <alan.hayward@arm.com> David Sherwood <david.sherwood@arm.com> + * gcc-interface/misc.c (enumerate_modes): Treat GET_MODE_PRECISION + as polynomial. + +2018-01-03 Richard Sandiford <richard.sandiford@linaro.org> + Alan Hayward <alan.hayward@arm.com> + David Sherwood <david.sherwood@arm.com> + * gcc-interface/utils.c (gnat_types_compatible_p): Handle polynomial TYPE_VECTOR_SUBPARTS. diff --git a/gcc/ada/gcc-interface/misc.c b/gcc/ada/gcc-interface/misc.c index 48add09..e74c392 100644 --- a/gcc/ada/gcc-interface/misc.c +++ b/gcc/ada/gcc-interface/misc.c @@ -1301,11 +1301,13 @@ enumerate_modes (void (*f) (const char *, int, int, int, int, int, int, int)) } /* If no predefined C types were found, register the mode itself. */ - int nunits; - if (!skip_p && GET_MODE_NUNITS (i).is_constant (&nunits)) + int nunits, precision; + if (!skip_p + && GET_MODE_NUNITS (i).is_constant (&nunits) + && GET_MODE_PRECISION (i).is_constant (&precision)) f (GET_MODE_NAME (i), digs, complex_p, vector_p ? nunits : 0, float_rep, - GET_MODE_PRECISION (i), GET_MODE_BITSIZE (i), + precision, GET_MODE_BITSIZE (i), GET_MODE_ALIGNMENT (i)); } } |