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