
Issue #20156 has been updated by nobu (Nobuyoshi Nakada). kddnewton (Kevin Newton) wrote:
Now that we require Visual Studio 2015 and Oracle Developer Studio 12.5, we can do a couple of things to clean up:
* We should be able to remove our custom `stdbool.h` (added in VS2015 and Oracle SS 12.3)
b75828fdfadaff6c5e09e42be32dff1216ed8fb1 says:
Fix compile error with Oracle Solaris Studio 12.4 on Solaris 10.
No problem with Oracle SS 12.5?
* Remove our usage of `__restrict` for Windows (added in VS2015)
`_MSC_VER` 1800 seems VS2013, so we might have been able to drop this condition already. ```C !if $(MSC_VER) >= 1800 #define restrict __restrict !else #define restrict /* not supported */ !endif ```
* Remove our custom `va_copy` (added in VS2015)
This is removed already?
Just notating, a couple of things that we _can_ use now:
* snprintf
We use our custom `snprintf` not only for old platforms, but also to avoid locales. ---------------------------------------- Misc #20156: C99 updates https://bugs.ruby-lang.org/issues/20156#change-106050 * Author: kddnewton (Kevin Newton) * Status: Open * Priority: Normal ---------------------------------------- Now that we require Visual Studio 2015 and Oracle Developer Studio 12.5, we can do a couple of things to clean up: * We should be able to remove our custom `stdbool.h` (added in VS2015 and Oracle SS 12.3) * Remove our usage of `__restrict` for Windows (added in VS2015) * Remove our custom `va_copy` (added in VS2015) Just notating, a couple of things that we _can_ use now: * snprintf * size_t printf format specifier (%z) I'm happy to do this work, but I wanted to open this ticket in case there is something besides Visual Studio or Oracle Solaris Studio that I would have missed for one of our compilation targets. Are there any other targets that do not fully implement C99? -- https://bugs.ruby-lang.org/