[Folly] Disable non-underscore posix names on windows #6974
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.
Fix related issue #6670.
Background:
In previous windows sdk verison 10.0.17763.0, we used to do the equivalent of checking for STDC on a per-file basis with:
#define _CRT_INTERNAL_NONSTDC_NAMES
(
( defined _CRT_DECLARE_NONSTDC_NAMES && _CRT_DECLARE_NONSTDC_NAMES) ||
(!defined _CRT_DECLARE_NONSTDC_NAMES && !STDC )
)
Then in individual files, doing
#if _CRT_INTERNAL_NONSTDC_NAMES
// define mktemp, chmod, close, etc
#endif // _CRT_INTERNAL_NONSTDC_NAMES
However, that takes advantage of non-standard preprocessor behavior, in windows sdk 10.0.18362.0 we switched to this:
#if ( defined _CRT_DECLARE_NONSTDC_NAMES && _CRT_DECLARE_NONSTDC_NAMES) ||
(!defined _CRT_DECLARE_NONSTDC_NAMES && !STDC )
#define _CRT_INTERNAL_NONSTDC_NAMES 1
#else
#define _CRT_INTERNAL_NONSTDC_NAMES 0
#endif
So, we’re no longer evaluating STDC on a per-file basis, but on a whole project basis.