Mercurial > hg > CbC > CbC_llvm
view clang/test/SemaTemplate/array-redeclaration.cpp @ 222:81f6424ef0e3 llvm-original
LLVM original branch
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Sun, 18 Jul 2021 22:10:01 +0900 |
parents | 79ff65ed7e25 |
children |
line wrap: on
line source
// 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>(); } namespace NS { int f() { extern int arr[3]; { extern int arr[]; } return 0; } template<typename T> void g() { extern int arr[3]; extern T arr; } template void g<int[]>(); }