summaryrefslogtreecommitdiff
path: root/test/SemaCXX/pr30559.cpp
blob: bcd2385fdd14c7d489d0dfa6b97d35a122bb8325 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
// RUN: %clang_cc1 -std=c++11 -fsyntax-only %s

template < bool, class > struct A {};
template < class, int > void f () {};
template < class T, int >
decltype (f < T, 1 >) f (T t, typename A < t == 0, int >::type) {};

struct B {};

int main ()
{
  f < B, 0 >;
  return 0;
}

template <typename T>
auto foo(T x) -> decltype((x == nullptr), *x) {
  return *x;
}

void bar() {
  foo(new int);
}