--- Comment #9 from rguenth at gcc dot gnu dot org 2009-03-04 12:39 ---
Fixed.
--
rguenth at gcc dot gnu dot org changed:
What|Removed |Added
Status|ASSIGNED
--- Comment #8 from rguenth at gcc dot gnu dot org 2009-03-04 12:37 ---
Subject: Bug 39358
Author: rguenth
Date: Wed Mar 4 12:36:56 2009
New Revision: 144602
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=144602
Log:
2009-03-04 Richard Guenther
PR tree-optimization/
--- Comment #7 from rguenth at gcc dot gnu dot org 2009-03-04 12:14 ---
I have a patch.
--
rguenth at gcc dot gnu dot org changed:
What|Removed |Added
Priority|
--- Comment #6 from rguenth at gcc dot gnu dot org 2009-03-04 09:49 ---
It's a wrong-code problem. And it's of course again fixed on
alias-improvements branch... :/
Mine.
--
rguenth at gcc dot gnu dot org changed:
What|Removed |Added
--- Comment #5 from reichelt at gcc dot gnu dot org 2009-03-03 23:31
---
Well, if you define xyz() within the class the warning goes away.
It stays (and is bogus) if you define the function in a different
translation unit.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39358
--- Comment #4 from reichelt at gcc dot gnu dot org 2009-03-03 23:02
---
> Actually if you do inlining you end up with the cast happening to &node in
> this
> case. Your reduced testcase is undefined because nothing can change y.prev
> between the constructor and the call to back so yo
--- Comment #3 from pinskia at gcc dot gnu dot org 2009-03-03 22:59 ---
Ok, I think the problem is two fold. We optimize the code on one path to your
reduced testcase. There is no way to tell if this path is going to be executed
though. I think the diagnostic needs help to figure out
--- Comment #2 from pinskia at gcc dot gnu dot org 2009-03-03 22:55 ---
Actually if you do inlining you end up with the cast happening to &node in this
case. Your reduced testcase is undefined because nothing can change y.prev
between the constructor and the call to back so you end up wi
--- Comment #1 from reichelt at gcc dot gnu dot org 2009-03-03 22:49
---
Reduced testcase:
struct Node_base {};
struct Node : Node_base
{
int data;
};
struct List
{
Node_base node, *prev;
List() : prev(&node) { xyz(); }
--
reichelt at gcc dot gnu dot org changed:
What|Removed |Added
Target Milestone|--- |4.4.0
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39358
10 matches
Mail list logo