Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
https://bugs.ruby-lang.org/issues/15347
To be discussed at DevelopersMeeting 20190110 Japan. We already started to use some C99 features since r66597, and enabled C99 in configure level since r66598 and r66605. This patch just changes C90 build check on Travis to C99.
Here is the draft of our C99 dialect documentation to be posted:Moved to https://bugs.ruby-lang.org/projects/ruby-trunk/wiki/C99.
C99 usage guideline
From Ruby 2.7, we require C compiler to support C99 features that work on environments supported by platforms maintainers.
General rule
Known supported features
Here is a list of features that are known to work on both Visual Studio 2013 and Oracle Developer Studio 12.5, confirmed by this c99.c.
This is just for a quick reference to bypass testing on CI, and you do NOT need to update this list to use your favorite C99 feature as long as it works on Travis/AppVeyor/RubyCI.
See also:
Discussions
restrict
keyword does not exist on Visual Studio 2013, but__restrict
exists and is used instead.va_copy
definition like r62220 was problematic for cross compiling and removed in r62463.va_copy
with Ruby 2.7's Visual Studio 2013 requirement.Known missing features
_Complex