37 lines
		
	
	
		
			911 B
		
	
	
	
		
			Objective-C
		
	
	
	
			
		
		
	
	
			37 lines
		
	
	
		
			911 B
		
	
	
	
		
			Objective-C
		
	
	
	
| // RUN: %clang_cc1 -triple %itanium_abi_triple -emit-llvm -g %s -o - | FileCheck %s
 | |
| // rdar://problem/9468526
 | |
| //
 | |
| // Setting a breakpoint on a property should create breakpoints in
 | |
| // synthesized getters/setters.
 | |
| //
 | |
| @interface I {
 | |
|   int _p1;
 | |
| }
 | |
| // Test that the linetable entries for the synthesized getter and
 | |
| // setter are correct.
 | |
| //
 | |
| // CHECK: define {{.*}}[I p1]
 | |
| // CHECK-NOT: ret
 | |
| // CHECK: load {{.*}}, !dbg ![[DBG1:[0-9]+]]
 | |
| //
 | |
| // CHECK: define {{.*}}[I setP1:]
 | |
| // CHECK-NOT: ret
 | |
| // CHECK: load {{.*}}, !dbg ![[DBG2:[0-9]+]]
 | |
| //
 | |
| // CHECK: [ DW_TAG_subprogram ] [line [[@LINE+4]]] [local] [def] [-[I p1]]
 | |
| // CHECK: [ DW_TAG_subprogram ] [line [[@LINE+3]]] [local] [def] [-[I setP1:]]
 | |
| // CHECK: ![[DBG1]] = metadata !{i32 [[@LINE+2]],
 | |
| // CHECK: ![[DBG2]] = metadata !{i32 [[@LINE+1]],
 | |
| @property int p1;
 | |
| @end
 | |
| 
 | |
| @implementation I
 | |
| @synthesize p1 = _p1;
 | |
| @end
 | |
| 
 | |
| int main() {
 | |
|   I *myi;
 | |
|   myi.p1 = 2;
 | |
|   return myi.p1;
 | |
| }
 |