public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug c++/47541] New: For integer pointers, the value of ++*p is not written back to memory
@ 2011-01-30 10:48 veksler at il dot ibm.com
2011-01-30 11:25 ` [Bug c++/47541] " veksler at il dot ibm.com
` (14 more replies)
0 siblings, 15 replies; 16+ messages in thread
From: veksler at il dot ibm.com @ 2011-01-30 10:48 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47541
Summary: For integer pointers, the value of ++*p is not
written back to memory
Product: gcc
Version: unknown
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c++
AssignedTo: unassigned@gcc.gnu.org
ReportedBy: veksler@il.ibm.com
The problem occurs in a copy constructor both for 386 and for X86-64. This is a
copy constructor of a reference counting object which uses int* to keep
track of the number of copies of an "A" object. The copy constructor messes up,
it calculates the new count (in some cases), but forgets to write it back to
the int*.
The attached test case is a bit complicated, yet it is a simplification of real
code. There are two options to see the issue:
$ g++ -O2 -g refcount.cpp && ./a.out
Segmentation fault (core dumped)
$ g++ -O2 -DTRACE -g refcount.cpp && ./a.out
A::A()
RefCount()
count=1
RefCount(const RefCount&)
count=1
~RefCount()
A::~A
count=0
Segmentation fault (core dumped)
As you can see, the reference is not incremented when it should be.
$ g++ -v
Using built-in specs.
COLLECT_GCC=g++
COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-redhat-linux/4.5.1/lto-wrapper
Target: x86_64-redhat-linux
Configured with: ../configure --prefix=/usr --mandir=/usr/share/man
--infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla
--enable-bootstrap --enable-shared --enable-threads=posix
--enable-checking=release --with-system-zlib --enable-__cxa_atexit
--disable-libunwind-exceptions --enable-gnu-unique-object
--enable-linker-build-id
--enable-languages=c,c++,objc,obj-c++,java,fortran,ada,lto --enable-plugin
--enable-java-awt=gtk --disable-dssi
--with-java-home=/usr/lib/jvm/java-1.5.0-gcj-1.5.0.0/jre
--enable-libgcj-multifile --enable-java-maintainer-mode
--with-ecj-jar=/usr/share/java/eclipse-ecj.jar --disable-libjava-multilib
--with-ppl --with-cloog --with-tune=generic --with-arch_32=i686
--build=x86_64-redhat-linux
Thread model: posix
gcc version 4.5.1 20100924 (Red Hat 4.5.1-4) (GCC)
^ permalink raw reply [flat|nested] 16+ messages in thread
* [Bug c++/47541] For integer pointers, the value of ++*p is not written back to memory
2011-01-30 10:48 [Bug c++/47541] New: For integer pointers, the value of ++*p is not written back to memory veksler at il dot ibm.com
2011-01-30 11:25 ` [Bug c++/47541] " veksler at il dot ibm.com
@ 2011-01-30 11:25 ` schwab@linux-m68k.org
2011-01-30 15:20 ` veksler at il dot ibm.com
` (12 subsequent siblings)
14 siblings, 0 replies; 16+ messages in thread
From: schwab@linux-m68k.org @ 2011-01-30 11:25 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47541
Andreas Schwab <schwab@linux-m68k.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |WAITING
Last reconfirmed| |2011.01.30 09:44:37
Ever Confirmed|0 |1
--- Comment #2 from Andreas Schwab <schwab@linux-m68k.org> 2011-01-30 09:44:37 UTC ---
There is no attachment.
^ permalink raw reply [flat|nested] 16+ messages in thread
* [Bug c++/47541] For integer pointers, the value of ++*p is not written back to memory
2011-01-30 10:48 [Bug c++/47541] New: For integer pointers, the value of ++*p is not written back to memory veksler at il dot ibm.com
@ 2011-01-30 11:25 ` veksler at il dot ibm.com
2011-01-30 11:25 ` schwab@linux-m68k.org
` (13 subsequent siblings)
14 siblings, 0 replies; 16+ messages in thread
From: veksler at il dot ibm.com @ 2011-01-30 11:25 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47541
Michael Veksler <veksler at il dot ibm.com> changed:
What |Removed |Added
----------------------------------------------------------------------------
Version|4.5.1 |4.6.0
--- Comment #1 from Michael Veksler <veksler at il dot ibm.com> 2011-01-30 09:39:50 UTC ---
I recreated this bug, with the same attachment, for 4.6.0 20110129
(experimental):
Target: x86_64-unknown-linux-gnu
Configured with: ../gcc-4.6-20110129/configure--enable-languages=c++
Thread model: posix
gcc version 4.6.0 20110129 (experimental) (GCC)
Updating the version accordingly.
Also, it seems to me that this worked fine with the gcc-4.4 series (I was able
to work with that code just fine with fc13 which, as far as I can remember,
comes with gcc-4.4). In that case, this is a regression.
^ permalink raw reply [flat|nested] 16+ messages in thread
* [Bug c++/47541] For integer pointers, the value of ++*p is not written back to memory
2011-01-30 10:48 [Bug c++/47541] New: For integer pointers, the value of ++*p is not written back to memory veksler at il dot ibm.com
2011-01-30 11:25 ` [Bug c++/47541] " veksler at il dot ibm.com
2011-01-30 11:25 ` schwab@linux-m68k.org
@ 2011-01-30 15:20 ` veksler at il dot ibm.com
2011-01-30 17:36 ` [Bug c++/47541] [4.5/4.6 Regression] " hjl.tools at gmail dot com
` (11 subsequent siblings)
14 siblings, 0 replies; 16+ messages in thread
From: veksler at il dot ibm.com @ 2011-01-30 15:20 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47541
--- Comment #3 from Michael Veksler <veksler at il dot ibm.com> 2011-01-30 12:39:04 UTC ---
Created attachment 23168
--> http://gcc.gnu.org/bugzilla/attachment.cgi?id=23168
This is a minimal file to reproduce this error
Strange, it got lost somehow. Here it is, again.
^ permalink raw reply [flat|nested] 16+ messages in thread
* [Bug c++/47541] [4.5/4.6 Regression] For integer pointers, the value of ++*p is not written back to memory
2011-01-30 10:48 [Bug c++/47541] New: For integer pointers, the value of ++*p is not written back to memory veksler at il dot ibm.com
` (2 preceding siblings ...)
2011-01-30 15:20 ` veksler at il dot ibm.com
@ 2011-01-30 17:36 ` hjl.tools at gmail dot com
2011-01-31 14:56 ` jakub at gcc dot gnu.org
` (10 subsequent siblings)
14 siblings, 0 replies; 16+ messages in thread
From: hjl.tools at gmail dot com @ 2011-01-30 17:36 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47541
H.J. Lu <hjl.tools at gmail dot com> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|WAITING |NEW
CC| |hubicka at gcc dot gnu.org
Target Milestone|--- |4.5.3
Summary|For integer pointers, the |[4.5/4.6 Regression] For
|value of ++*p is not |integer pointers, the value
|written back to memory |of ++*p is not written
| |back to memory
--- Comment #4 from H.J. Lu <hjl.tools at gmail dot com> 2011-01-30 16:03:30 UTC ---
It is caused by revision 152520:
http://gcc.gnu.org/ml/gcc-cvs/2009-10/msg00169.html
^ permalink raw reply [flat|nested] 16+ messages in thread
* [Bug c++/47541] [4.5/4.6 Regression] For integer pointers, the value of ++*p is not written back to memory
2011-01-30 10:48 [Bug c++/47541] New: For integer pointers, the value of ++*p is not written back to memory veksler at il dot ibm.com
` (3 preceding siblings ...)
2011-01-30 17:36 ` [Bug c++/47541] [4.5/4.6 Regression] " hjl.tools at gmail dot com
@ 2011-01-31 14:56 ` jakub at gcc dot gnu.org
2011-01-31 16:28 ` rguenth at gcc dot gnu.org
` (9 subsequent siblings)
14 siblings, 0 replies; 16+ messages in thread
From: jakub at gcc dot gnu.org @ 2011-01-31 14:56 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47541
Jakub Jelinek <jakub at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |jakub at gcc dot gnu.org
--- Comment #5 from Jakub Jelinek <jakub at gcc dot gnu.org> 2011-01-31 14:26:39 UTC ---
It is tree dse1 that removes the needed increment (the only dse_optimize_stmt
optimized store in the whole testcase).
^ permalink raw reply [flat|nested] 16+ messages in thread
* [Bug c++/47541] [4.5/4.6 Regression] For integer pointers, the value of ++*p is not written back to memory
2011-01-30 10:48 [Bug c++/47541] New: For integer pointers, the value of ++*p is not written back to memory veksler at il dot ibm.com
` (4 preceding siblings ...)
2011-01-31 14:56 ` jakub at gcc dot gnu.org
@ 2011-01-31 16:28 ` rguenth at gcc dot gnu.org
2011-01-31 16:40 ` jakub at gcc dot gnu.org
` (8 subsequent siblings)
14 siblings, 0 replies; 16+ messages in thread
From: rguenth at gcc dot gnu.org @ 2011-01-31 16:28 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47541
Richard Guenther <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |ASSIGNED
AssignedTo|unassigned at gcc dot |rguenth at gcc dot gnu.org
|gnu.org |
--- Comment #6 from Richard Guenther <rguenth at gcc dot gnu.org> 2011-01-31 15:10:34 UTC ---
Mine.
^ permalink raw reply [flat|nested] 16+ messages in thread
* [Bug c++/47541] [4.5/4.6 Regression] For integer pointers, the value of ++*p is not written back to memory
2011-01-30 10:48 [Bug c++/47541] New: For integer pointers, the value of ++*p is not written back to memory veksler at il dot ibm.com
` (5 preceding siblings ...)
2011-01-31 16:28 ` rguenth at gcc dot gnu.org
@ 2011-01-31 16:40 ` jakub at gcc dot gnu.org
2011-01-31 17:00 ` rguenth at gcc dot gnu.org
` (7 subsequent siblings)
14 siblings, 0 replies; 16+ messages in thread
From: jakub at gcc dot gnu.org @ 2011-01-31 16:40 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47541
--- Comment #7 from Jakub Jelinek <jakub at gcc dot gnu.org> 2011-01-31 15:57:28 UTC ---
Created attachment 23180
--> http://gcc.gnu.org/bugzilla/attachment.cgi?id=23180
pr47541.ii
For Richard:
x86_64-linux, trunk from today, ./cc1plus -O2 -fdump-tree-alias
-fdump-tree-dse-all pr47541.ii
;; Function virtual void B::Push(Wrapper) (_ZN1B4PushE7Wrapper)
...
Deleted dead store '*D.10321_19 = D.10324_22;
'
and the delete is invalid.
*.alias has:
ptr = &PARM_NOALIAS.204.64+64
D.10321_19 = *ptr + 128
...
D.10321_19 = { }
...
D.10321_19, points-to vars: { }
^ permalink raw reply [flat|nested] 16+ messages in thread
* [Bug c++/47541] [4.5/4.6 Regression] For integer pointers, the value of ++*p is not written back to memory
2011-01-30 10:48 [Bug c++/47541] New: For integer pointers, the value of ++*p is not written back to memory veksler at il dot ibm.com
` (6 preceding siblings ...)
2011-01-31 16:40 ` jakub at gcc dot gnu.org
@ 2011-01-31 17:00 ` rguenth at gcc dot gnu.org
2011-01-31 17:07 ` rguenth at gcc dot gnu.org
` (6 subsequent siblings)
14 siblings, 0 replies; 16+ messages in thread
From: rguenth at gcc dot gnu.org @ 2011-01-31 17:00 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47541
--- Comment #8 from Richard Guenther <rguenth at gcc dot gnu.org> 2011-01-31 16:28:19 UTC ---
Hmm. We have
D.10321_19 = MEM[(const struct RefCount &)ptr_3(D) + 8].count_;
MEM[(struct RefCount *)D.9717_8 + 8B].count_ = D.10321_19;
D.10322_20 = MEM[(struct RefCount *)D.9717_8 + 8B].count_;
...
MEM[(int *)D.10322_20] = D.10324_22;
so _19 isn't used at this point (as in, dereferenced) directly.
Constraints:
PARM_NOALIAS.204.64+64 = NONLOCAL
PARM_NOALIAS.204.128+64 = NONLOCAL
ptr = &PARM_NOALIAS.204.64+64
D.10321_19 = *ptr + 128
*D.9717_8 + 128 = D.10321_19
D.10322_20 = *D.9717_8 + 128
D.10323_21 = *D.10322_20
Note the funny fact that no constraint is there for
the subvar starting at 0. And we end up with
# PT = nonlocal escaped
D.10320_18 = MEM[(const struct RefCount &)ptr_3(D) + 8].ptr_;
MEM[(struct RefCount *)D.9717_8 + 8B].ptr_ = D.10320_18;
# PT =
D.10321_19 = MEM[(const struct RefCount &)ptr_3(D) + 8].count_;
MEM[(struct RefCount *)D.9717_8 + 8B].count_ = D.10321_19;
# PT = nonlocal escaped
D.10322_20 = MEM[(struct RefCount *)D.9717_8 + 8B].count_;
which means that we think we access PARM_NOALIAS.204.196+64 when
loading from count_. This looks like a type issue to me, related to
pass-by-reference + restrict handling. Eventually related to
how inheritance is represented.
^ permalink raw reply [flat|nested] 16+ messages in thread
* [Bug c++/47541] [4.5/4.6 Regression] For integer pointers, the value of ++*p is not written back to memory
2011-01-30 10:48 [Bug c++/47541] New: For integer pointers, the value of ++*p is not written back to memory veksler at il dot ibm.com
` (7 preceding siblings ...)
2011-01-31 17:00 ` rguenth at gcc dot gnu.org
@ 2011-01-31 17:07 ` rguenth at gcc dot gnu.org
2011-01-31 17:42 ` rguenth at gcc dot gnu.org
` (5 subsequent siblings)
14 siblings, 0 replies; 16+ messages in thread
From: rguenth at gcc dot gnu.org @ 2011-01-31 17:07 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47541
--- Comment #9 from Richard Guenther <rguenth at gcc dot gnu.org> 2011-01-31 16:40:11 UTC ---
Testcase:
struct Dummy {};
struct RefCount : public Dummy {
~RefCount(); /* Has to be non-pod. */
int *a;
int *b;
};
RefCount::~RefCount(){}
struct Wrapper : public Dummy { RefCount ref; };
void __attribute__((noinline,noclone))
Push(Wrapper ptr)
{
*ptr.ref.b = 0;
}
extern "C" void abort (void);
int main()
{
int a = 1, b = 1;
Wrapper x;
x.ref.a = &a;
x.ref.b = &b;
Push(x);
if (b != 0)
abort ();
return 0;
}
^ permalink raw reply [flat|nested] 16+ messages in thread
* [Bug c++/47541] [4.5/4.6 Regression] For integer pointers, the value of ++*p is not written back to memory
2011-01-30 10:48 [Bug c++/47541] New: For integer pointers, the value of ++*p is not written back to memory veksler at il dot ibm.com
` (8 preceding siblings ...)
2011-01-31 17:07 ` rguenth at gcc dot gnu.org
@ 2011-01-31 17:42 ` rguenth at gcc dot gnu.org
2011-02-01 9:47 ` rguenth at gcc dot gnu.org
` (4 subsequent siblings)
14 siblings, 0 replies; 16+ messages in thread
From: rguenth at gcc dot gnu.org @ 2011-01-31 17:42 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47541
--- Comment #10 from Richard Guenther <rguenth at gcc dot gnu.org> 2011-01-31 17:07:19 UTC ---
So, type Wrapper as seen by PTA has
Wrapper
offset 64: RefCount
RefCount
offset 0: a
offset 64: b
and the issue is that the ptr parameter gets the address of a as initial
value by PTA. Oops. It really needs to get offset zero as initial address!
We should always keep a subvar for offset zero.
I have a patch.
^ permalink raw reply [flat|nested] 16+ messages in thread
* [Bug c++/47541] [4.5/4.6 Regression] For integer pointers, the value of ++*p is not written back to memory
2011-01-30 10:48 [Bug c++/47541] New: For integer pointers, the value of ++*p is not written back to memory veksler at il dot ibm.com
` (9 preceding siblings ...)
2011-01-31 17:42 ` rguenth at gcc dot gnu.org
@ 2011-02-01 9:47 ` rguenth at gcc dot gnu.org
2011-02-01 11:15 ` [Bug c++/47541] [4.5 " jakub at gcc dot gnu.org
` (3 subsequent siblings)
14 siblings, 0 replies; 16+ messages in thread
From: rguenth at gcc dot gnu.org @ 2011-02-01 9:47 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47541
--- Comment #11 from Richard Guenther <rguenth at gcc dot gnu.org> 2011-02-01 09:47:26 UTC ---
Author: rguenth
Date: Tue Feb 1 09:47:21 2011
New Revision: 169468
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=169468
Log:
2011-02-01 Richard Guenther <rguenther@suse.de>
PR tree-optimization/47541
* tree-ssa-structalias.c (push_fields_onto_fieldstack): Make
sure to have a field at offset zero.
* g++.dg/torture/pr47541.C: New testcase.
Added:
trunk/gcc/testsuite/g++.dg/torture/pr47541.C
Modified:
trunk/gcc/ChangeLog
trunk/gcc/testsuite/ChangeLog
trunk/gcc/tree-ssa-structalias.c
^ permalink raw reply [flat|nested] 16+ messages in thread
* [Bug c++/47541] [4.5 Regression] For integer pointers, the value of ++*p is not written back to memory
2011-01-30 10:48 [Bug c++/47541] New: For integer pointers, the value of ++*p is not written back to memory veksler at il dot ibm.com
` (10 preceding siblings ...)
2011-02-01 9:47 ` rguenth at gcc dot gnu.org
@ 2011-02-01 11:15 ` jakub at gcc dot gnu.org
2011-02-01 11:27 ` rguenth at gcc dot gnu.org
` (2 subsequent siblings)
14 siblings, 0 replies; 16+ messages in thread
From: jakub at gcc dot gnu.org @ 2011-02-01 11:15 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47541
Jakub Jelinek <jakub at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Known to work| |4.4.4, 4.6.0
Summary|[4.5/4.6 Regression] For |[4.5 Regression] For
|integer pointers, the value |integer pointers, the value
|of ++*p is not written |of ++*p is not written
|back to memory |back to memory
Known to fail| |4.5.2
--- Comment #12 from Jakub Jelinek <jakub at gcc dot gnu.org> 2011-02-01 11:15:50 UTC ---
Fixed on the trunk so far.
^ permalink raw reply [flat|nested] 16+ messages in thread
* [Bug c++/47541] [4.5 Regression] For integer pointers, the value of ++*p is not written back to memory
2011-01-30 10:48 [Bug c++/47541] New: For integer pointers, the value of ++*p is not written back to memory veksler at il dot ibm.com
` (11 preceding siblings ...)
2011-02-01 11:15 ` [Bug c++/47541] [4.5 " jakub at gcc dot gnu.org
@ 2011-02-01 11:27 ` rguenth at gcc dot gnu.org
2011-02-01 11:29 ` rguenth at gcc dot gnu.org
2011-02-02 18:33 ` dnovillo at gcc dot gnu.org
14 siblings, 0 replies; 16+ messages in thread
From: rguenth at gcc dot gnu.org @ 2011-02-01 11:27 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47541
--- Comment #13 from Richard Guenther <rguenth at gcc dot gnu.org> 2011-02-01 11:27:07 UTC ---
Author: rguenth
Date: Tue Feb 1 11:27:04 2011
New Revision: 169472
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=169472
Log:
2011-02-01 Richard Guenther <rguenther@suse.de>
PR tree-optimization/47541
* tree-ssa-structalias.c (push_fields_onto_fieldstack): Make
sure to have a field at offset zero.
* g++.dg/torture/pr47541.C: New testcase.
Added:
branches/gcc-4_5-branch/gcc/testsuite/g++.dg/torture/pr47541.C
Modified:
branches/gcc-4_5-branch/gcc/ChangeLog
branches/gcc-4_5-branch/gcc/testsuite/ChangeLog
branches/gcc-4_5-branch/gcc/tree-ssa-structalias.c
^ permalink raw reply [flat|nested] 16+ messages in thread
* [Bug c++/47541] [4.5 Regression] For integer pointers, the value of ++*p is not written back to memory
2011-01-30 10:48 [Bug c++/47541] New: For integer pointers, the value of ++*p is not written back to memory veksler at il dot ibm.com
` (12 preceding siblings ...)
2011-02-01 11:27 ` rguenth at gcc dot gnu.org
@ 2011-02-01 11:29 ` rguenth at gcc dot gnu.org
2011-02-02 18:33 ` dnovillo at gcc dot gnu.org
14 siblings, 0 replies; 16+ messages in thread
From: rguenth at gcc dot gnu.org @ 2011-02-01 11:29 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47541
Richard Guenther <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|ASSIGNED |RESOLVED
Known to work| |4.5.3
Resolution| |FIXED
--- Comment #14 from Richard Guenther <rguenth at gcc dot gnu.org> 2011-02-01 11:29:26 UTC ---
Fixed.
^ permalink raw reply [flat|nested] 16+ messages in thread
* [Bug c++/47541] [4.5 Regression] For integer pointers, the value of ++*p is not written back to memory
2011-01-30 10:48 [Bug c++/47541] New: For integer pointers, the value of ++*p is not written back to memory veksler at il dot ibm.com
` (13 preceding siblings ...)
2011-02-01 11:29 ` rguenth at gcc dot gnu.org
@ 2011-02-02 18:33 ` dnovillo at gcc dot gnu.org
14 siblings, 0 replies; 16+ messages in thread
From: dnovillo at gcc dot gnu.org @ 2011-02-02 18:33 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47541
--- Comment #15 from Diego Novillo <dnovillo at gcc dot gnu.org> 2011-02-02 18:14:44 UTC ---
Author: dnovillo
Date: Wed Feb 2 18:14:39 2011
New Revision: 169740
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=169740
Log:
2011-02-01 Richard Guenther <rguenther@suse.de>
PR tree-optimization/47541
* tree-ssa-structalias.c (push_fields_onto_fieldstack): Make
sure to have a field at offset zero.
* g++.dg/torture/pr47541.C: New testcase.
Added:
branches/google/integration/gcc/testsuite/g++.dg/torture/pr47541.C
Modified:
branches/google/integration/gcc/ChangeLog
branches/google/integration/gcc/testsuite/ChangeLog
branches/google/integration/gcc/tree-ssa-structalias.c
^ permalink raw reply [flat|nested] 16+ messages in thread
end of thread, other threads:[~2011-02-02 18:33 UTC | newest]
Thread overview: 16+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-01-30 10:48 [Bug c++/47541] New: For integer pointers, the value of ++*p is not written back to memory veksler at il dot ibm.com
2011-01-30 11:25 ` [Bug c++/47541] " veksler at il dot ibm.com
2011-01-30 11:25 ` schwab@linux-m68k.org
2011-01-30 15:20 ` veksler at il dot ibm.com
2011-01-30 17:36 ` [Bug c++/47541] [4.5/4.6 Regression] " hjl.tools at gmail dot com
2011-01-31 14:56 ` jakub at gcc dot gnu.org
2011-01-31 16:28 ` rguenth at gcc dot gnu.org
2011-01-31 16:40 ` jakub at gcc dot gnu.org
2011-01-31 17:00 ` rguenth at gcc dot gnu.org
2011-01-31 17:07 ` rguenth at gcc dot gnu.org
2011-01-31 17:42 ` rguenth at gcc dot gnu.org
2011-02-01 9:47 ` rguenth at gcc dot gnu.org
2011-02-01 11:15 ` [Bug c++/47541] [4.5 " jakub at gcc dot gnu.org
2011-02-01 11:27 ` rguenth at gcc dot gnu.org
2011-02-01 11:29 ` rguenth at gcc dot gnu.org
2011-02-02 18:33 ` dnovillo at gcc dot gnu.org
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).