There seems to be issues with anonymous unions and also with casting function pointers to void* here are the flags I use CFLAGS:= -Wfatal-errors -pedantic -Wall -Wextra -Werror -std=c99 While this might seem over fussy, its saved me countless hours of debugging frustration!