1*9ca5c425SRichard Smith // RUN: %clang_cc1 -std=c++11 -triple x86_64-apple-darwin10 -emit-llvm -o - %s | FileCheck %s 23f1b5d07SRichard Smith 33f1b5d07SRichard Smith template<typename T> using id = T; 43f1b5d07SRichard Smith struct S { 53f1b5d07SRichard Smith template<typename T, int N> 63f1b5d07SRichard Smith operator id<T[N]>&(); 73f1b5d07SRichard Smith template<typename T, typename U> 83f1b5d07SRichard Smith operator id<T (U::*)()>() const; 93f1b5d07SRichard Smith }; 103f1b5d07SRichard Smith f()113f1b5d07SRichard Smithvoid f() { 123f1b5d07SRichard Smith int (&a)[42] = S(); // CHECK: @_ZN1ScvRAT0__T_IiLi42EEEv( 133f1b5d07SRichard Smith char (S::*fp)() = S(); // CHECK: @_ZNK1ScvMT0_FT_vEIcS_EEv( 143f1b5d07SRichard Smith }; 15