Use __FUNCTION__ (c99) replacing __func__ (c90)
Add some GCC5 warning flags