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