mirror of git://gcc.gnu.org/git/gcc.git
virtual9.C: New test.
* g++.old-deja/g++.other/virtual9.C: New test. * g++.old-deja/g++.pt/crash61.C: New test. * gcc.c-torture/execute/loop-9.c: New test. From-SVN: r38019
This commit is contained in:
parent
a67ded0fdc
commit
72ca2deef3
|
@ -1,3 +1,9 @@
|
|||
2000-12-04 Neil Booth <neilb@earthling.net>
|
||||
|
||||
* g++.old-deja/g++.other/virtual9.C: New test.
|
||||
* g++.old-deja/g++.pt/crash61.C: New test.
|
||||
* gcc.c-torture/execute/loop-9.c: New test.
|
||||
|
||||
2000-12-04 Neil Booth <neilb@earthling.net>
|
||||
|
||||
* g++.old-deja/g++.other/instan1.C, instan2.C: Move to...
|
||||
|
|
|
@ -0,0 +1,45 @@
|
|||
// Source: Neil Booth, from PR #111.
|
||||
|
||||
class A
|
||||
{
|
||||
public :
|
||||
int i;
|
||||
};
|
||||
|
||||
class B : virtual public A
|
||||
{
|
||||
};
|
||||
|
||||
class C : virtual public A
|
||||
{
|
||||
};
|
||||
|
||||
class D : public B, public C
|
||||
{
|
||||
public :
|
||||
int f(void);
|
||||
int g(void);
|
||||
};
|
||||
|
||||
int D::f(void)
|
||||
{
|
||||
return B::i;
|
||||
}
|
||||
|
||||
int D::g(void)
|
||||
{
|
||||
return this->B::i;
|
||||
}
|
||||
|
||||
D d;
|
||||
extern "C" void abort (void);
|
||||
|
||||
int main(void)
|
||||
{
|
||||
d.C::i=325;
|
||||
|
||||
if (d.f() != d.B::i || d.f() != d.g())
|
||||
abort ();
|
||||
|
||||
return 0;
|
||||
}
|
|
@ -0,0 +1,30 @@
|
|||
// Build don't link:
|
||||
// Source: Neil Booth, from PR # 106. 4 Dec 2000.
|
||||
|
||||
template <bool b> class bar
|
||||
{
|
||||
};
|
||||
|
||||
class A_a
|
||||
{
|
||||
public:
|
||||
static const bool b = true;
|
||||
};
|
||||
|
||||
class B_b
|
||||
{
|
||||
public:
|
||||
static const bool b = false;
|
||||
};
|
||||
|
||||
template <class A, class B> class foo
|
||||
{
|
||||
};
|
||||
|
||||
template <class A, class B>
|
||||
bar<(A::b || B::b)> do_funky(const foo<A, B>&);
|
||||
|
||||
int main()
|
||||
{
|
||||
bar<true> a_bar = do_funky(foo<A_a, B_b>());
|
||||
}
|
|
@ -0,0 +1,21 @@
|
|||
/* Source: Neil Booth, from PR # 115. */
|
||||
|
||||
int false()
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
extern void abort (void);
|
||||
|
||||
int main (int argc,char *argv[])
|
||||
{
|
||||
int count = 0;
|
||||
|
||||
while (false() || count < -123)
|
||||
++count;
|
||||
|
||||
if (count)
|
||||
abort ();
|
||||
|
||||
return 0;
|
||||
}
|
Loading…
Reference in New Issue