1ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao// RUN: %clang_cc1 -fsyntax-only -verify %s
2ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao
3ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liaotemplate<class T>
4ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liaostatic int alpha(T c)
5ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao{
6ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao    return *c; // expected-error{{indirection requires pointer operand}}
7ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao}
8ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao
9ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liaotemplate<class T>
10ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liaostatic void
11ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao_shexp_match()
12ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao{
13ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao  switch(1) {
14ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao  case 1:
15ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao    alpha(1); // expected-note{{instantiation of function template}}
16ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao  }
17ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao}
18ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liaoint main() {
19ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao  _shexp_match<char>(); // expected-note{{instantiation of function template}}
20ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao  return 0;
21ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao}
22