On 7/16/26 10:38 AM, Jakub Jelinek wrote:
On Thu, Jul 16, 2026 at 10:30:03AM -0400, Jason Merrill wrote:
We currently accept "DR" tags as well as "PR" to indicate a C++ defect
report, but the core language and library have different DR numbering and
often we can implement an issue resolution before it becomes a formal DR.
So let's also accept "CWG" and "LWG" tags.

contrib/ChangeLog:

        * gcc-changelog/git_commit.py (dr_regex): Add CWG|LWG.

LGTM.
I wonder if we also shouldn't accept
        C++NN PNNNNNRN - text
or maybe also or instead
        PNNNNNRN - text
?
I think that was what was used before the switch to git, now one
usually attempts to put it somewhere in the middle of the ChangeLog
entry, after some filename: at least.
So, like this?

Although, I notice that the script accepts anything as long as it precedes the PR number, so with no changes it's fine to write

        CWG 1337
        P3210R42
        PR c++/12345

gcc/ChangeLog:

        * foo.cc: Something.

So maybe no change is really needed?
From 37e6c77392048c868eeeb73490d58e6ffa84c93f Mon Sep 17 00:00:00 2001
From: Jason Merrill <[email protected]>
Date: Tue, 14 Jul 2026 12:26:08 -0400
Subject: [PATCH] gcc-changelog: accept "CWG nnnn" header
To: [email protected]

We currently accept "DR" tags as well as "PR" to indicate a C++ defect
report, but the core language and library have different DR numbering and
often we can implement an issue resolution before it becomes a formal DR.
So let's also accept "CWG" and "LWG" tags.  And "P2037R7" for paper numbers.

contrib/ChangeLog:

	* gcc-changelog/git_commit.py (dr_regex): Add CWG|LWG.
---
 contrib/gcc-changelog/git_commit.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/contrib/gcc-changelog/git_commit.py b/contrib/gcc-changelog/git_commit.py
index 6329e7eb07a..37c9b668cf9 100755
--- a/contrib/gcc-changelog/git_commit.py
+++ b/contrib/gcc-changelog/git_commit.py
@@ -180,7 +180,7 @@ changelog_regex = re.compile(r'^(?:[fF]or +)?([a-z0-9+-/]*)ChangeLog:?')
 subject_pr_regex = re.compile(r'(^|\W)PR\s+(?P<component>[a-zA-Z0-9+-]+)/(?P<pr>\d{4,7})')
 subject_pr2_regex = re.compile(r'[(\[]PR\s*(?P<pr>\d{4,7})[)\]]')
 pr_regex = re.compile(r'\tPR (?P<component>[a-z0-9+-]+\/)?(?P<pr>[0-9]+)$')
-dr_regex = re.compile(r'\tDR ([0-9]+)$')
+dr_regex = re.compile(r'\t(DR|CWG|LWG) ([0-9]+)$')
 star_prefix_regex = re.compile(r'\t\*(?P<spaces>\ *)(?P<content>.*)')
 end_of_location_regex = re.compile(r'[\[<(:]')
 item_empty_regex = re.compile(r'\t(\* \S+ )?\(\S+\):\s*$')
-- 
2.55.0

Reply via email to