-
Notifications
You must be signed in to change notification settings - Fork 11
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
fix C++20 compliance with application of upstream PR 965 #15
Conversation
These symbols are no longer valid on macOS and will fail builds if the `NDEBUG` symbol is defined, as it is now in default build settings for all react-native projects since release of react-native 0.76 This same change was applied upstream but never released, and it appears it has not been applied here google#965 (comment)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM. This seems like a safe change regardless of what C++ Language Dialect is used for Firestore (based on manual testing and looking at the header in libc++).
- If compiling for C++17, or older, then
std::memory_order_relaxed
refers tomemory_order_relaxed
in thememory_order
enum. - If compiling for C++20, or newer, then
std::memory_order_relaxed
refers torelaxed
in the newmemory_order
enum class; this is implemented with amemory_order_relaxed
constexpr:inline constexpr auto memory_order_relaxed = memory_order::relaxed;
- I'm guessing they did this for backwards compatibility.
Also, thanks @mikehardy!
Thanks @mikehardy! We're going to test overnight and if all goes well, we'll publish 1.22.6 tomorrow. |
I'm experiencing the same problem with a Flutter build. Shall I report this problem somewhere? If yes, where's the best place to do it? Thanks!
|
@AngeloAvv I believe this will resolve for you with these sets of steps and no further issues created: |
🎉 Congrats 🚀 leveldb-library (1.22.6) successfully published
|
Confirmed a fresh pod install (that is, after removing any existing Podfile.lock) installs the latest version:
...and it builds perfectly for me out of the box, thanks! |
@AngeloAvv I will guess you are now using cocoapods 1.16.0 and/or xcodeproj 1.26.0, newly released. |
Hopefully everyone has moved to the latest release on this one - I had very-temporarily directed people to the commit on my branch as a workaround but I do not want anything like that to be long-lived so with apologies to anyone affected, I am deleting my branch now Everyone should be relying on the official release now |
These symbols are no longer valid on macOS and will fail builds if the
NDEBUG
symbol is !defined, as it is now in default build settings for all react-native projects since release of react-native 0.76This same change was applied upstream but never released, and it appears it has not been applied here
google#965 (comment)
See: invertase/react-native-firebase#8082 (comment)
It would be fantastic to get a leveldb release with this fix, that firebase-ios-sdk adopted, so react-native-firebase was compatible with firebase-ios-sdk out of the box again with react-native 0.76
Thanks!