summaryrefslogtreecommitdiff
path: root/gcc/config/avr
diff options
context:
space:
mode:
authorgjl <gjl@138bc75d-0d04-0410-961f-82ee72b054a4>2012-09-25 16:19:43 +0000
committergjl <gjl@138bc75d-0d04-0410-961f-82ee72b054a4>2012-09-25 16:19:43 +0000
commitae47b85d6efda3892901271f3cb2e968953b4431 (patch)
tree622db31e498df1afb474a399937dbf76bbd27092 /gcc/config/avr
parent23184a0ed3eb21446bf86778ae0c4d84c5a27c71 (diff)
downloadgcc-ae47b85d6efda3892901271f3cb2e968953b4431.tar.gz
PR other/54701
* config/avr/avr-log.c (avr_double_int_pop_digit): Reerite using double_int::udivmod. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@191716 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/config/avr')
-rw-r--r--gcc/config/avr/avr-log.c11
1 files changed, 4 insertions, 7 deletions
diff --git a/gcc/config/avr/avr-log.c b/gcc/config/avr/avr-log.c
index f86165d4c8e..edb1cbda1ec 100644
--- a/gcc/config/avr/avr-log.c
+++ b/gcc/config/avr/avr-log.c
@@ -144,15 +144,12 @@ avr_log_set_caller_f (const char *caller)
static unsigned
avr_double_int_pop_digit (double_int *cst, unsigned base)
{
- unsigned HOST_WIDE_INT resl, reml;
- HOST_WIDE_INT resh, remh;
+ double_int drem;
- div_and_round_double (FLOOR_DIV_EXPR, true, cst->low, cst->high, base, 0,
- &resl, &resh, &reml, &remh);
- cst->high = resh;
- cst->low = resl;
+ *cst = cst->udivmod (double_int::from_uhwi (base), (int) FLOOR_DIV_EXPR,
+ &drem);
- return reml;
+ return (unsigned) drem.to_uhwi();
}