The stat(2) manpage implies that S_ISLNK is a POSIX macro.
In fact, it seems to be a GNU extension.
(and likewise S_ISSOCK)
This caused me to develop code on a RedHat machine, which
then turned out not to port cleanly to other systems.
Fixed in man-pages-1.31-4, which should make it to Rawhide some day. Thanks for
the report, I'll upstream the patch.