// RUN: %clang_cc1 -triple x86_64-apple-macosx10.7.0 -emit-llvm -o - %s | FileCheck %s struct X { X(); ~X(); }; struct Y { X get(); }; struct X2 { X x; }; template<typename T> void call() { Y().get(); } // CHECK: define weak_odr void @_Z4callIiEvv // CHECK: call void @_ZN1Y3getEv // CHECK-NEXT: call void @_ZN1XD1Ev // CHECK-NEXT: ret void template void call<int>(); template<typename T> void compound_literal() { (X2){}; } // CHECK: define weak_odr void @_Z16compound_literalIiEvv // CHECK: call void @_ZN1XC1Ev // CHECK-NEXT: call void @_ZN2X2D1Ev // CHECK-NEXT: ret void template void compound_literal<int>();