Commit 85e5e340 by Richard Guenther Committed by Richard Biener

re PR c++/36960 (Reference variable in virtually inherited base corrupted under optimization)

2010-07-13  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/36960
	* g++.dg/torture/pr36960.C: New testcase.

From-SVN: r162141
parent 6368f166
2010-07-13 Richard Guenther <rguenther@suse.de>
PR tree-optimization/36960
* g++.dg/torture/pr36960.C: New testcase.
2010-07-13 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/44908
......
// { dg-do run }
struct Lower {
const int& ref;
Lower(const int& ref) : ref(ref) { }
};
struct Middle : public virtual Lower {
Middle(const int& ref) : Lower(ref) { }
};
struct Upper : public Middle {
Upper(const int& ref) : Lower(ref), Middle(ref) { }
int get() { return ref; }
};
extern "C" void abort (void);
int main()
{
int i = 0;
Upper upper(i);
if (upper.get() != 0)
abort ();
return 0;
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment