1 // RUN: %clang_cc1 -triple x86_64-apple-darwin10 -std=c++11 -emit-llvm -o - -UDESUGAR %s | FileCheck %s
2 // RUN: %clang_cc1 -triple x86_64-apple-darwin10 -std=c++11 -emit-llvm -o - -DDESUGAR %s | FileCheck %s
3 // RUN: %clang_cc1 -triple x86_64-apple-darwin10 -std=c++11 -emit-llvm -o - -UDESUGAR -DTEMPLATE %s | FileCheck %s
4 // RUN: %clang_cc1 -triple x86_64-apple-darwin10 -std=c++11 -emit-llvm -o - -DDESUGAR -DTEMPLATE %s | FileCheck %s
5 // RUN: %clang_cc1 -triple x86_64-apple-darwin10 -std=c++11 -emit-llvm -o - -UDESUGAR -DTEMPLATE -DDEPENDENT %s | FileCheck %s
6 // RUN: %clang_cc1 -triple x86_64-apple-darwin10 -std=c++11 -emit-llvm -o - -DDESUGAR -DTEMPLATE -DDEPENDENT %s | FileCheck %s
43 H
operator!=(const E
&o
);
83 auto && __range
= D(B());
84 for (auto __begin
= begin(__range
), __end
= end(__range
);
85 __begin
!= __end
; ++__begin
) {
98 template void for_temps
<D
>();
101 // CHECK: define {{.*}}for_temps
102 // CHECK: call void @_ZN1AC1Ev(
103 // CHECK: call void @_ZN1BC1Ev(
104 // CHECK: call void @_ZN1CC1ERK1B(
105 // CHECK: call void @_ZN1DC1ERK1C(
106 // CHECK: call void @_ZN1CD1Ev(
107 // CHECK: call void @_ZN1BD1Ev(
108 // CHECK: call void @_ZN1DC1ERKS_(
109 // CHECK: call void @_Z5begin1D(
110 // CHECK: call void @_ZN1DD1Ev(
111 // CHECK: call void @_ZN1DC1ERKS_(
112 // CHECK: call void @_Z3end1D(
113 // CHECK: call void @_ZN1DD1Ev(
114 // CHECK: br label %[[COND:.*]]
117 // CHECK: call void @_ZN1EneERKS_(
118 // CHECK: %[[CMP:.*]] = call noundef zeroext i1 @_ZN1HcvbEv(
119 // CHECK: call void @_ZN1HD1Ev(
120 // CHECK: br i1 %[[CMP]], label %[[BODY:.*]], label %[[CLEANUP:.*]]
122 // CHECK: [[CLEANUP]]:
123 // CHECK: call void @_ZN1ED1Ev(
124 // CHECK: call void @_ZN1ED1Ev(
126 // call void @_ZN1DD1Ev(
127 // CHECK: br label %[[END:.*]]
130 // CHECK: call void @_ZN1EdeEv(
131 // CHECK: call void @_ZN1Fcv1IEv(
132 // CHECK: call void @_ZN1FD1Ev(
133 // CHECK: call void @_Z4bodyRK1I(
134 // CHECK: call void @_ZN1ID1Ev(
135 // CHECK: br label %[[INC:.*]]
138 // CHECK: call void @_ZN1EppEv(
139 // CHECK: call void @_ZN1GD1Ev(
140 // CHECK: br label %[[COND]]
143 // In desugared version:
144 // call void @_ZN1DD1Ev(
145 // CHECK: call void @_ZN1AD1Ev(