diff options
author | Eric Botcazou <ebotcazou@adacore.com> | 2017-12-21 16:22:04 +0000 |
---|---|---|
committer | Eric Botcazou <ebotcazou@gcc.gnu.org> | 2017-12-21 16:22:04 +0000 |
commit | 6ffc0c0cf5ada5d74da5c0b68fade4b5ec0e944a (patch) | |
tree | 874f8fce52c1819336a08cb53bb1286a42af8cb7 /gcc/convert.c | |
parent | b3eec1d68892e17c6f788a6ee723d44e97498c9d (diff) | |
download | gcc-6ffc0c0cf5ada5d74da5c0b68fade4b5ec0e944a.zip gcc-6ffc0c0cf5ada5d74da5c0b68fade4b5ec0e944a.tar.gz gcc-6ffc0c0cf5ada5d74da5c0b68fade4b5ec0e944a.tar.bz2 |
re PR c++/82872 (ICE in ignore_overflows on __PTRDIFF_MAX__ index)
PR c++/82872
* convert.c (convert_to_integer_1) <POINTER_TYPE>: Do not return the
shared zero if the input has overflowed.
From-SVN: r255944
Diffstat (limited to 'gcc/convert.c')
-rw-r--r-- | gcc/convert.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/gcc/convert.c b/gcc/convert.c index 0045c12..25aa5ad 100644 --- a/gcc/convert.c +++ b/gcc/convert.c @@ -671,7 +671,7 @@ convert_to_integer_1 (tree type, tree expr, bool dofold) { case POINTER_TYPE: case REFERENCE_TYPE: - if (integer_zerop (expr)) + if (integer_zerop (expr) && !TREE_OVERFLOW (expr)) return build_int_cst (type, 0); /* Convert to an unsigned integer of the correct width first, and from |