> cat /tmp/1.c
#include <stdbool.h>
void foo() {
bool y = true;
void (*x)() = y;
}
> gcc -c -Wall -Wextra /tmp/1.c
/tmp/1.c: In function ‘foo’:
/tmp/1.c:4:16: error: incompatible types when initializing type ‘void (*)()’ using type ‘_Bool’
void (*x)() = y;
^
...
> clang -c -Wall -Wextra /tmp/1.c
/tmp/1.c:4:9: warning: incompatible integer to pointer conversion initializing
'void (*)()' with an expression of type 'bool' [-Wint-conversion]
void (*x)() = y;
^ ~