objc-getter-bug.m   [plain text]


/* APPLE LOCAL file radar 5822637 */
/* Check that receiver of a getter call which is a messaging expression
   does not call the message more than once. */
/* { dg-options "-mmacosx-version-min=10.5 -framework Foundation" } */
/* { dg-do run } */

#include <Foundation/Foundation.h>

static int c;

@interface I : NSObject
{
	int count;
}
- (NSArray *)processResults;
- (int) Another;
@end

@implementation I

- (NSArray *)processResults 
{
    ++c;
    return nil;
}

- (int) Another
{
int totalResults = [self processResults].count;
return 0;
}
@end

int main()
{
	I* p = [[I alloc] init];
	[p Another];

	return c-1;
}