KhronosGroup / KhronosGroup/libclcxx
Failing OpenCL vector traits due to address spaces
- Dominant language
- C++
- Stars
- 126
- Forks
- 34
- PR merge metrics
- No merged PRs in 30d
Description
many vector traits seem to have issues is used with address spaces deduced.
Here is an example:
```
int4 v;
static_assert(std::vector_size::value==4); // This fails because v is '__provate int4' and not 'int4'
```
To make them work we need to add `remove_address_space` trait everywhere. Could we reduce such verbosity by providing extra specializations of such traits? We can probably do it universally for all qualifiers and add a description as a rule:
`any top level qualifier provided with type T is ignored/stripped out before ...`
Contributor guide
Research direction
Start by locating the vector trait implementations and the existing remove_address_space trait. Use the int4 example to check how deduced address spaces affect std::vector_size and related traits. Done means the relevant traits handle top-level address-space qualifiers consistently, with the rule documented as requested.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- compilers
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 30/100