https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83117
--- Comment #2 from Uroš Bizjak <ubizjak at gmail dot com> --- Recently, compiler started to warn for: --cut here-- extern long do_test_aligned (); static long (*const do_test_v1) (long a, ...) = (void *) do_test_aligned; extern void check_results (long); int test (long a) { long ret; ret = do_test_v1 (a); check_results (ret); } --cut here-- gcc -O2: fcast.c: In function ‘test’: fcast.c:11:9: warning: function called through a non-compatible type ret = do_test_v1 (a);