You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Make the core runtime C++11/14/17/20 compatible (#127)
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: 85045b86eeaecf15c36b6bfce2497af3a84bdf50
0 commit comments