From 2bedfb20b24caf8f9c6936b20fd8d07b67bb9dd1 Mon Sep 17 00:00:00 2001 From: janis Date: Fri, 4 Apr 2008 00:20:48 +0000 Subject: [PATCH] PR target/35713 * config/rs6000/rs6000.c (rs6000_gimplify_va_arg): Use integer constants of the appropriate size for runtime calculations. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@133887 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/ChangeLog | 4 ++++ gcc/config/rs6000/rs6000.c | 6 ++++-- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 6965a49c8f4..c077778a4f0 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,9 @@ 2008-04-03 Janis Johnson + 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. diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c index 4588a14d274..01052398766 100644 --- a/gcc/config/rs6000/rs6000.c +++ b/gcc/config/rs6000/rs6000.c @@ -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); } } -- 2.11.0