38 lines · cpp
1// RUN: %clang_cc1 -triple x86_64-apple-macosx10.7.0 -emit-llvm -o - %s | FileCheck %s2 3struct X {4 X();5 ~X();6};7 8struct Y {9 X get();10};11 12struct X2 {13 X x;14};15 16template<typename T>17void call() {18 Y().get();19}20 21// CHECK-LABEL: define weak_odr void @_Z4callIiEvv22// CHECK: call void @_ZN1Y3getEv23// CHECK-NEXT: call void @_ZN1XD1Ev24// CHECK-NEXT: ret void25template void call<int>(); 26 27template<typename T>28void compound_literal() {29 (X2){};30}31 32// CHECK-LABEL: define weak_odr void @_Z16compound_literalIiEvv33// CHECK: call void @_ZN1XC1Ev34// CHECK-NEXT: call void @_ZN2X2D1Ev35// CHECK-NEXT: ret void36template void compound_literal<int>(); 37 38