I use minix 3.1.2a stable version.

When I am learning the signal system calls, I wrote a simple C program
int main(void)
struct sigaction a;
a.sa_handler = SIG_IGN;
sigaction(SIGQUIT, &a, NULL);
while (1);
return 0;

When I user ACK to compile it, I got errors, (no a.out is generated)
but gcc can do it OK (a.out can not be stopped by typing "Ctrl + \")

Then I find that reference struct sigaction need a macro _POSIX_SOURCE
be defined.
It means _POSIX_SOURCE is defined in GCC but not in ACK.

Then I go on tracking.
Final I find several lines in ansi.h

#ifdefined (_MINIX) || _POSIX_C_SOURCE > 0 || defined (_POSIX2_SOURCE)
#define _POSIX_SOURCE 1

Does that mean GCC has the above built-in macros but ACK not?
If so, why use ACK as default compiler not GCC?

If GCC generate larger code than ACK, why not try PCC?
NetBSD and OpenBSD now use PCC as its default compiler.