I think it is not "compulsive" but broken to omit signal numbers under _POSIX_SOURCE. A POSIX.1-compliant program must define _POSIX_SOURCE, and a well-written one would handle common non-POSIX signals by checking for them with #ifdef.