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; }
6 extern template struct S
<int>;
8 template<typename T
> T
min(T a
, T b
) { return a
< b
? a
: b
; }
10 extern decltype(min(1, 2)) instantiate_min_decl
;
12 template<typename T
> struct CtorInit
{
13 static int f() { return 0; }
15 CtorInit() : a(f()) {}
18 namespace ImplicitSpecialMembers
{
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_instantiated
;
42 namespace EmitInlineMethods
{