URL
https://opencores.org/ocsvn/openrisc/openrisc/trunk
Subversion Repositories openrisc
[/] [openrisc/] [trunk/] [gnu-old/] [gcc-4.2.2/] [gcc/] [testsuite/] [objc.dg/] [func-ptr-2.m] - Rev 816
Compare with Previous | Blame | View Log
/* Check if method parameters that are functions are gracefully decayed into pointers. */ /* Contributed by Ziemowit Laski <zlaski@apple.com> */ /* { dg-do run } */ #include <objc/Object.h> #include <stdlib.h> @interface Func: Object + (int) processNumber:(int)a and:(int)b usingFunction:(int(int,int))func; @end @implementation Func + (int) processNumber:(int)a and:(int)b usingFunction:(int(int,int))func { return func (a, b); } @end static int my_computation(int a, int b) { return a * 2 + b * 3; } static int processNumber(int a, int b, int func(int, int)) { return func(a, b); } int main(void) { int result = processNumber (6, 8, my_computation); if (result != 36) abort (); result = [Func processNumber:8 and:6 usingFunction:my_computation]; if (result != 34) abort (); return 0; }