KhronosGroup / KhronosGroup/libclcxx

Failing OpenCL vector traits due to address spaces

Open
#58 0 comments 0 reactions 0 assignees View on GitHub
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.