Finding non-cross-platform statements in a C program

I wrote something in C for linux which works fine. One day, I tried compiling it on macOS, and to my surprise, it compiled without any warnings, using both gcc and clang (compiler flags: -std=gnu99 -pedantic -Wall -Wshadow -Wpointer-arith -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes). Even compiling with options -std=gnu99 -Weverything in clang shows only a few struct…

Details