summaryrefslogtreecommitdiff
path: root/gdb/valarith.c
diff options
context:
space:
mode:
authorJoel Brobecker <brobecker@adacore.com>2020-11-15 03:10:52 -0500
committerJoel Brobecker <brobecker@adacore.com>2020-11-15 03:10:52 -0500
commite55c6530dbf96bfbe2e4a232c0feb19c0a4a2294 (patch)
tree2924eba4d072b23919374e31ef15ac42b0e8024b /gdb/valarith.c
parentb34c74ab9a6b8dc0ace3d0cc67bf62de8a74ea00 (diff)
downloadbinutils-gdb-e55c6530dbf96bfbe2e4a232c0feb19c0a4a2294.tar.gz
Move uinteger_pow gdb/valarith.c to gdb/utils.c and make it public
This is a generic function which I would like to use in a followup patch adding support for fixed-point types. So this commit moves it out of valarith.c into util.c, and makes it non-static. gdb/ChangeLog: * utils.h (uinteger_pow): Add declaration. * utils.c (uinteger_pow): Moved here (without changes)... * valarith.c (uinteger_pow): ... from here.
Diffstat (limited to 'gdb/valarith.c')
-rw-r--r--gdb/valarith.c31
1 files changed, 0 insertions, 31 deletions
diff --git a/gdb/valarith.c b/gdb/valarith.c
index 21b597a1b7a..f6caf3d1804 100644
--- a/gdb/valarith.c
+++ b/gdb/valarith.c
@@ -819,37 +819,6 @@ integer_pow (LONGEST v1, LONGEST v2)
}
}
-/* Integer exponentiation: V1**V2, where both arguments are
- integers. Requires V1 != 0 if V2 < 0. Returns 1 for 0 ** 0. */
-
-static ULONGEST
-uinteger_pow (ULONGEST v1, LONGEST v2)
-{
- if (v2 < 0)
- {
- if (v1 == 0)
- error (_("Attempt to raise 0 to negative power."));
- else
- return 0;
- }
- else
- {
- /* The Russian Peasant's Algorithm. */
- ULONGEST v;
-
- v = 1;
- for (;;)
- {
- if (v2 & 1L)
- v *= v1;
- v2 >>= 1;
- if (v2 == 0)
- return v;
- v1 *= v1;
- }
- }
-}
-
/* Obtain argument values for binary operation, converting from
other types if one of them is not floating point. */
static void