2014-01-30 Alangi Derick <alangiderick@gmail.com>
[official-gcc.git] / gcc / testsuite / obj-c++.dg / property / property-1.mm
blob57a171337c6209538924b496525867466cf50577
1 /* This program tests use of property provided setter/getter functions. */
2 /* { dg-do run } */
3 /* { dg-xfail-run-if "Needs OBJC2 ABI" { *-*-darwin* && { lp64 && { ! objc2 } } } { "-fnext-runtime" } { "" } } */
5 #import "../../objc-obj-c++-shared/TestsuiteObject.m"
7 @interface Bar : TestsuiteObject
9   int iVar;
11 @property (setter=MySetter:) int FooBar;
12 @end
14 @implementation Bar
15 @synthesize FooBar=iVar;
17 - (void) MySetter : (int) value { iVar = value; }
19 @end
21 int main(int argc, char *argv[]) {
22     Bar *f = [Bar new];
23     f.FooBar = 1;
25     f.FooBar += 3;
27     f.FooBar -= 4;
28     return f.FooBar;