Skip to content

P2318 A Provenance-aware Memory Object Model for C #1011

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

Open
wg21bot opened this issue Mar 25, 2021 · 2 comments
Open

P2318 A Provenance-aware Memory Object Model for C #1011

wg21bot opened this issue Mar 25, 2021 · 2 comments
Labels
C++26 Targeted at C++26 EWG Evolution
Milestone

Comments

@wg21bot
Copy link
Collaborator

wg21bot commented Mar 25, 2021

P2318R0 A Provenance-aware Memory Object Model for C (Jens Gustedt, Peter Sewell, Kayvan Memarian, Victor B. F. Gomes, Martin Uecker)

@wg21bot wg21bot added the SG22 C / C++ liaison label Mar 25, 2021
@wg21bot wg21bot added this to the 2021-telecon milestone Mar 25, 2021
@wg21bot
Copy link
Collaborator Author

wg21bot commented Apr 25, 2021

P2318R1 A Provenance-aware Memory Object Model for C (Jens Gustedt, Peter Sewell, Kayvan Memarian, Victor B. F. Gomes, Martin Uecker)

@NinaRanns
Copy link
Collaborator

NinaRanns commented Jan 16, 2025

P2318 is an informational WG21 paper explaining the research performed and direction being pursued by WG14 for resolving the broad outstanding issue of pointer provenance (being published as a TS). The approach could presumably be adopted for C++, albeit with significantly different wording.
P2434 was written in response, proposing separate, small changes to C++ to better align with the effects of the C proposal. Its direction could also be adopted for C instead of the Provenance TS. In February 2024, SG22 reviewed the motivations for P2318 and then discussed P2434R0 with the authors of both papers present.
See minutes for details.

The strongest objection raised by the WG14 representatives was that angelic nondeterminism (which is already used in C++ and is further leveraged by P2434) renders it non-trivial to mathematically define which programs are valid (especially in the context of concurrency). It was considered unfortunate that the languages might diverge (with C instead giving pointers multiple provenances in corresponding cases), but there was no consensus to adopt either model for both.

Assigning to EWG to decide how to proceed.

@NinaRanns NinaRanns added EWG Evolution and removed SG22 C / C++ liaison labels Jan 16, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
C++26 Targeted at C++26 EWG Evolution
Projects
None yet
Development

No branches or pull requests

3 participants