Skip to content

P2434 R3 Nondeterministic pointer provenance #1364

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
jfbastien opened this issue Nov 12, 2022 · 19 comments
Open

P2434 R3 Nondeterministic pointer provenance #1364

jfbastien opened this issue Nov 12, 2022 · 19 comments
Labels
B2 - improvement Bucket 2 as described by P0592: bug fixes, performance improvements, integration fixes for/between e C++26 Targeted at C++26 CWG Core IS Ship vehicle: IS LWG Library needs-revision Paper needs changes before it can proceed size - small paper size estimate
Milestone

Comments

@jfbastien
Copy link
Collaborator

P2434R0 Nondeterministic pointer provenance (S. Davis Herring)

@jfbastien jfbastien added EWG Evolution SG22 C / C++ liaison labels Nov 12, 2022
@erichkeane
Copy link
Collaborator

EWG supports:

-users verifying that this model meets their needs, particularly for pointer zap
-authors work with SG22 and WG14 to align C and C++ solutions
-implementation experience be obtained
-usage experience be obtained

then we want to see the paper again

SF F N A SA
10 8 1 0 0

Result: Consensus

@erichkeane erichkeane added the needs-revision Paper needs changes before it can proceed label Nov 12, 2022
@sebastian-wittmeier-bl-ext

This comment was marked as outdated.

@jwakely

This comment was marked as outdated.

@jfbastien
Copy link
Collaborator Author

jfbastien commented Feb 9, 2023

Related: #895 #553 #1084 #1011

@opensdh
Copy link

opensdh commented Mar 23, 2024

@NinaRanns: Should this issue get an update from the SG22 discussion?

@NinaRanns
Copy link
Collaborator

probably :)
SG22 had a meeting to discuss the issue. WG14 felt the wording presented in P2434 doesn't solve the problem from WG14 perspective. The room didn't find a common way forward. Notes from the meeting can be found here

@wg21bot
Copy link
Collaborator

wg21bot commented May 22, 2024

P2434R1 Nondeterministic pointer provenance (S. Davis Herring)

@wg21bot wg21bot removed the needs-revision Paper needs changes before it can proceed label May 22, 2024
@wg21bot wg21bot added this to the 2024-telecon milestone May 22, 2024
@wg21bot wg21bot changed the title P2434 Nondeterministic pointer provenance P2434 R1 Nondeterministic pointer provenance May 22, 2024
@hanickadot
Copy link
Collaborator

P2434r1 Nondeterministic pointer provenance: Expand the paper to specify the special angelic behavior on std::atomic<T*>.

SF F N A SA
2 7 8 3 0

Not consensus (too many neutrals).

P2434R1 Nondeterministic pointer provenance: forward to SG1/CWG/LEWG for inclusion in C++26.

SF F N A SA
7 11 2 0 0

Consensus.

@hanickadot hanickadot added LEWG Library Evolution CWG Core SG1 Concurrency and removed EWG Evolution labels Jun 24, 2024
@jensmaurer
Copy link
Member

CWG 2024-06-25: Brief discussion on differences between WG14 (superimposed pointer values) and WG21 (angelic nondeterminism) approaches. Provenance of integers (and erasure thereof with arithmetic) mentioned.

@jensmaurer
Copy link
Member

CWG 2024-06-27 in St. Louis: Reviewed; needs updates.

@jensmaurer jensmaurer reopened this Jun 28, 2024
@jensmaurer jensmaurer added the needs-revision Paper needs changes before it can proceed label Jun 28, 2024
@ogiroux
Copy link
Collaborator

ogiroux commented Jun 28, 2024

SG1 in St Louis

SG1 believes that the approach of P2434R1 can address
the zap problem with some additional (simpler) changes
e.g.:

  1. Convenience / future-proofing in casts & atomics
  2. Tightening invalid-pointer semantics
    SF F N A SA
    3 7 1 0 0
    Unanimous consent

@inbal2l inbal2l added the ready-for-library-evolution-meeting-review This paper needs to be discussed at a Library Evolution meeting label Jul 2, 2024
@jensmaurer jensmaurer added this to CWG Jul 15, 2024
@jensmaurer jensmaurer moved this to Awaiting updated wording in CWG Jul 15, 2024
@jensmaurer jensmaurer added the C++26 Targeted at C++26 label Nov 18, 2024
@jensmaurer
Copy link
Member

jensmaurer commented Nov 23, 2024

CWG 2024-11-22 in Wroclaw: CWG found the following example from the paper a rather surprising consequence for optimizers, and asks EWG to affirm this consequence is expressly acknowledged:

void f(T* p) {
  T* t = new T();
  if (opaque_fn(t)) {
    // *t and *p can alias here
  }
}

@jensmaurer jensmaurer added EWG Evolution and removed CWG Core labels Nov 23, 2024
@jensmaurer jensmaurer moved this from Ready for review to Awaiting updated wording in CWG Nov 23, 2024
@inbal2l inbal2l removed ready-for-library-evolution-meeting-review This paper needs to be discussed at a Library Evolution meeting LEWG Library Evolution labels Dec 2, 2024
@inbal2l
Copy link
Collaborator

inbal2l commented Dec 2, 2024

(out of order)

2024-11-20 Library Evolution Wroclaw Meeting

P2434R2 Nondeterministic pointer provenance

2024-11-20 Library Evolution Wroclaw Meeting Minutes

Champion: Davis Herring
Chair: Inbal Levi / Fabio Fracassi
Minute Taker: Robert Leahy

Summary

POLL: Forward P2434R2 to LWG for C++26.

Attendance: 17 (IP) + 2(R)
Outcome: Outcome: No objection to unanimous consent

Next Steps

P2434R2 was forwarded to LWG for C++26.

@inbal2l inbal2l added B2 - improvement Bucket 2 as described by P0592: bug fixes, performance improvements, integration fixes for/between e size - small paper size estimate IS Ship vehicle: IS labels Dec 2, 2024
@JeffGarland JeffGarland added the LWG Library label Dec 4, 2024
@jensmaurer jensmaurer moved this from Awaiting updated wording to Waiting for subgroups in CWG Dec 6, 2024
@jensmaurer jensmaurer modified the milestones: 2024-telecon, 2025-telecon Dec 18, 2024
@wg21bot
Copy link
Collaborator

wg21bot commented Jan 14, 2025

P2434R3 Nondeterministic pointer provenance (S. Davis Herring)

@wg21bot wg21bot changed the title P2434 R2 Nondeterministic pointer provenance P2434 R3 Nondeterministic pointer provenance Jan 14, 2025
@hanickadot
Copy link
Collaborator

P2434R3 Nondeterministic pointer provenance: EWG wants to split prospective pointer value out of P2434R3 and see that portion in EWG again.

SF F N A SA
6 16 6 0 0

Consensus.

@hanickadot hanickadot added CWG Core and removed EWG Evolution labels Feb 13, 2025
@jfbastien jfbastien added the needs-revision Paper needs changes before it can proceed label Feb 14, 2025
@jensmaurer jensmaurer moved this from Waiting for subgroups to Awaiting updated wording in CWG Feb 16, 2025
@wg21bot wg21bot removed the needs-revision Paper needs changes before it can proceed label Mar 19, 2025
@jensmaurer jensmaurer moved this from Awaiting updated wording to Ready for review in CWG Mar 19, 2025
@jensmaurer jensmaurer added the needs-revision Paper needs changes before it can proceed label Apr 23, 2025
@jensmaurer jensmaurer moved this from Ready for review to Awaiting updated wording in CWG Apr 23, 2025
@jensmaurer
Copy link
Member

@opensdh , I think we're still waiting for an update that manifests "EWG wants to split prospective pointer value out of P2434R3", right?

@opensdh
Copy link

opensdh commented Apr 23, 2025

@opensdh , I think we're still waiting for an update that manifests "EWG wants to split prospective pointer value out of P2434R3", right?

Sort of: at the very end of the Hagenberg meeting I had an inspiration that replaces that requested edit with (hopefully) a better edit. I will certainly have that ready for the pre-Sofia mailing, because it's very little work.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
B2 - improvement Bucket 2 as described by P0592: bug fixes, performance improvements, integration fixes for/between e C++26 Targeted at C++26 CWG Core IS Ship vehicle: IS LWG Library needs-revision Paper needs changes before it can proceed size - small paper size estimate
Projects
Status: No status
Status: Awaiting updated wording
Development

No branches or pull requests