Home | History | Annotate | Download | only in Inputs
      1 template<typename T> struct S {
      2   __attribute__((always_inline)) static int f() { return 0; }
      3   __attribute__((always_inline, visibility("hidden"))) static int g() { return 0; }
      4 };
      5 
      6 extern template struct S<int>;
      7 
      8 template<typename T> T min(T a, T b) { return a < b ? a : b; }
      9 
     10 extern decltype(min(1, 2)) instantiate_min_decl;
     11 
     12 template<typename T> struct CtorInit {
     13   static int f() { return 0; }
     14   int a;
     15   CtorInit() : a(f()) {}
     16 };
     17 
     18 namespace ImplicitSpecialMembers {
     19   struct A {
     20     A(const A&);
     21   };
     22   struct B {
     23     A a;
     24     B(int);
     25   };
     26   struct C {
     27     A a;
     28     C(int);
     29   };
     30   struct D {
     31     A a;
     32     D(int);
     33   };
     34 }
     35 
     36 namespace OperatorDeleteLookup {
     37   struct A { void operator delete(void*); virtual ~A() = default; };
     38   template<typename T> struct B { void operator delete(void*); virtual ~B() {} typedef int t; };
     39   typedef B<int>::t b_int_instantated;
     40 }
     41 
     42 namespace EmitInlineMethods {
     43   struct A {
     44     void f() {}
     45     void g();
     46   };
     47   struct B {
     48     void f();
     49     void g() {}
     50   };
     51 }
     52