re PR fortran/9793 (Internal compiler error in `float_signal', at toplev.c:2442)

PR fortran/9793
	* target.h (ffetarget_divide_integer1): Perform division by -1
	using negation to prevent possible overflow trap on the host.

	* g77.f-torture/compile/20030326.f: New test case.

From-SVN: r64909
This commit is contained in:
Roger Sayle 2003-03-27 00:09:58 +00:00 committed by Roger Sayle
parent db8627a1ec
commit a24278e2fa
4 changed files with 26 additions and 1 deletions

View File

@ -1,3 +1,9 @@
2003-03-26 Roger Sayle <roger@eyesopen.com>
PR fortran/9793
* target.h (ffetarget_divide_integer1): Perform division by -1
using negation to prevent possible overflow trap on the host.
2003-03-25 Marcelo Abreu <mmabreu@inf.ufrgs.br>
PR fortran/10204

View File

@ -1154,7 +1154,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) \

View File

@ -1,3 +1,7 @@
2003-03-26 Roger Sayle <roger@eyesopen.com>
* g77.f-torture/compile/20030326-1.f: New test case.
2003-03-26 Janis Johnson <janis187@us.ibm.com>
* gcc.c-torture/execute/20020227-1.x: Don't XFAIL for powerpc64.

View File

@ -0,0 +1,14 @@
C PR fortran/9793
C larson@w6yx.stanford.edu
C
integer a, b, c
c = -2147483648 / -1
a = 1
b = 0
c = a / b
print *, c
end