diff options
author | Janis Johnson <janis187@us.ibm.com> | 2009-10-02 16:38:57 +0000 |
---|---|---|
committer | Janis Johnson <janis@gcc.gnu.org> | 2009-10-02 16:38:57 +0000 |
commit | 776d00225d39f80820153d811f9711f23b6696fa (patch) | |
tree | b12ee0aca8b72ae718bb2f0b6a6b78817b685188 /gcc/cp | |
parent | ba6f7079726ba4b36c3c66dea28bf85202fa8386 (diff) | |
download | gcc-776d00225d39f80820153d811f9711f23b6696fa.zip gcc-776d00225d39f80820153d811f9711f23b6696fa.tar.gz gcc-776d00225d39f80820153d811f9711f23b6696fa.tar.bz2 |
call.c (convert_arg_to_ellipsis): Avoid promoting decimal32 to double.
* call.c (convert_arg_to_ellipsis): Avoid promoting decimal32
to double.
* c-c++-common/dfp/func-vararg-alternate-d32.c: Remove XFAIL.
* c-c++-common/dfp/func-vararg-dfp.c: Ditto.
* c-c++-common/dfp/func-vararg-mixed.c: Ditto.
* c-c++-common/dfp/func-vararg-mixed-2.c: Ditto.
From-SVN: r152408
Diffstat (limited to 'gcc/cp')
-rw-r--r-- | gcc/cp/call.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/cp/call.c b/gcc/cp/call.c index 8c1bb0e..3fc22f2 100644 --- a/gcc/cp/call.c +++ b/gcc/cp/call.c @@ -5104,7 +5104,8 @@ convert_arg_to_ellipsis (tree arg) promoted type before the call. */ if (TREE_CODE (TREE_TYPE (arg)) == REAL_TYPE && (TYPE_PRECISION (TREE_TYPE (arg)) - < TYPE_PRECISION (double_type_node))) + < TYPE_PRECISION (double_type_node)) + && !DECIMAL_FLOAT_MODE_P (TYPE_MODE (TREE_TYPE (arg)))) arg = convert_to_real (double_type_node, arg); else if (INTEGRAL_OR_ENUMERATION_TYPE_P (TREE_TYPE (arg))) arg = perform_integral_promotions (arg); |