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