> I've been meaning to write a tremendous header for compiler & compiler version identification.
I doubt whether a "OS zoo" would be of great help for this - many old OSes can run a modern gcc; it is the system calls and terminal/pty/streams behaviours that can be very different (QNX is a great example of this)
Moreover (cf. the great musl preprocessor debate (https://news.ycombinator.com/item?id=31067059) - for me as a "portable programmer" this kind of macro is rather less useful (though sometimes useful as a quick fix) than testing for individual features, as that will make the program compile and work on future, or unknown ancient architectures/compilers (at least in theory....)
> I've been meaning to write a tremendous header for compiler & compiler version identification.
I doubt whether a "OS zoo" would be of great help for this - many old OSes can run a modern gcc; it is the system calls and terminal/pty/streams behaviours that can be very different (QNX is a great example of this)
Moreover (cf. the great musl preprocessor debate (https://news.ycombinator.com/item?id=31067059) - for me as a "portable programmer" this kind of macro is rather less useful (though sometimes useful as a quick fix) than testing for individual features, as that will make the program compile and work on future, or unknown ancient architectures/compilers (at least in theory....)