From: Jason Merrill Date: Wed, 10 Jul 2013 08:53:49 +0000 (-0400) Subject: Revert accidental checkin. X-Git-Tag: releases/gcc-4.7.4~578 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=32e89de24c5167bef4a8a370bbe54cb2f7bb38c9;p=thirdparty%2Fgcc.git Revert accidental checkin. From-SVN: r200866 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 50efcdc4f485..4a31941266cb 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -6,11 +6,6 @@ * config/i386/sse.md (sse_movlhps): Change alternative 3 of operand 2 to "m". -2013-07-09 Jason Merrill - - PR c++/57793 - * expr.c (get_inner_reference): Avoid returning a negative bitpos. - 2013-07-09 Joseph Myers * config/rs6000/rs6000.c (rs6000_init_hard_regno_mode_ok): Only diff --git a/gcc/expr.c b/gcc/expr.c index b66363c60dda..4c248e061550 100644 --- a/gcc/expr.c +++ b/gcc/expr.c @@ -6698,7 +6698,7 @@ get_inner_reference (tree exp, HOST_WIDE_INT *pbitsize, ? 3 : exact_log2 (BITS_PER_UNIT), HOST_BITS_PER_DOUBLE_INT, true); tem = double_int_add (tem, bit_offset); - if (double_int_fits_in_shwi_p (tem) && !double_int_negative_p (tem)) + if (double_int_fits_in_shwi_p (tem)) { *pbitpos = double_int_to_shwi (tem); *poffset = offset = NULL_TREE; diff --git a/gcc/testsuite/c-c++-common/pr57793.c b/gcc/testsuite/c-c++-common/pr57793.c deleted file mode 100644 index 7858a2727a1d..000000000000 --- a/gcc/testsuite/c-c++-common/pr57793.c +++ /dev/null @@ -1,23 +0,0 @@ -/* PR c++/57793 */ - -struct A { unsigned a : 1; unsigned b : 1; }; -struct B -{ - unsigned char c[0x40000000]; - unsigned char d[0x40000ff0]; - struct A e; -}; - -void *foo (struct B *p) -{ - if (p->e.a) - return (void *) 0; - p->e.b = 1; - return p->c; -} - -void -bar (struct B *p) -{ - foo (p); -}