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
This commit is contained in:
Janis Johnson 2009-10-02 16:38:57 +00:00 committed by Janis Johnson
parent ba6f707972
commit 776d00225d
7 changed files with 14 additions and 7 deletions

View File

@ -1,3 +1,8 @@
2009-10-02 Janis Johnson <janis187@us.ibm.com>
* call.c (convert_arg_to_ellipsis): Avoid promoting decimal32
to double.
2009-10-02 Jakub Jelinek <jakub@redhat.com>
PR debug/41404

View File

@ -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);

View File

@ -1,3 +1,10 @@
2009-10-02 Janis Johnson <janis187@us.ibm.com>
* 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.
2009-10-02 Tobias Burnus <burnus@net-b.de>
PR fortran/41479

View File

@ -1,4 +1,3 @@
/* { dg-xfail-run-if "32-bit vararg broken" { c++ } { "*" } { "" } } */
/* Simple test of vararg passing for problematic types with and without
double values passed between them. */

View File

@ -1,5 +1,3 @@
/* { dg-xfail-run-if "32-bit vararg broken" { c++ } { "*" } { "" } } */
/* C99 6.5.2.2 Function calls.
Test passing varargs of the decimal float types. */

View File

@ -1,5 +1,4 @@
/* { dg-do run { target { { i?86-*-* x86_64-*-* } && ilp32 } } } */
/* { dg-xfail-run-if "32-bit vararg broken" { c++ } { "*" } { "" } } */
/* { dg-options "-mpreferred-stack-boundary=2" } */
/* C99 6.5.2.2 Function calls.

View File

@ -1,5 +1,3 @@
/* { dg-xfail-run-if "32-bit vararg broken" { c++ } { "*" } { "" } } */
/* C99 6.5.2.2 Function calls.
Test passing varargs of the combination of decimal float types and
other types. */