30 lines
537 B
Mathematica
30 lines
537 B
Mathematica
|
// 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);
|
||
|
}
|
||
|
|