This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug regression/36082] -finline-functions miscompiles tail recursion
- From: "pinskia at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 29 Apr 2008 21:24:30 -0000
- Subject: [Bug regression/36082] -finline-functions miscompiles tail recursion
- References: <bug-36082-16128@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #1 from pinskia at gcc dot gnu dot org 2008-04-29 21:24 -------
It is more than unportable, it contains undefined code as you violate C/C++
aliasing rules:
d = *(unsigned long *)e1;
*(unsigned long *)e1 = *(unsigned long *)e2;
*(unsigned long *)e2 = d;
You are accessing a bucket_entry_t as unsigned long.
*** This bug has been marked as a duplicate of 21920 ***
--
pinskia at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |RESOLVED
Resolution| |DUPLICATE
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36082