From ae47b85d6efda3892901271f3cb2e968953b4431 Mon Sep 17 00:00:00 2001 From: gjl Date: Tue, 25 Sep 2012 16:19:43 +0000 Subject: [PATCH] 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 --- gcc/ChangeLog | 6 ++++++ gcc/config/avr/avr-log.c | 11 ++++------- 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 174828378b0..d6365a88bac 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,11 @@ 2012-09-25 Georg-Johann Lay + PR other/54701 + * config/avr/avr-log.c (avr_double_int_pop_digit): Reerite using + double_int::udivmod. + +2012-09-25 Georg-Johann Lay + * config/avr/avr.c (avr_set_current_function): Check cfun->machine to be non-NULL. 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(); } -- 2.11.4.GIT