[diff.expr] Paragraph added by CWG2875 is not correct for C23
Open
@jensmaurer is already working on this.
Since Aug 9, 2026.
- Dominant language
- TeX
- Stars
- 221
- Forks
- 813
- Avg merge
- 16h 4m
- Merged PRs (30d)
- 36
Description
[diff.expr]/5 contains the following example:
void f() {
char *p = nullptr;
char *p2 = &*p; // well-defined in C, undefined behavior in C++
char *p3 = &p[0]; // well-defined in C, undefined behavior in C++
int a[5];
int *q = &a[5]; // well-defined in C, undefined behavior in C++
}
In C &p[0] gets translated to p+0 which is undefined in C23, though it is valid in C2Y because of N3322. Should the second comment be updated since C++ currently references C23?
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.