KhronosGroup / KhronosGroup/OpenCL-Docs

Can generic address space become a named address space too?

Open
#501 2 comments 0 reactions 0 assignees View on GitHub
OpenCL C Spec
Dominant language
Python
Stars
420
Forks
131
Avg merge
5d 13h
Merged PRs (30d)
11

Description

The definition of unnamed/generic address space in OpenCL C doesn't conform to Embedded C section 5.1.3 that defines unnamed address space as default address space i.e. C compiler would default to unnamed everywhere the address space is not specified. OpenCL C compiler will use `private`, `local`, `global`, `constant` or `generic` if not specified depending on the scope and variable type.

Spec reserved the use of `generic`/`__generic` as identifiers and they were used by Clang to simplify the implementation and make it explicit that the generic address space in OpenCL C and generic address space in Embedded C are not the same.

Therefore, it is suggested to make generic address space a named address space too. The main benefit to do this is to align better with Embedded C terminology and tooling too.

Contributor guide

Open the contributing guide

Research direction

No files, tests, or entry points are named in the issue. Start by reviewing the OpenCL C address-space definitions and the Embedded C terminology cited in the report, then identify the specification sections and tooling implications affected by making generic a named address space. Done means the terminology and behavior are consistently defined and the relevant specification coverage is updated.

Written by the indexing model from the issue text.

Assessment

Tech stack
c
Domain
compilers
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.