diff options
author | Uros Bizjak <uros@gcc.gnu.org> | 2011-08-26 18:10:45 +0200 |
---|---|---|
committer | Uros Bizjak <uros@gcc.gnu.org> | 2011-08-26 18:10:45 +0200 |
commit | 44782c0cba5373316f040b9c9074ded0c3e889f2 (patch) | |
tree | cab31e84d31bebf31ed45cd98b19f782affd5937 /gcc | |
parent | 0b11d702dbe669203a2f36430892905c526e03ab (diff) | |
download | gcc-44782c0cba5373316f040b9c9074ded0c3e889f2.tar.gz |
re PR middle-end/50083 (All 32-bit fortran tests fail on 32-bit Solaris)
PR middle-end/50083
* convert.c (convert_to_integer) <BUIT_IN_ROUND{,F,L}>: Convert
only when TARGET_C99_FUNCTIONS.
<BUILT_IN_NEARBYINT{,F,L}>: Ditto.
<BUILT_IN_RINT{,F,L}>: Ditto.
From-SVN: r178119
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 31 | ||||
-rw-r--r-- | 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 <ubizjak@gmail.com> + + PR middle-end/50083 + * convert.c (convert_to_integer) <BUIT_IN_ROUND{,F,L}>: Convert + only when TARGET_C99_FUNCTIONS. + <BUILT_IN_NEARBYINT{,F,L}>: Ditto. + <BUILT_IN_RINT{,F,L}>: Ditto. + 2011-08-26 Michael Matz <matz@suse.de> Jakub Jelinek <jakub@redhat.com> @@ -66,12 +74,12 @@ 2011-08-26 Jiangning Liu <jiangning.liu@arm.com> - * 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 <jakub@redhat.com> @@ -103,11 +111,11 @@ 2011-08-26 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> - * 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 <rth@redhat.com> @@ -489,8 +497,7 @@ 2011-08-22 H.J. Lu <hongjiu.lu@intel.com> - * 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 <jakub@redhat.com> 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) |