/* APPLE LOCAL file radar 5809099 */
/* compile-only test to test that we can cast back and forth a block pointer
   type to an 'id' type and sending a message to an object of block pointer type.
*/
/* { dg-do compile } */
/* { dg-options "-mmacosx-version-min=10.5 -ObjC++" { target *-*-darwin* } } */
#import <Foundation/Foundation.h>

void bar() { }

void foo() {
   id object = [[NSObject new] init];
   void (^x)(void) = ^{ bar(); };
   void *y = (void *)x;
   x = (void (^)(void))y;
   /* Test for type-cast of an 'id' type to a block pointer. */
   x = (void (^)(void))[object result];

   /* Test for cat of a block pointer to an 'id'. */
   object = (id)x;

  /* Test for sending a message to a block pointer. */
  [x result];
}
