Apple Clang changes the -fno-common to be default. It can also compile by adding -fcommon to the CFLAGS but I suspect this patch (with the exception of adding __APPLE__ to the (defined (__riscos__) || defined (__APPLE__))) would be needed for things to work properly on __riscos__ also.
-fcommon, -fno-common This flag specifies that variables without initializers get common linkage. It can be disabled with -fno-common.