annotate clang/test/SemaTemplate/temp_arg.cpp @ 173:0572611fdcc8 llvm10 llvm12

reorgnization done
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Mon, 25 May 2020 11:55:54 +0900
parents 1d019706d866
children c4bab56944e8
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
150
anatofuz
parents:
diff changeset
1 // RUN: %clang_cc1 -fsyntax-only -verify %s
anatofuz
parents:
diff changeset
2 template<typename T,
anatofuz
parents:
diff changeset
3 int I,
anatofuz
parents:
diff changeset
4 template<typename> class TT>
anatofuz
parents:
diff changeset
5 class A; // expected-note 3 {{template is declared here}}
anatofuz
parents:
diff changeset
6
anatofuz
parents:
diff changeset
7 template<typename> class X;
anatofuz
parents:
diff changeset
8
anatofuz
parents:
diff changeset
9 A<int, 0, X> * a1;
anatofuz
parents:
diff changeset
10
anatofuz
parents:
diff changeset
11 A<float, 1, X, double> *a2; // expected-error{{too many template arguments for class template 'A'}}
anatofuz
parents:
diff changeset
12 A<float, 1> *a3; // expected-error{{too few template arguments for class template 'A'}}
anatofuz
parents:
diff changeset
13 A a4; // expected-error{{use of class template 'A' requires template arguments}}
anatofuz
parents:
diff changeset
14
anatofuz
parents:
diff changeset
15 namespace test0 {
anatofuz
parents:
diff changeset
16 template <class t> class foo {};
anatofuz
parents:
diff changeset
17 template <class t> class bar {
173
0572611fdcc8 reorgnization done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
18 bar(::test0::foo<tee> *ptr) {} // expected-error {{use of undeclared identifier 'tee'}}
150
anatofuz
parents:
diff changeset
19 };
anatofuz
parents:
diff changeset
20 }