Richard Smith | d28ac5b | 2014-03-22 23:33:22 +0000 | [diff] [blame] | 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>; |
Richard Smith | 04d05b5 | 2014-03-23 00:27:18 +0000 | [diff] [blame] | 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; |
Richard Smith | cd45dbc | 2014-04-19 03:48:30 +0000 | [diff] [blame] | 11 | |
| 12 | template<typename T> struct CtorInit { |
| 13 | static int f() { return 0; } |
| 14 | int a; |
| 15 | CtorInit() : a(f()) {} |
| 16 | }; |