-
Notifications
You must be signed in to change notification settings - Fork 684
Make the core runtime C++11/14/17/20 compatible #127
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
Conversation
This pull request was exported from Phabricator. Differential Revision: D48665438 |
This pull request was exported from Phabricator. Differential Revision: D48665438 |
7 similar comments
This pull request was exported from Phabricator. Differential Revision: D48665438 |
This pull request was exported from Phabricator. Differential Revision: D48665438 |
This pull request was exported from Phabricator. Differential Revision: D48665438 |
This pull request was exported from Phabricator. Differential Revision: D48665438 |
This pull request was exported from Phabricator. Differential Revision: D48665438 |
This pull request was exported from Phabricator. Differential Revision: D48665438 |
This pull request was exported from Phabricator. Differential Revision: D48665438 |
Summary: Pull Request resolved: #127 Tweak the core runtime code to build cleanly with C++11 as well as with more recent versions. This only covers non-test targets under //executorch/runtime, enough to build `:size_test`. While doing this I removed a bunch of `constexpr` from methods on `ArrayRef` and `string_view`, because C++11 was more strict about what's allowed in them. While they're useful on general-purpose implementations of those types, we never do static comparison of array or string instances, so it doesn't help us. Not worth the complexity of adding `#ifdef`s to change the behavior depending on the C++ version. A lot of the template changes deal with the lack of `<base>_t` templates in C++11. Most of them are of the form ``` template<class T> using BASE_t = typename BASE<T>::type; ``` so the fix was to inline that pattern: add `typename` to the front and `::type` to the end. Reviewed By: larryliu0820 Differential Revision: D48665438 fbshipit-source-id: fa460288ebd7cebee64cdea6cc216f121df7f2cc
This pull request was exported from Phabricator. Differential Revision: D48665438 |
This pull request has been merged in 3662478. |
* add torchat.py and --tiktoken option * add default device to torchat * dtype handling for export_et * handle dtype args
Summary:
Tweak the core runtime code to build cleanly with C++11 as well as with more recent versions.
This only covers non-test targets under //executorch/runtime, enough to build
:size_test
.While doing this I removed a bunch of
constexpr
from methods onArrayRef
andstring_view
, because C++11 was more strict about what's allowed in them. While they're useful on general-purpose implementations of those types, we never do static comparison of array or string instances, so it doesn't help us. Not worth the complexity of adding#ifdef
s to change the behavior depending on the C++ version.A lot of the template changes deal with the lack of
<base>_t
templates in C++11. Most of them are of the formso the fix was to inline that pattern: add
typename
to the front and::type
to the end.Reviewed By: larryliu0820
Differential Revision: D48665438