C++ 20 all the things (#39454)

Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/39454

1. Build with C++ 20 everywhere.
2. Update folly in OSS build to avoid a warning, and let us opt out of heavy bits required for supporting coroutines (we are still more than a year behind).
3. Update the folly podspec for the new version of folly
4. Update the many, many, copy/pasted header search paths for folly dependencies to be able to resolve fmt, now exposed to folly headers
4. Replaces a deprecated atomic usage with equivalent.
5. Fixes a deprecated implicit capturing `this` by value in lambda (same behavior, added a TODO because it seems sus)

Changelog: [Internal]

Reviewed By: sammy-SC

Differential Revision: D49271685

fbshipit-source-id: 16610f7bcd1032d5796cc11f1cfa92a33d8c2593
This commit is contained in:
Nick Gerleman
2023-09-15 01:17:55 -07:00
committed by Facebook GitHub Bot
parent e513a50fe1
commit 17154a661f
131 changed files with 449 additions and 393 deletions
@@ -22,7 +22,7 @@ Pod::Spec.new do |s|
s.requires_arc = true
s.pod_target_xcconfig = {
"USE_HEADERMAP" => "YES",
"CLANG_CXX_LANGUAGE_STANDARD" => "c++17"
"CLANG_CXX_LANGUAGE_STANDARD" => "c++20"
}
install_modules_dependencies(s)