1*f4a2713aSLionel Sambuc // RUN: %clang_cc1 -std=c++11 -triple x86_64-apple-darwin10 -emit-llvm -o - %s | FileCheck %s 2*f4a2713aSLionel Sambuc 3*f4a2713aSLionel Sambuc template<typename T> using id = T; 4*f4a2713aSLionel Sambuc struct S { 5*f4a2713aSLionel Sambuc template<typename T, int N> 6*f4a2713aSLionel Sambuc operator id<T[N]>&(); 7*f4a2713aSLionel Sambuc template<typename T, typename U> 8*f4a2713aSLionel Sambuc operator id<T (U::*)()>() const; 9*f4a2713aSLionel Sambuc }; 10*f4a2713aSLionel Sambuc f()11*f4a2713aSLionel Sambucvoid f() { 12*f4a2713aSLionel Sambuc int (&a)[42] = S(); // CHECK: @_ZN1ScvRAT0__T_IiLi42EEEv( 13*f4a2713aSLionel Sambuc char (S::*fp)() = S(); // CHECK: @_ZNK1ScvMT0_FT_vEIcS_EEv( 14*f4a2713aSLionel Sambuc }; 15