reference, declaration → definition definition → references, declarations, derived classes, virtual overrides reference to multiple definitions → definitions unreferenced |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | // RUN: %clang_cc1 -fsyntax-only -verify %s // expected-no-diagnostics extern int array[1]; template <typename> class C { enum { D }; public: template <typename A> void foo1() { extern int array[((int)C<A>::k > (int)D) ? 1 : -1]; } }; template<> class C<int> { public: const static int k = 2; }; void foo2() { C<char> c; c.foo1<int>(); } template<int n> void foo3() { extern int array[n ? 1 : -1]; } void foo4() { foo3<5>(); } |