contrib/ChangeLog:
* gcc-changelog/git_commit.py: Check commit email.
* gcc-changelog/test_email.py: Add new test.
* gcc-changelog/test_patches.txt: Likewise.
---
contrib/gcc-changelog/git_commit.py | 10 ++++++++++
contrib/gcc-changelog/test_email.py | 5 +++++
contrib/gcc-changelog/test_patches.txt | 25 +++++++++++++++++++++++++
3 files changed, 40 insertions(+)
diff --git a/contrib/gcc-changelog/git_commit.py
b/contrib/gcc-changelog/git_commit.py
index d1646bdc0cd..03736140fd0 100755
--- a/contrib/gcc-changelog/git_commit.py
+++ b/contrib/gcc-changelog/git_commit.py
@@ -326,6 +326,8 @@ class GitCommit:
if not self.info:
return
+ self.check_commit_email()
+
# Extract PR numbers form the subject line
# Match either [PRnnnn] / (PRnnnn) or PR component/nnnn
if self.info.lines and not self.revert_commit:
@@ -803,3 +805,11 @@ class GitCommit:
print('Errors:')
for error in self.errors:
print(error)
+
+ def check_commit_email(self):
+ # Parse 'Martin Liska <mli...@suse.cz>'
+ email = self.info.author.split(' ')[-1].strip('<>')
+
+ # Verify that all characters are ASCII
+ if len(email) != len(email.encode()):
+ self.errors.append(Error(f'non-ASCII characters in git commit
email address ({email})'))
diff --git a/contrib/gcc-changelog/test_email.py
b/contrib/gcc-changelog/test_email.py
index 319e065ca55..dae7c27c707 100755
--- a/contrib/gcc-changelog/test_email.py
+++ b/contrib/gcc-changelog/test_email.py
@@ -440,3 +440,8 @@ class TestGccChangelog(unittest.TestCase):
def test_copyright_years(self):
email = self.from_patch_glob('copyright-years.patch')
assert not email.errors
+
+ def test_non_ascii_email(self):
+ email = self.from_patch_glob('non-ascii-email.patch')
+ assert (email.errors[0].message ==
+ 'non-ASCII characters in git commit email address
(jbglaw@ług-owl.de)')
diff --git a/contrib/gcc-changelog/test_patches.txt
b/contrib/gcc-changelog/test_patches.txt
index ba516274fc1..98a0d3f1ee0 100644
--- a/contrib/gcc-changelog/test_patches.txt
+++ b/contrib/gcc-changelog/test_patches.txt
@@ -3464,3 +3464,28 @@ index 6f67552d075..32478f070e8 100644
+
--
2.25.1
+
+=== non-ascii-email.patch ===
+From f42e95a830ab48e59389065ce79a013a519646f1 Mon Sep 17 00:00:00 2001
+From: Jan-Benedict Glaw <jbglaw@ług-owl.de>
+Date: Mon, 13 Sep 2021 12:08:25 +0200
+Subject: [PATCH] Fix multi-statment macro
+
+INIT_CUMULATIVE_ARGS() expands to multiple statements, which will break right
+after an `if` statement. Wrap it into a block.
+
+gcc/ChangeLog:
+
+ * config/alpha/vms.h (INIT_CUMULATIVE_ARGS): Wrap multi-statment
+ define into a block.
+---
+ gcc/config/alpha/vms.h | 10 +++++++---
+ 1 file changed, 7 insertions(+), 3 deletions(-)
+
+diff --git a/gcc/config/alpha/vms.h b/gcc/config/alpha/vms.h
+index 2a9917cde62..0033b0004b3 100644
+--- a/gcc/config/alpha/vms.h
++++ b/gcc/config/alpha/vms.h
+@@ -0,0 +1,1 @@
++
+--
--
2.33.0