1ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao// RUN: %clang_cc1 -fsyntax-only %s
2ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao
3ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liaotemplate<typename T, int N>
4ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liaostruct X0 {
5ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao  const char *f0(bool Cond) {
6ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao    return Cond? "honk" : N;
7ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao  }
8ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao
9ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao  const char *f1(bool Cond) {
10ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao    return Cond? N : "honk";
11ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao  }
12ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao
13ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao  bool f2(const char *str) {
14ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao    return str == N;
15ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao  }
16ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao};
17ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao
18ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao// PR4996
19ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liaotemplate<unsigned I> int f0() {
20ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao  return __builtin_choose_expr(I, 0, 1);
21ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao}
22ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao
23ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao// PR5041
24ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liaostruct A { };
25ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao
26ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liaotemplate <typename T> void f(T *t)
27ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao{
28ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao  (void)static_cast<void*>(static_cast<A*>(t));
29ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao}
30