blob: 9a16755531539dde2bc4d64c883d452245a1d468 [file] [log] [blame]
/* Test basic nested C function functionality within ObjC
methods. */
/* Contributed by Ziemowit Laski <zlaski@apple.com>. */
/* { dg-options "-lobjc" } */
/* { dg-do run } */
/* APPLE LOCAL testsuite nested functions */
/* { dg-options "-fnested-functions" } */
#include <stdio.h>
#include <stdlib.h>
#include <objc/objc.h>
#include <objc/Object.h>
int bappy (int (*blargh) (int a, int b, int c))
{
return blargh (4, 7, 2) + 3;
}
@interface Foo: Object
+ (int)foo;
@end
@implementation Foo
+ (int)foo
{
int blargh (int a, int b, int c)
{
return a * b + c;
}
return bappy (blargh);
}
@end
int main ()
{
int f = [Foo foo];
if (f != 33)
abort ();
return 0;
}