[Bug middle-end/38937] [4.4 Regression] dereferencing pointer 'anonymous' does break strict-aliasing

2009-01-30 Thread paolo dot carlini at oracle dot com


--- Comment #3 from paolo dot carlini at oracle dot com  2009-01-30 16:57 
---
In the meanwhile the patch for PR38503 has been installed and unfortunately I
have to report that this issue seems indeed different, eg, this testcase is
still not fixed on x86_64-linux:

#include string
#include list

class A;

class B {
public:
void foo(A);
std::string s;
};

class A {
public:
A qaz() {
l.push_back( new A() );
return *l.back();
}
std::listA* l;
};

void bar()
{
A a;
B b;
b.foo(a.qaz());
}


-- 

paolo dot carlini at oracle dot com changed:

   What|Removed |Added

   Last reconfirmed|-00-00 00:00:00 |2009-01-30 16:57:42
   date||


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38937



[Bug middle-end/38937] [4.4 Regression] dereferencing pointer 'anonymous' does break strict-aliasing

2009-01-30 Thread paolo dot carlini at oracle dot com


-- 

paolo dot carlini at oracle dot com changed:

   What|Removed |Added

 Status|WAITING |NEW
 Ever Confirmed|0   |1
   Last reconfirmed|2009-01-30 16:57:42 |2009-01-30 16:58:36
   date||


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38937



[Bug middle-end/38937] [4.4 Regression] dereferencing pointer 'anonymous' does break strict-aliasing

2009-01-30 Thread rguenth at gcc dot gnu dot org


--- Comment #4 from rguenth at gcc dot gnu dot org  2009-01-30 22:20 ---
Confirmed on i?86 as well, even with 4.3 headers:

./cc1plus -quiet -O2 -Wall /tmp/t.ii 
t.C: In function 'void bar()':
t.C:16: warning: dereferencing pointer 'anonymous' does break strict-aliasing
rules
/usr/include/c++/4.3/bits/stl_list.h:132: note: initialized from here

I will have a looksee.


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |rguenth at gcc dot gnu dot
   |dot org |org
 Status|NEW |ASSIGNED
   Last reconfirmed|2009-01-30 16:58:36 |2009-01-30 22:20:24
   date||


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38937



[Bug middle-end/38937] [4.4 Regression] dereferencing pointer 'anonymous' does break strict-aliasing

2009-01-30 Thread rguenth at gcc dot gnu dot org


--- Comment #5 from rguenth at gcc dot gnu dot org  2009-01-30 22:51 ---
For

  hook (D.15560_20, a.l.D.14002._M_impl._M_node);

we somehow compute the wrong ESCAPED solution.

ESCAPED = { NULL ANYTHING ESCAPED NONLOCAL a b D.15681 }

this is missing a.32+32.

Bah, it turns out I again have this fixed on the alias-improvements branch.
So - I have a patch.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38937



[Bug middle-end/38937] [4.4 Regression] dereferencing pointer 'anonymous' does break strict-aliasing

2009-01-28 Thread rguenth at gcc dot gnu dot org


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |WAITING


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38937



[Bug middle-end/38937] [4.4 Regression] dereferencing pointer 'anonymous' does break strict-aliasing

2009-01-25 Thread rguenth at gcc dot gnu dot org


--- Comment #2 from rguenth at gcc dot gnu dot org  2009-01-25 18:05 ---
Does the following patch fix this?

http://gcc.gnu.org/ml/gcc-patches/2009-01/msg01245.html

If so please mark this bug as a dup of PR38503.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38937



[Bug middle-end/38937] [4.4 regression] dereferencing pointer 'anonymous' does break strict-aliasing

2009-01-22 Thread pinskia at gcc dot gnu dot org


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||pinskia at gcc dot gnu dot
   ||org
Summary|[4.4 regression]|[4.4 regression]
   |dereferencing pointer   |dereferencing pointer
   |'anonymous' does break|'anonymous' does break
   |strict-aliasing |strict-aliasing
   Target Milestone|--- |4.4.0


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38937



[Bug middle-end/38937] [4.4 regression] dereferencing pointer 'anonymous' does break strict-aliasing

2009-01-22 Thread rguenth at gcc dot gnu dot org


--- Comment #1 from rguenth at gcc dot gnu dot org  2009-01-22 22:44 ---
This is likely because of different inlining decisions which is possibly
because
of different insn costs which depend on MOVE_MAX_PIECES and MOVE_RATIO.

The warning itself hints at either an alias problem in the testcase or the
library or at a problem with points-to analysis.


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||rguenth at gcc dot gnu dot
   ||org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38937