|  | // RUN: %clang_cc1 -triple i686-windows-msvc -emit-llvm -std=c++11 -o - %s | FileCheck %s | 
|  |  | 
|  | // Make sure that we emit H's constructor twice: once with the first lambda | 
|  | // inside of 'lep' and again with the second lambda inside of 'lep'. | 
|  | // CHECK-DAG: @"??0?$H@V<lambda_1>@?0???$lep@X@@YAXXZ@@@QAE@XZ" | 
|  | // CHECK-DAG: @"??0?$H@V<lambda_2>@?0???$lep@X@@YAXXZ@@@QAE@XZ" | 
|  |  | 
|  | template <typename> | 
|  | struct H { | 
|  | H() {} | 
|  | }; | 
|  |  | 
|  | template <typename Fx> | 
|  | int K_void(const Fx &) { | 
|  | H<Fx> callee; | 
|  | return 0; | 
|  | } | 
|  | template <typename Fx> | 
|  | int K_int(const Fx &) { | 
|  | H<Fx> callee; | 
|  | return 0; | 
|  | } | 
|  |  | 
|  | struct pair { | 
|  | pair(int, int); | 
|  | }; | 
|  |  | 
|  | struct E1; | 
|  |  | 
|  | template <typename> | 
|  | void lep() { | 
|  | pair x(K_void([] {}), K_int([] {})); | 
|  | } | 
|  |  | 
|  | auto z = lep<void>; |