This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug c++/11091] Wrong code in variable initialization
- From: "dej at inode dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 4 Jun 2003 22:04:21 -0000
- Subject: [Bug c++/11091] Wrong code in variable initialization
- References: <20030604194320.11091.dej@inode.org>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
PLEASE REPLY TO gcc-bugzilla@gcc.gnu.org ONLY, *NOT* gcc-bugs@gcc.gnu.org.
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=11091
------- Additional Comments From dej@inode.org 2003-06-04 22:04 -------
This does not appear to be a CPU-specific problem. I recompiled my code base with
-march=i686 and here is the disassembly of the function in question:
0806cd5a <_ZNK14DBInstantiator9findChildE5GCPtrI6DBNameE9DBObjType>:
806cd5a: 55 push %ebp
806cd5b: 89 e5 mov %esp,%ebp
806cd5d: 56 push %esi
806cd5e: 53 push %ebx
806cd5f: 83 ec 40 sub $0x40,%esp
806cd62: 8b 5d 14 mov 0x14(%ebp),%ebx
806cd65: 8b 45 08 mov 0x8(%ebp),%eax
806cd68: 89 04 24 mov %eax,(%esp,1)
806cd6b: e8 98 97 02 00 call 8096508 <_ZN7XactRefI8DBObjectEC1Ev>
The push 0x8(%ebp) has been replaced with a 2-instruction sequence, but the problem
remains: the code erroneously performs a dereference.
------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.