Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Change the base C++ version #680

Merged
merged 2 commits into from
Jan 16, 2025
Merged

Conversation

gmlueck
Copy link
Contributor

@gmlueck gmlueck commented Dec 11, 2024

Change wording to allow the core C++ language to be any version C++17 or later.

Move sections about normative references and non-normative wording to the introduction, so they are earlier in the document.

My longer term goal is to remove "chapter/references.adoc" and add any references we require to the "Normative references" section. Some more work needs to be done for this to happen:

  • Decide if we need to list the C++ defect reports as normative references. Currently, the "references" appendix lists only DR2325. Is there a reason to list this one and not others?

  • Decide if OpenCL should be a normative reference. If so, which version(s)?

Change wording to allow the core C++ language to be any version C++17 or
later.

Move sections about normative references and non-normative wording to
the introduction, so they are earlier in the document.

My longer term goal is to remove "chapter/references.adoc" and add any
references we require to the "Normative references" section.  Some more
work needs to be done for this to happen:

* Decide if we need to list the C++ defect reports as normative
  references.  Currently, the "references" appendix lists only DR2325.
  Is there a reason to list this one and not others?

* Decide if OpenCL should be a normative reference.  If so, which
  version(s)?
Copy link
Member

@keryell keryell left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks!

@etomzak
Copy link
Contributor

etomzak commented Jan 10, 2025

How much confidence is there that rebasing SYCL onto newer C++ standards doesn't (drastically) change the meaning of (too many) things in the SYCL spec, as noted here for example?

@Pennycook
Copy link
Contributor

How much confidence is there that rebasing SYCL onto newer C++ standards doesn't (drastically) change the meaning of (too many) things in the SYCL spec, as noted here for example?

I forget where it was discussed, but I think this is a known risk at this point.

There are some other terms that changed in C++20 (e.g., related to the memory model) and we'll need to make sure that we remain consistent with those changes. There is a dedicated sub-committee for alignment with ISO C++, so if we encounter issues like this I think we're prepared to do the work to fix things up.

@tomdeakin
Copy link
Contributor

WG proved to merge

@tomdeakin tomdeakin merged commit dea8c1d into KhronosGroup:main Jan 16, 2025
2 checks passed
gmlueck added a commit to gmlueck/llvm that referenced this pull request Jan 21, 2025
We decided in KhronosGroup/SYCL-Docs#667 to use this wording for SYCL
APIs that require C++ features added after C++17.  The next version of
the SYCL spec formally adopts this wording in
KhronosGroup/SYCL-Docs#680.
@gmlueck gmlueck deleted the gmlueck/base-cpp branch January 22, 2025 21:04
sommerlukas pushed a commit to intel/llvm that referenced this pull request Jan 23, 2025
We decided in KhronosGroup/SYCL-Docs#667 to use this wording for SYCL
APIs that require C++ features added after C++17. The next version of
the SYCL spec formally adopts this wording in
KhronosGroup/SYCL-Docs#680.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Decide on standard wording for APIs that are available only when compiler is C++20 or later
6 participants