forked from OSchip/llvm-project
Move the rest of the Sema C++ tests into the SemaCXX test directory.
llvm-svn: 55178
This commit is contained in:
parent
857fcc2f8e
commit
3d0f51d703
|
@ -1,52 +1,52 @@
|
||||||
// RUN: clang -fsyntax-only -verify %s
|
// RUN: clang -fsyntax-only -verify %s
|
||||||
class C { };
|
class C { };
|
||||||
|
|
||||||
C c;
|
C c;
|
||||||
|
|
||||||
void D(int);
|
void D(int);
|
||||||
|
|
||||||
class D {}; // expected-error{{previous use is here}}
|
class D {}; // expected-error{{previous use is here}}
|
||||||
|
|
||||||
void foo()
|
void foo()
|
||||||
{
|
{
|
||||||
D(5);
|
D(5);
|
||||||
class D d;
|
class D d;
|
||||||
}
|
}
|
||||||
|
|
||||||
class D;
|
class D;
|
||||||
|
|
||||||
enum D; // expected-error{{use of 'D' with tag type that does not match previous declaration}}
|
enum D; // expected-error{{use of 'D' with tag type that does not match previous declaration}}
|
||||||
|
|
||||||
class A * A;
|
class A * A;
|
||||||
|
|
||||||
class A * a2;
|
class A * a2;
|
||||||
|
|
||||||
void bar()
|
void bar()
|
||||||
{
|
{
|
||||||
A = 0;
|
A = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
void C(int);
|
void C(int);
|
||||||
|
|
||||||
void bar2()
|
void bar2()
|
||||||
{
|
{
|
||||||
C(17);
|
C(17);
|
||||||
}
|
}
|
||||||
|
|
||||||
extern int B;
|
extern int B;
|
||||||
class B;
|
class B;
|
||||||
class B {};
|
class B {};
|
||||||
int B;
|
int B;
|
||||||
|
|
||||||
enum E { e1_val };
|
enum E { e1_val };
|
||||||
E e1;
|
E e1;
|
||||||
|
|
||||||
void E(int);
|
void E(int);
|
||||||
|
|
||||||
void bar3() {
|
void bar3() {
|
||||||
E(17);
|
E(17);
|
||||||
}
|
}
|
||||||
|
|
||||||
enum E e2;
|
enum E e2;
|
||||||
|
|
||||||
enum E2 { E2 };
|
enum E2 { E2 };
|
|
@ -1,25 +1,25 @@
|
||||||
// RUN: clang -fsyntax-only -verify %s
|
// RUN: clang -fsyntax-only -verify %s
|
||||||
class A { };
|
class A { };
|
||||||
|
|
||||||
class B1 : A { };
|
class B1 : A { };
|
||||||
|
|
||||||
class B2 : virtual A { };
|
class B2 : virtual A { };
|
||||||
|
|
||||||
class B3 : virtual virtual A { }; // expected-error{{duplicate 'virtual' in base specifier}}
|
class B3 : virtual virtual A { }; // expected-error{{duplicate 'virtual' in base specifier}}
|
||||||
|
|
||||||
class C : public B1, private B2 { };
|
class C : public B1, private B2 { };
|
||||||
|
|
||||||
|
|
||||||
class D;
|
class D;
|
||||||
|
|
||||||
class E : public D { }; // expected-error{{base class has incomplete type}}
|
class E : public D { }; // expected-error{{base class has incomplete type}}
|
||||||
|
|
||||||
typedef int I;
|
typedef int I;
|
||||||
|
|
||||||
class F : public I { }; // expected-error{{base specifier must name a class}}
|
class F : public I { }; // expected-error{{base specifier must name a class}}
|
||||||
|
|
||||||
union U1 : public A { }; // expected-error{{unions cannot have base classes}}
|
union U1 : public A { }; // expected-error{{unions cannot have base classes}}
|
||||||
|
|
||||||
union U2 {};
|
union U2 {};
|
||||||
|
|
||||||
class G : public U2 { }; // expected-error{{unions cannot be base classes}}
|
class G : public U2 { }; // expected-error{{unions cannot be base classes}}
|
Loading…
Reference in New Issue