1// RUN: %clang_cc1 -std=c++11 -fsyntax-only -verify %s
2
3// PR5290
4int const f0();
5void f0_test() {
6  decltype(0, f0()) i = 0;
7  i = 0;
8}
9
10struct A { int a[1]; A() { } };
11typedef A const AC;
12int &f1(int*);
13float &f2(int const*);
14
15void test_f2() {
16  float &fr = f2(AC().a);
17}
18
19namespace pr10154 {
20  class A{
21      A(decltype(nullptr) param);
22  };
23}
24
25template<typename T> struct S {};
26template<typename T> auto f(T t) -> decltype(S<int>(t)) {
27  using U = decltype(S<int>(t));
28  using U = S<int>;
29  return S<int>(t);
30}
31