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