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