-
Notifications
You must be signed in to change notification settings - Fork 1.4k
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
<bit> and <concepts> #1497
<bit> and <concepts> #1497
Conversation
This pull request was exported from Phabricator. Differential Revision: D51604487 |
08bc5d0
to
850573e
Compare
Summary: X-link: facebook/react-native#41822 The lowest common denominator build encountered for Yoga internally has been Clang 12 + MSVC 2017 stdlib. This has allowed Yoga to use C++ 20 language features, but not library features. React Native for mobile has not been bound to this restriction. Builds using that toolchain are being updated to latest MSVC 2019 stdlib (which has good C++ 20 library support), along with Clang 17 (or maybe a stop at 15) pending projects using `-fcoroutines-ts` being migrated to C++ 20. This tests out some C++ 20 standard library usages against the current Clang 12 + MSVC 2019 stdlib toolchain, and adds a couple concepts for better constraints/compiler error messages if misused. Yoga OSS CI tests as far back as Clang/libc++ 14 along with a similar era GCC/libstdc++ as part of tests against Ubuntu 22.04 LTS stock toolchain. Once this internal toolchain is updated, that will be the least common denominator (compared to mobile builds or any internal builds). Changelog: [Internal] Differential Revision: D51604487
Summary: X-link: facebook/yoga#1497 The lowest common denominator build encountered for Yoga internally has been Clang 12 + MSVC 2017 stdlib. This has allowed Yoga to use C++ 20 language features, but not library features. React Native for mobile has not been bound to this restriction. Builds using that toolchain are being updated to latest MSVC 2019 stdlib (which has good C++ 20 library support), along with Clang 17 (or maybe a stop at 15) pending projects using `-fcoroutines-ts` being migrated to C++ 20. This tests out some C++ 20 standard library usages against the current Clang 12 + MSVC 2019 stdlib toolchain, and adds a couple concepts for better constraints/compiler error messages if misused. Yoga OSS CI tests as far back as Clang/libc++ 14 along with a similar era GCC/libstdc++ as part of tests against Ubuntu 22.04 LTS stock toolchain. Once this internal toolchain is updated, that will be the least common denominator (compared to mobile builds or any internal builds). Changelog: [Internal] Differential Revision: D51604487
This pull request was exported from Phabricator. Differential Revision: D51604487 |
850573e
to
9c2c7fc
Compare
This pull request was exported from Phabricator. Differential Revision: D51604487 |
Summary: The lowest common denominator build encountered for Yoga internally has been Clang 12 + MSVC 2017 stdlib. This has allowed Yoga to use C++ 20 language features, but not library features. React Native for mobile has not been bound to this restriction. Builds using that toolchain are being updated to latest MSVC 2019 stdlib (which has good C++ 20 library support), along with Clang 17 (or maybe a stop at 15) pending projects using `-fcoroutines-ts` being migrated to C++ 20. This tests out some C++ 20 standard library usages against the current Clang 12 + MSVC 2019 stdlib toolchain that didn't work before, and adds a couple concepts for better constraints/compiler error messages if misused. Yoga OSS CI tests as far back as Clang/libc++ 14 along with a similar era GCC/libstdc++ as part of tests against Ubuntu 22.04 LTS stock toolchain. Once this internal toolchain is updated, that will be the least common denominator (compared to mobile builds or any internal builds). Changelog: [Internal] Differential Revision: D51604487
9c2c7fc
to
699d063
Compare
This pull request was exported from Phabricator. Differential Revision: D51604487 |
699d063
to
7a95b19
Compare
Summary: The lowest common denominator build encountered for Yoga internally has been Clang 12 + MSVC 2017 stdlib. This has allowed Yoga to use C++ 20 language features, but not library features. React Native for mobile has not been bound to this restriction. Builds using that toolchain are being updated to latest MSVC 2019 stdlib (which has good C++ 20 library support), along with Clang 17 (or maybe a stop at 15) pending projects using `-fcoroutines-ts` being migrated to C++ 20. This tests out some C++ 20 standard library usages against the current Clang 12 + MSVC 2019 stdlib toolchain that didn't work before, and adds a couple concepts for better constraints/compiler error messages if misused. Yoga OSS CI tests as far back as Clang/libc++ 14 along with a similar era GCC/libstdc++ as part of tests against Ubuntu 22.04 LTS stock toolchain. Once this internal toolchain is updated, that will be the least common denominator (compared to mobile builds or any internal builds). Changelog: [Internal] Differential Revision: D51604487
This pull request was exported from Phabricator. Differential Revision: D51604487 |
7a95b19
to
a6259d9
Compare
Summary: The lowest common denominator we have had for Yoga has been Clang 12 + MSVC 2017 stdlib. This has allowed Yoga to use C++ 20 language features, but not library features. React Native for mobile has not been bound to this restriction. Builds using that toolchain are being updated to latest MSVC 2019 stdlib (which has good C++ 20 library support), along with Clang 17 (or maybe a stop at 15) pending projects using `-fcoroutines-ts` being migrated to C++ 20. This tests out some C++ 20 standard library usages against the current Clang 12 + MSVC 2019 stdlib toolchain that didn't work before, and adds a couple concepts for better constraints/compiler error messages if misused. This bumps min-tested XCode (and minimum required) version to 14.3, matching a similar change for React Native. This should probably be bumped to 15 sometime before Apple starts requiring 15+ to go out to the iOS app store. We are approaching a practical support range of: 1. XCode >= 14.3 2. NDK >= 26 3. Clang/libc++ >= 14 4. GCC/libstdc++ >= 11 5. MSVC >= 16.11 (VS 2019) Changelog: [Internal] Differential Revision: D51604487
This pull request was exported from Phabricator. Differential Revision: D51604487 |
a6259d9
to
212474b
Compare
Summary: The lowest common denominator we have had for Yoga has been Clang 12 + MSVC 2017 stdlib. This has allowed Yoga to use C++ 20 language features, but not library features. React Native for mobile has not been bound to this restriction. Builds using that toolchain are being updated to latest MSVC 2019 stdlib (which has good C++ 20 library support), along with Clang 17 (or maybe a stop at 15) pending projects using `-fcoroutines-ts` being migrated to C++ 20. This tests out some C++ 20 standard library usages against the current Clang 12 + MSVC 2019 stdlib toolchain that didn't work before, and adds a couple concepts for better constraints/compiler error messages if misused. This bumps min-tested XCode (and minimum required) version to 14.3, matching a similar change for React Native. This should probably be bumped to 15 sometime before Apple starts requiring 15+ to go out to the iOS app store. We are approaching a practical support range of: 1. XCode >= 14.3 2. NDK >= 26 3. Clang/libc++ >= 14 4. GCC/libstdc++ >= 11 5. MSVC >= 16.11 (VS 2019) Changelog: [Internal] Differential Revision: D51604487
This pull request was exported from Phabricator. Differential Revision: D51604487 |
1 similar comment
This pull request was exported from Phabricator. Differential Revision: D51604487 |
212474b
to
358c167
Compare
Summary: The lowest common denominator we have had for Yoga has been Clang 12 + MSVC 2017 stdlib. This has allowed Yoga to use C++ 20 language features, but not library features. React Native for mobile has not been bound to this restriction. Builds using that toolchain are being updated to latest MSVC 2019 stdlib (which has good C++ 20 library support), along with Clang 17 (or maybe a stop at 15) pending projects using `-fcoroutines-ts` being migrated to C++ 20. This tests out some C++ 20 standard library usages against the current Clang 12 + MSVC 2019 stdlib toolchain that didn't work before, and adds a couple concepts for better constraints/compiler error messages if misused. This bumps min-tested XCode (and minimum required) version to 14.3, matching a similar change for React Native. This should probably be bumped to 15 sometime before Apple starts requiring 15+ to go out to the iOS app store. We are approaching a practical support range of: 1. XCode >= 14.3 2. NDK >= 26 3. Clang/libc++ >= 14 4. GCC/libstdc++ >= 11 5. MSVC >= 16.11 (VS 2019) Changelog: [Internal] Reviewed By: cortinico Differential Revision: D51604487
This pull request was exported from Phabricator. Differential Revision: D51604487 |
Summary: The lowest common denominator we have had for Yoga has been Clang 12 + MSVC 2017 stdlib. This has allowed Yoga to use C++ 20 language features, but not library features. React Native for mobile has not been bound to this restriction. Builds using that toolchain are being updated to latest MSVC 2019 stdlib (which has good C++ 20 library support), along with Clang 17 (or maybe a stop at 15) pending projects using `-fcoroutines-ts` being migrated to C++ 20. This tests out some C++ 20 standard library usages against the current Clang 12 + MSVC 2019 stdlib toolchain that didn't work before, and adds a couple concepts for better constraints/compiler error messages if misused. This bumps min-tested XCode (and minimum required) version to 14.3, matching a similar change for React Native. This should probably be bumped to 15 sometime before Apple starts requiring 15+ to go out to the iOS app store. We are approaching a practical support range of: 1. XCode >= 14.3 2. NDK >= 26 3. Clang/libc++ >= 14 4. GCC/libstdc++ >= 11 5. MSVC >= 16.11 (VS 2019) Changelog: [Internal] Reviewed By: cortinico Differential Revision: D51604487
358c167
to
b30d1bc
Compare
This pull request was exported from Phabricator. Differential Revision: D51604487 |
Summary: The lowest common denominator we have had for Yoga has been Clang 12 + MSVC 2017 stdlib. This has allowed Yoga to use C++ 20 language features, but not library features. React Native for mobile has not been bound to this restriction. Builds using that toolchain are being updated to latest MSVC 2019 stdlib (which has good C++ 20 library support), along with Clang 17 (or maybe a stop at 15) pending projects using `-fcoroutines-ts` being migrated to C++ 20. This tests out some C++ 20 standard library usages against the current Clang 12 + MSVC 2019 stdlib toolchain that didn't work before, and adds a couple concepts for better constraints/compiler error messages if misused. This bumps min-tested XCode (and minimum required) version to 14.3, matching a similar change for React Native. This should probably be bumped to 15 sometime before Apple starts requiring 15+ to go out to the iOS app store. We are approaching a practical support range of: 1. XCode >= 14.3 2. NDK >= 26 3. Clang/libc++ >= 14 4. GCC/libstdc++ >= 11 5. MSVC >= 16.11 (VS 2019) Changelog: [Internal] Reviewed By: cortinico Differential Revision: D51604487
b30d1bc
to
3ba9d1a
Compare
This pull request was exported from Phabricator. Differential Revision: D51604487 |
This pull request has been merged in a437542. |
Summary: X-link: facebook/yoga#1497 The lowest common denominator we have had for Yoga has been Clang 12 + MSVC 2017 stdlib. This has allowed Yoga to use C++ 20 language features, but not library features. React Native for mobile has not been bound to this restriction. Builds using that toolchain are being updated to latest MSVC 2019 stdlib (which has good C++ 20 library support), along with Clang 17 (or maybe a stop at 15) pending projects using `-fcoroutines-ts` being migrated to C++ 20. This tests out some C++ 20 standard library usages against the current Clang 12 + MSVC 2019 stdlib toolchain that didn't work before, and adds a couple concepts for better constraints/compiler error messages if misused. This bumps min-tested XCode (and minimum required) version to 14.3, matching a similar change for React Native. This should probably be bumped to 15 sometime before Apple starts requiring 15+ to go out to the iOS app store. We are approaching a practical support range of: 1. XCode >= 14.3 2. NDK >= 26 3. Clang/libc++ >= 14 4. GCC/libstdc++ >= 11 5. MSVC >= 16.11 (VS 2019) Changelog: [Internal] Reviewed By: cortinico Differential Revision: D51604487 fbshipit-source-id: d394d0d86672b69781b8ae071d87adcf944ddc72
Summary: X-link: facebook/yoga#1497 The lowest common denominator we have had for Yoga has been Clang 12 + MSVC 2017 stdlib. This has allowed Yoga to use C++ 20 language features, but not library features. React Native for mobile has not been bound to this restriction. Builds using that toolchain are being updated to latest MSVC 2019 stdlib (which has good C++ 20 library support), along with Clang 17 (or maybe a stop at 15) pending projects using `-fcoroutines-ts` being migrated to C++ 20. This tests out some C++ 20 standard library usages against the current Clang 12 + MSVC 2019 stdlib toolchain that didn't work before, and adds a couple concepts for better constraints/compiler error messages if misused. This bumps min-tested XCode (and minimum required) version to 14.3, matching a similar change for React Native. This should probably be bumped to 15 sometime before Apple starts requiring 15+ to go out to the iOS app store. We are approaching a practical support range of: 1. XCode >= 14.3 2. NDK >= 26 3. Clang/libc++ >= 14 4. GCC/libstdc++ >= 11 5. MSVC >= 16.11 (VS 2019) Changelog: [Internal] Reviewed By: cortinico Differential Revision: D51604487 fbshipit-source-id: d394d0d86672b69781b8ae071d87adcf944ddc72
Summary: X-link: facebook/yoga#1497 The lowest common denominator we have had for Yoga has been Clang 12 + MSVC 2017 stdlib. This has allowed Yoga to use C++ 20 language features, but not library features. React Native for mobile has not been bound to this restriction. Builds using that toolchain are being updated to latest MSVC 2019 stdlib (which has good C++ 20 library support), along with Clang 17 (or maybe a stop at 15) pending projects using `-fcoroutines-ts` being migrated to C++ 20. This tests out some C++ 20 standard library usages against the current Clang 12 + MSVC 2019 stdlib toolchain that didn't work before, and adds a couple concepts for better constraints/compiler error messages if misused. This bumps min-tested XCode (and minimum required) version to 14.3, matching a similar change for React Native. This should probably be bumped to 15 sometime before Apple starts requiring 15+ to go out to the iOS app store. We are approaching a practical support range of: 1. XCode >= 14.3 2. NDK >= 26 3. Clang/libc++ >= 14 4. GCC/libstdc++ >= 11 5. MSVC >= 16.11 (VS 2019) Changelog: [Internal] Reviewed By: cortinico Differential Revision: D51604487 fbshipit-source-id: d394d0d86672b69781b8ae071d87adcf944ddc72
Summary:
The lowest common denominator build encountered for Yoga internally has been Clang 12 + MSVC 2017 stdlib. This has allowed Yoga to use C++ 20 language features, but not library features. React Native for mobile has not been bound to this restriction.
Builds using that toolchain are being updated to latest MSVC 2019 stdlib (which has good C++ 20 library support), along with Clang 17 (or maybe a stop at 15) pending projects using
-fcoroutines-ts
being migrated to C++ 20.This tests out some C++ 20 standard library usages against the current Clang 12 + MSVC 2019 stdlib toolchain, and adds a couple concepts for better constraints/compiler error messages if misused.
Yoga OSS CI tests as far back as Clang/libc++ 14 along with a similar era GCC/libstdc++ as part of tests against Ubuntu 22.04 LTS stock toolchain. Once this internal toolchain is updated, that will be the least common denominator (compared to mobile builds or any internal builds).
Changelog: [Internal]
Differential Revision: D51604487