mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-03-31 03:00:25 +08:00
re PR target/35713 (invalid type for va_arg with _Decimal128)
PR target/35713 * config/rs6000/rs6000.c (rs6000_gimplify_va_arg): Use integer constants of the appropriate size for runtime calculations. From-SVN: r133887
This commit is contained in:
parent
311b11ec9e
commit
383e91e472
@ -1,5 +1,9 @@
|
||||
2008-04-03 Janis Johnson <janis187@us.ibm.com>
|
||||
|
||||
PR target/35713
|
||||
* config/rs6000/rs6000.c (rs6000_gimplify_va_arg): Use integer
|
||||
constants of the appropriate size for runtime calculations.
|
||||
|
||||
PR c/35712
|
||||
* dfp.c (decimal_from_decnumber): Retain trailing zeroes for
|
||||
decimal-float literal constant zero.
|
||||
|
@ -6832,7 +6832,8 @@ rs6000_gimplify_va_arg (tree valist, tree type, tree *pre_p, tree *post_p)
|
||||
else if (reg == fpr && TYPE_MODE (type) == TDmode)
|
||||
{
|
||||
regalign = 1;
|
||||
t = build2 (BIT_IOR_EXPR, TREE_TYPE (reg), reg, size_int (1));
|
||||
t = build2 (BIT_IOR_EXPR, TREE_TYPE (reg), reg,
|
||||
build_int_cst (TREE_TYPE (reg), 1));
|
||||
u = build2 (MODIFY_EXPR, void_type_node, reg, t);
|
||||
}
|
||||
|
||||
@ -6870,7 +6871,8 @@ rs6000_gimplify_va_arg (tree valist, tree type, tree *pre_p, tree *post_p)
|
||||
{
|
||||
/* Ensure that we don't find any more args in regs.
|
||||
Alignment has taken care of for special cases. */
|
||||
t = build2 (GIMPLE_MODIFY_STMT, TREE_TYPE (reg), reg, size_int (8));
|
||||
t = build_gimple_modify_stmt (reg,
|
||||
build_int_cst (TREE_TYPE (reg), 8));
|
||||
gimplify_and_add (t, pre_p);
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user