[clang] Implement lifetime analysis for lifetime_capture_by(X) (#115921)
[llvm-project.git] / clang / test / CodeGenObjCXX / lvalue-reference-getter.mm
blob5e6c0001dc04f7f4625bdd165351f79cac76be6a
1 // RUN: %clang_cc1 -triple x86_64-apple-darwin10 -emit-llvm -o - %s | FileCheck %s
3 static int gint;
4 struct SetSection { 
5       int & at(int __n) { return gint; }
6       const int& at(int __n) const { return gint; }
7 };
9 static SetSection gSetSection;
11 @interface SetShow
12 - (SetSection&)sections;
13 @end
15 @implementation SetShow
16 - (SetSection&) sections {
17 //  [self sections].at(100);
18     self.sections.at(100);
19    return gSetSection;
21 @end
23 // CHECK: [[SELF:%.*]] = alloca ptr, align
24 // CHECK: [[T0:%.*]] = load {{.*}}, ptr [[SELF]], align
25 // CHECK: [[T1:%.*]] = load {{.*}}, ptr @OBJC_SELECTOR_REFERENCES_
26 // CHECK: [[C:%.*]] = call noundef nonnull align {{[0-9]+}} dereferenceable({{[0-9]+}}) ptr @objc_msgSend
27 // CHECK: call noundef nonnull align {{[0-9]+}} dereferenceable({{[0-9]+}}) ptr @_ZN10SetSection2atEi(ptr {{[^,]*}} [[C]]