Skip to content

Conversation

dbort
Copy link
Contributor

@dbort dbort commented Aug 25, 2023

Summary:
Tweak the portable kernels to build cleanly with C++11 as well as with more recent versions. This only covers non-test, non-aten targets under //executorch/kernels/portable/cpu/....

A lot of the template changes deal with the lack of _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.

Differential Revision: D48668113

@facebook-github-bot facebook-github-bot added CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed. fb-exported labels Aug 25, 2023
@facebook-github-bot
Copy link
Contributor

This pull request was exported from Phabricator. Differential Revision: D48668113

5 similar comments
@facebook-github-bot
Copy link
Contributor

This pull request was exported from Phabricator. Differential Revision: D48668113

@facebook-github-bot
Copy link
Contributor

This pull request was exported from Phabricator. Differential Revision: D48668113

@facebook-github-bot
Copy link
Contributor

This pull request was exported from Phabricator. Differential Revision: D48668113

@facebook-github-bot
Copy link
Contributor

This pull request was exported from Phabricator. Differential Revision: D48668113

@facebook-github-bot
Copy link
Contributor

This pull request was exported from Phabricator. Differential Revision: D48668113

dbort and others added 2 commits August 28, 2023 11:19
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 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.

Differential Revision: https://internalfb.com/D48665438

fbshipit-source-id: c39180091153e1283ffd0dda729812e2080dcd48
Summary:
Pull Request resolved: #128

Tweak the portable kernels to build cleanly with C++11 as well as with more recent versions. This only covers non-test, non-aten targets under `//executorch/kernels/portable/cpu/...`.

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: digantdesai, kirklandsign

Differential Revision: D48668113

fbshipit-source-id: 056fe6706e55c3d52cc1cc67abf593f72c05a9b6
@facebook-github-bot
Copy link
Contributor

This pull request was exported from Phabricator. Differential Revision: D48668113

@facebook-github-bot
Copy link
Contributor

This pull request has been merged in 70a7973.

Gasoonjia pushed a commit that referenced this pull request Jul 30, 2024
* code beautification

* debug info

* debug

* add missing args

* typo

* fix dtype check
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed. fb-exported Merged
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants