1//-*- C++ -*-
2
3// Intended to exercise all syntactic parts of the C++ language that
4// aren't part of C.
5
6namespace std {
7  namespace debug {
8  }
9}
10
11using namespace std::debug;
12using namespace std;
13
14namespace safestl = ::std::debug;
15
16class Base1 {
17};
18
19class Base2 { };
20
21class Derived1 : Base1, virtual public Base2 { };
22
23/* Template classes, template functions */
24enum E1 { EC1 };
25template <E1 v> class C1 {};
26template <E1 v> C1<v> f1() { return C1<v>(); }
27void f2() { f1<EC1>(); }
28