Help gcc cast from function pointers