diff options
author | Richard Guenther <rguenther@suse.de> | 2012-03-29 08:27:04 +0000 |
---|---|---|
committer | Richard Biener <rguenth@gcc.gnu.org> | 2012-03-29 08:27:04 +0000 |
commit | 477fcae3e8156d1cdcf7978595c3cff7617610b8 (patch) | |
tree | b43e29c3de16f535b3761a7a63b0cd8d9e988d63 /gcc/double-int.h | |
parent | 0b28472897a059fdbb13f869dab5777af2e52297 (diff) | |
download | gcc-477fcae3e8156d1cdcf7978595c3cff7617610b8.zip gcc-477fcae3e8156d1cdcf7978595c3cff7617610b8.tar.gz gcc-477fcae3e8156d1cdcf7978595c3cff7617610b8.tar.bz2 |
re PR middle-end/50708 (Infinite loop between rshift_double and lshift_double if count is LONG_MIN)
2012-03-29 Richard Guenther <rguenther@suse.de>
PR middle-end/50708
* double-int.h (rshift_double): Remove.
* double-int.c (lshift_double): Use absu_hwi to make count
positive.
(rshift_double): Make static, take unsigned count argument,
remove handling of negative count argument.
(double_int_rshift): Dispatch to lshift_double.
From-SVN: r185951
Diffstat (limited to 'gcc/double-int.h')
-rw-r--r-- | gcc/double-int.h | 3 |
1 files changed, 0 insertions, 3 deletions
diff --git a/gcc/double-int.h b/gcc/double-int.h index 6d15551..408ed92 100644 --- a/gcc/double-int.h +++ b/gcc/double-int.h @@ -300,9 +300,6 @@ extern int mul_double_with_sign (unsigned HOST_WIDE_INT, HOST_WIDE_INT, extern void lshift_double (unsigned HOST_WIDE_INT, HOST_WIDE_INT, HOST_WIDE_INT, unsigned int, unsigned HOST_WIDE_INT *, HOST_WIDE_INT *, bool); -extern void rshift_double (unsigned HOST_WIDE_INT, HOST_WIDE_INT, - HOST_WIDE_INT, unsigned int, - unsigned HOST_WIDE_INT *, HOST_WIDE_INT *, bool); extern int div_and_round_double (unsigned, int, unsigned HOST_WIDE_INT, HOST_WIDE_INT, unsigned HOST_WIDE_INT, HOST_WIDE_INT, unsigned HOST_WIDE_INT *, |