comparison clang/test/SemaTemplate/array-redeclaration.cpp @ 150:1d019706d866

LLVM10
author anatofuz
date Thu, 13 Feb 2020 15:10:13 +0900
parents
children 2e18cbf3894f
comparison
equal deleted inserted replaced
147:c2174574ed3a 150:1d019706d866
1 // RUN: %clang_cc1 -fsyntax-only -verify %s
2 // expected-no-diagnostics
3
4 extern int array[1];
5
6 template <typename>
7 class C {
8 enum { D };
9 public:
10 template <typename A> void foo1() {
11 extern int array[((int)C<A>::k > (int)D) ? 1 : -1];
12 }
13 };
14
15 template<>
16 class C<int> {
17 public:
18 const static int k = 2;
19 };
20
21 void foo2() {
22 C<char> c;
23 c.foo1<int>();
24 }
25
26 template<int n>
27 void foo3() {
28 extern int array[n ? 1 : -1];
29 }
30
31 void foo4() {
32 foo3<5>();
33 }