aboutsummaryrefslogtreecommitdiff
path: root/gcc/f/target.h
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/f/target.h')
-rw-r--r--gcc/f/target.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/f/target.h b/gcc/f/target.h
index b96504f4628..2125ad54eee 100644
--- a/gcc/f/target.h
+++ b/gcc/f/target.h
@@ -1158,7 +1158,8 @@ void *ffetarget_memcpy_ (void *dst, void *src, size_t len);
FFEBAD; })
#define ffetarget_divide_integer1(res,l,r) \
(((r) == 0) ? (*(res) = 0, FFEBAD_DIV_BY_ZERO) \
- : (*(res) = (l) / (r), FFEBAD))
+ : (((r) == -1) ? (*(res) = -(l), FFEBAD) \
+ : (*(res) = (l) / (r), FFEBAD)))
#define ffetarget_divide_integer2(res,l,r) \
ffetarget_divide_integer1(res,l,r)
#define ffetarget_divide_integer3(res,l,r) \