------- Comment #7 from jakub at gcc dot gnu dot org 2010-01-27 11:33 -------
int *foo ();
struct A
{
static int a ();
};
template <class T>
struct B
{
B (unsigned);
int b1 (const T &);
T *b2;
unsigned b3, b4;
};
template <class T>
int
B <T>::b1 (const T &x)
{
unsigned i = 0;
for (; i < b3; i++)
if (i < b4)
{
b2[i] = x;
*foo () = 12;
return -1;
}
}
struct C
{
C operator= (C x) { c3 = x.c1 (); return *this; }
~C () {}
int c1 () { return c3; }
void c2 (int x) { c3 = x; }
int c3;
};
void
bar ()
{
B <C> b (100);
C c[100];
for (int i = 0; i < 100; i++)
{
c[i].c2 (i);
b.b1 (c[i]);
if (b.b1 (c[i]))
A::a ();
}
}
--
jakub at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|WAITING |NEW
Ever Confirmed|0 |1
Last reconfirmed|2010-01-27 10:46:28 |2010-01-27 11:33:25
date| |
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42871