diff options
author | Geoff Keating <geoffk@cygnus.com> | 1999-11-21 07:53:01 +0000 |
---|---|---|
committer | Geoffrey Keating <geoffk@gcc.gnu.org> | 1999-11-21 07:53:01 +0000 |
commit | 8b1cb95b7685c0a75ba692bb3f1fe12165c59814 (patch) | |
tree | 5e3c9ebabdccf3fde841ec196f1b3a658e239c6b /gcc/varasm.c | |
parent | 06a964de822dfc498ee497e253e6ca360a318d8d (diff) | |
download | gcc-8b1cb95b7685c0a75ba692bb3f1fe12165c59814.zip gcc-8b1cb95b7685c0a75ba692bb3f1fe12165c59814.tar.gz gcc-8b1cb95b7685c0a75ba692bb3f1fe12165c59814.tar.bz2 |
varasm.c (output_constructor): Solve problem with long long bitfields...
* varasm.c (output_constructor): Solve problem with long long
bitfields, even on BYTES_BIG_ENDIAN machines (testcase 991118-1).
From-SVN: r30598
Diffstat (limited to 'gcc/varasm.c')
-rw-r--r-- | gcc/varasm.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/varasm.c b/gcc/varasm.c index e3b0996..d4da698 100644 --- a/gcc/varasm.c +++ b/gcc/varasm.c @@ -4536,7 +4536,8 @@ output_constructor (exp, size) if (shift < HOST_BITS_PER_WIDE_INT && shift + this_time > HOST_BITS_PER_WIDE_INT) { - this_time = (HOST_BITS_PER_WIDE_INT - shift); + this_time = shift + this_time - HOST_BITS_PER_WIDE_INT; + shift = HOST_BITS_PER_WIDE_INT; } /* Now get the bits from the appropriate constant word. */ |