From 44782c0cba5373316f040b9c9074ded0c3e889f2 Mon Sep 17 00:00:00 2001 From: Uros Bizjak Date: Fri, 26 Aug 2011 18:10:45 +0200 Subject: [PATCH] re PR middle-end/50083 (All 32-bit fortran tests fail on 32-bit Solaris) PR middle-end/50083 * convert.c (convert_to_integer) : Convert only when TARGET_C99_FUNCTIONS. : Ditto. : Ditto. From-SVN: r178119 --- gcc/ChangeLog | 31 +++++++++++++++++++------------ gcc/convert.c | 8 +++++++- 2 files changed, 26 insertions(+), 13 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 1ec7edc0d99..a067e2eceae 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,11 @@ +2011-08-26 Uros Bizjak + + PR middle-end/50083 + * convert.c (convert_to_integer) : Convert + only when TARGET_C99_FUNCTIONS. + : Ditto. + : Ditto. + 2011-08-26 Michael Matz Jakub Jelinek @@ -66,12 +74,12 @@ 2011-08-26 Jiangning Liu - * config/arm/arm.md (*ior_scc_scc): Enable for Thumb2 as well. - (*ior_scc_scc_cmp): Likewise - (*and_scc_scc): Likewise. - (*and_scc_scc_cmp): Likewise. - (*and_scc_scc_nodom): Likewise. - (*cmp_ite0, *cmp_ite1, *cmp_and, *cmp_ior): Handle Thumb2. + * config/arm/arm.md (*ior_scc_scc): Enable for Thumb2 as well. + (*ior_scc_scc_cmp): Likewise + (*and_scc_scc): Likewise. + (*and_scc_scc_cmp): Likewise. + (*and_scc_scc_nodom): Likewise. + (*cmp_ite0, *cmp_ite1, *cmp_and, *cmp_ior): Handle Thumb2. 2011-08-26 Jakub Jelinek @@ -103,11 +111,11 @@ 2011-08-26 Ramana Radhakrishnan - * config/arm/cortex-a9.md ("cortex_a9_mult_long"): New. - ("cortex_a9_multiply_long"): New and use above. Handle all + * config/arm/cortex-a9.md ("cortex_a9_mult_long"): New. + ("cortex_a9_multiply_long"): New and use above. Handle all long multiply cases. - ("cortex_a9_multiply"): Handle smmul and smmulr. - ("cortex_a9_mac"): Handle smmla. + ("cortex_a9_multiply"): Handle smmul and smmulr. + ("cortex_a9_mac"): Handle smmla. 2011-08-25 Richard Henderson @@ -489,8 +497,7 @@ 2011-08-22 H.J. Lu - * acinclude.m4 (gcc_AC_INITFINI_ARRAY): Error if __ELF__ isn't - defined. + * acinclude.m4 (gcc_AC_INITFINI_ARRAY): Error if __ELF__ isn't defined. * configure: Regenerated. 2011-08-22 Jakub Jelinek diff --git a/gcc/convert.c b/gcc/convert.c index d72dda8fd82..a647193ca94 100644 --- a/gcc/convert.c +++ b/gcc/convert.c @@ -469,6 +469,9 @@ convert_to_integer (tree type, tree expr) break; CASE_FLT_FN (BUILT_IN_ROUND): + /* Only convert in ISO C99 mode. */ + if (!TARGET_C99_FUNCTIONS) + break; if (outprec < TYPE_PRECISION (integer_type_node) || (outprec == TYPE_PRECISION (integer_type_node) && !TYPE_UNSIGNED (type))) @@ -487,11 +490,14 @@ convert_to_integer (tree type, tree expr) break; /* ... Fall through ... */ CASE_FLT_FN (BUILT_IN_RINT): + /* Only convert in ISO C99 mode. */ + if (!TARGET_C99_FUNCTIONS) + break; if (outprec < TYPE_PRECISION (integer_type_node) || (outprec == TYPE_PRECISION (integer_type_node) && !TYPE_UNSIGNED (type))) fn = mathfn_built_in (s_intype, BUILT_IN_IRINT); - else if (outprec < TYPE_PRECISION (long_integer_type_node) + else if (outprec == TYPE_PRECISION (long_integer_type_node) && !TYPE_UNSIGNED (type)) fn = mathfn_built_in (s_intype, BUILT_IN_LRINT); else if (outprec == TYPE_PRECISION (long_long_integer_type_node) -- 2.30.2