// It should be safe to include `<version>` when it is present without checking
// the actual C++ language version as it consists solely of macro definitions.
// [version.syn] p1: The header <version> supplies implementation-dependent
// information about the C++ standard library (e.g., version number and release date).
# include <version>
The issue is that many projects have a file “VERSION” in their top level src directory. On a traditional Linux system the case sensitivity would make sure the right file is included. However, many/most OS X file systems are case insensitive. As such, the file VERSION gets included instead. And does not compile.
I have no solution to the issue but wanted to raise it.