Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Unify stringification macros #4405

Merged
merged 3 commits into from
Feb 27, 2024
Merged

Conversation

fsb4000
Copy link
Contributor

@fsb4000 fsb4000 commented Feb 18, 2024

Fixes #4314

@fsb4000 fsb4000 requested a review from a team as a code owner February 18, 2024 08:15
@github-actions github-actions bot added this to Initial Review in Code Reviews Feb 18, 2024
@StephanTLavavej StephanTLavavej added the enhancement Something can be improved label Feb 18, 2024
@StephanTLavavej StephanTLavavej self-assigned this Feb 18, 2024
@StephanTLavavej StephanTLavavej removed their assignment Feb 19, 2024
@StephanTLavavej StephanTLavavej moved this from Initial Review to Ready To Merge in Code Reviews Feb 19, 2024
@StephanTLavavej StephanTLavavej self-assigned this Feb 23, 2024
@StephanTLavavej
Copy link
Member

I'm mirroring this to the MSVC-internal repo - please notify me if any further changes are pushed.

@StephanTLavavej StephanTLavavej merged commit 9c63696 into microsoft:main Feb 27, 2024
35 checks passed
Code Reviews automation moved this from Ready To Merge to Done Feb 27, 2024
@StephanTLavavej
Copy link
Member

🧵 ➕ 🧶

@fsb4000 fsb4000 deleted the fix4314 branch February 27, 2024 14:30
vicroms pushed a commit to microsoft/vcpkg that referenced this pull request Mar 8, 2024
Microsoft's C++ standard library recently merged microsoft/STL#4405 to
remove the internal `_STRINGIZE` macro. `chakracore` was using this MSVC
internal macro, so `avoid_msvc_internal_STRINGIZE.patch` was added to
adapt it to the microsoft/STL changes. Reference:
chakra-core/ChakraCore#6970.

- [x] Changes comply with the [maintainer
guide](https://github.com/microsoft/vcpkg-docs/blob/main/vcpkg/contributing/maintainer-guide.md).
- [ ] ~SHA512s are updated for each updated download.~
- [ ] ~The "supports" clause reflects platforms that may be fixed by
this new version.~
- [ ] ~Any fixed [CI
baseline](https://github.com/microsoft/vcpkg/blob/master/scripts/ci.baseline.txt)
entries are removed from that file.~
- [ ] ~Any patches that are no longer applied are deleted from the
port's directory.~
- [x] The version database is fixed by rerunning `./vcpkg x-add-version
--all` and committing the result.
- [x] Only one version is added to each modified port's versions file.

---------

Co-authored-by: Monica <[email protected]>
bhmohanr-techie added a commit to bhmohanr-techie/ChakraCore that referenced this pull request Jul 2, 2024
Avoid using MSVC-internal _STRINGIZE chakra-core#6970

Below is the comment from
Stephan T. Lavavej in the above mentioned pull request:

"I work on Microsoft's C++ Standard Library implementation, where we recently merged microsoft/STL#4405 to remove our internal _STRINGIZE macro. Our "Real World Code" test suite, which builds popular open-source projects like yours, found that you were using this MSVC-internal macro and therefore our change broke your code.

The C++ Standard's rule is that _Leading_underscore_capital identifiers (including _LEADING_UNDERSCORE_ALL_CAPS) are reserved for the compiler and Standard Library, so other libraries and applications should avoid using such reserved identifiers. This is N4971 5.10 [lex.name]/3:

In addition, some identifiers appearing as a token or preprocessing-token are reserved for use by C++ implementations and shall not be used otherwise; no diagnostic is required.
— Each identifier that contains a double underscore __ or begins with an underscore followed by an uppercase letter is reserved to the implementation for any use.

This PR introduces non-reserved names that will work on all platforms."
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement Something can be improved
Projects
Archived in project
Development

Successfully merging this pull request may close these issues.

<yvals_core.h>: Unify stringification macros
3 participants