--- Comment #1 from rguenth at gcc dot gnu dot org 2009-01-16 13:36 ---
Mine.
--
rguenth at gcc dot gnu dot org changed:
What|Removed |Added
--- Comment #2 from pinskia at gcc dot gnu dot org 2009-01-16 18:22 ---
return reinterpret_cast_Tp*(reinterpret_cast_UIntPtrType(this)
+ _M_diff);
(const struct _Fwd_list_node_base *) this p+ (long unsigned int) ((const
struct
--- Comment #3 from rguenther at suse dot de 2009-01-16 18:27 ---
Subject: Re: field-insensitive PTA causes
libstdc++ miscompiles
On Fri, 16 Jan 2009, pinskia at gcc dot gnu dot org wrote:
--- Comment #2 from pinskia at gcc dot gnu dot org 2009-01-16 18:22
---
--- Comment #4 from rguenth at gcc dot gnu dot org 2009-01-16 18:30 ---
void *p;
intptr_t iptr = (intptr_t)p - (intptr_t)iptr;
of course. Then this is just
(void *)((intptr_t)iptr + (intptr_t)p - (intptr_t)iptr)
==
(void *)(intptr_t)p
which is guaranteed by the std
--
On Fri, Jan 16, 2009 at 10:30 AM, rguenth at gcc dot gnu dot org
gcc-bugzi...@gcc.gnu.org wrote:
(void *)((intptr_t)iptr + (intptr_t)p - (intptr_t)iptr)
==
(void *)(intptr_t)p
which is guaranteed by the std
No that is not guaranteed because of:
If the result cannot be represented in the
--- Comment #5 from pinskia at gmail dot com 2009-01-16 18:33 ---
Subject: Re: field-insensitive PTA causes libstdc++ miscompiles
On Fri, Jan 16, 2009 at 10:30 AM, rguenth at gcc dot gnu dot org
gcc-bugzi...@gcc.gnu.org wrote:
(void *)((intptr_t)iptr + (intptr_t)p - (intptr_t)iptr)
--- Comment #6 from rguenth at gcc dot gnu dot org 2009-01-16 18:37 ---
Guaranteed by 7.18.1.4.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38835
On Fri, Jan 16, 2009 at 10:37 AM, rguenth at gcc dot gnu dot org
gcc-bugzi...@gcc.gnu.org wrote:
--- Comment #6 from rguenth at gcc dot gnu dot org 2009-01-16 18:37
---
Guaranteed by 7.18.1.4.
These types are optional.
:)