There is an example on cdecl that goes (double (^)(int))foofoo means cast foofoo into block (int) returning double.
(double (^)(int))foofoo
What does
It's a GCC extension made by Apple, and implemented also in Clang. Blocks are small unnamed functions and that syntax is the type of a block. See Block Language Spec.