summaryrefslogtreecommitdiff
path: root/libgfortran/generated/pow_c8_i8.c
diff options
context:
space:
mode:
Diffstat (limited to 'libgfortran/generated/pow_c8_i8.c')
-rw-r--r--libgfortran/generated/pow_c8_i8.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/libgfortran/generated/pow_c8_i8.c b/libgfortran/generated/pow_c8_i8.c
index 39a5d6b71e0..d9b658b4fc4 100644
--- a/libgfortran/generated/pow_c8_i8.c
+++ b/libgfortran/generated/pow_c8_i8.c
@@ -45,7 +45,8 @@ GFC_COMPLEX_8
pow_c8_i8 (GFC_COMPLEX_8 a, GFC_INTEGER_8 b)
{
GFC_COMPLEX_8 pow, x;
- GFC_INTEGER_8 n, u;
+ GFC_INTEGER_8 n;
+ GFC_UINTEGER_8 u;
n = b;
x = a;
@@ -55,10 +56,13 @@ pow_c8_i8 (GFC_COMPLEX_8 a, GFC_INTEGER_8 b)
if (n < 0)
{
- n = -n;
+ u = -n;
x = pow / x;
}
- u = n;
+ else
+ {
+ u = n;
+ }
for (;;)
{
if (u & 1)