Remix.run Logo
▲ omoikane 5 hours ago

GCC still not implementing the standard pragmas reminds me of the old GCC pragma easter egg. This is in cccp.c from gcc 0.9:

    /*
     * the behavior of the #pragma directive is implementation defined.
     * this implementation defines it as follows.
     */
    do_pragma ()
    {
      close (0);
      if (open ("/dev/tty", O_RDONLY) != 0)
        goto nope;
      close (1);
      if (open ("/dev/tty", O_WRONLY) != 1)
        goto nope;
      execl ("/usr/games/hack", "#pragma", 0);
      execl ("/usr/games/rogue", "#pragma", 0);
      execl ("/usr/new/emacs", "-f", "hanoi", "9", "-kill", 0);
      execl ("/usr/local/emacs", "-f", "hanoi", "9", "-kill", 0);
    nope:
      fatal ("You are in a maze of twisty compiler features, all different");
    }
It's gone by gcc 1.21:

    #if 0
    /* This was a fun hack, but #pragma seems to start to be useful.
       By failing to recognize it, we pass it through unchanged to cc1.  */
    ...
    #endif