30 lines
		
	
	
		
			537 B
		
	
	
	
		
			Objective-C
		
	
	
	
			
		
		
	
	
			30 lines
		
	
	
		
			537 B
		
	
	
	
		
			Objective-C
		
	
	
	
| // RUN: %clang_cc1 -emit-llvm -o %t %s
 | |
| 
 | |
| @interface Object
 | |
| - (id) new;
 | |
| @end
 | |
| 
 | |
| @interface SomeClass : Object
 | |
| {
 | |
|   int _myValue;
 | |
| }
 | |
| @property int myValue;
 | |
| @end
 | |
| 
 | |
| @implementation SomeClass
 | |
| @synthesize myValue=_myValue;
 | |
| @end
 | |
| 
 | |
| int main()
 | |
| {
 | |
|     int val;
 | |
|     SomeClass *o = [SomeClass new];
 | |
|     o.myValue = -1;
 | |
|     val = o.myValue++; /* val -1, o.myValue 0 */
 | |
|     val += o.myValue--; /* val -1. o.myValue -1 */
 | |
|     val += ++o.myValue; /* val -1, o.myValue 0 */
 | |
|     val += --o.myValue; /* val -2, o.myValue -1 */
 | |
|     return ++o.myValue + (val+2);
 | |
| }
 | |
| 
 |