summaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorUros Bizjak <uros@gcc.gnu.org>2011-08-26 18:10:45 +0200
committerUros Bizjak <uros@gcc.gnu.org>2011-08-26 18:10:45 +0200
commit44782c0cba5373316f040b9c9074ded0c3e889f2 (patch)
treecab31e84d31bebf31ed45cd98b19f782affd5937 /gcc
parent0b11d702dbe669203a2f36430892905c526e03ab (diff)
downloadgcc-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/ChangeLog31
-rw-r--r--gcc/convert.c8
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)