diff options
author | Martin Sebor <msebor@redhat.com> | 2019-04-18 20:26:07 +0000 |
---|---|---|
committer | Martin Sebor <msebor@gcc.gnu.org> | 2019-04-18 14:26:07 -0600 |
commit | 6c76c0e408765f43253b2457363978f8fd5ca6f3 (patch) | |
tree | be8266aee428b157f5e99cffdb8c4f49d79d5da0 /gcc/tree.h | |
parent | f6e809c849c8d0e0bfe5fa14bda0e663e0a65859 (diff) | |
download | gcc-6c76c0e408765f43253b2457363978f8fd5ca6f3.zip gcc-6c76c0e408765f43253b2457363978f8fd5ca6f3.tar.gz gcc-6c76c0e408765f43253b2457363978f8fd5ca6f3.tar.bz2 |
PR middle-end/89797 - ICE on a vector_size (1LU << 33) int variable
gcc/ChangeLog:
* tree.h (TYPE_VECTOR_SUBPARTS): Use HOST_WIDE_INT_1U.
* config/aarch64/aarch64.c (aarch64_simd_vector_alignment): Avoid
assuming type size fits in SHWI.
From-SVN: r270447
Diffstat (limited to 'gcc/tree.h')
-rw-r--r-- | gcc/tree.h | 6 |
1 files changed, 3 insertions, 3 deletions
@@ -3735,13 +3735,13 @@ TYPE_VECTOR_SUBPARTS (const_tree node) if (NUM_POLY_INT_COEFFS == 2) { poly_uint64 res = 0; - res.coeffs[0] = 1 << (precision & 0xff); + res.coeffs[0] = HOST_WIDE_INT_1U << (precision & 0xff); if (precision & 0x100) - res.coeffs[1] = 1 << (precision & 0xff); + res.coeffs[1] = HOST_WIDE_INT_1U << (precision & 0xff); return res; } else - return (unsigned HOST_WIDE_INT)1 << precision; + return HOST_WIDE_INT_1U << precision; } /* Set the number of elements in VECTOR_TYPE NODE to SUBPARTS, which must |