changelog: check for space after tab
Checks
Commit Message
Will install if there are not comments.
Martin
contrib/ChangeLog:
* gcc-changelog/git_commit.py: Check for a space after leading
tab.
* gcc-changelog/test_email.py: Likewise.
* gcc-changelog/test_patches.txt: Likewise.
---
contrib/gcc-changelog/git_commit.py | 8 ++++++
contrib/gcc-changelog/test_email.py | 4 +++
contrib/gcc-changelog/test_patches.txt | 39 ++++++++++++++++++++++++++
3 files changed, 51 insertions(+)
@@ -365,6 +365,7 @@ class GitCommit:
self.check_for_broken_parentheses()
self.deduce_changelog_locations()
self.check_file_patterns()
+ self.check_line_start()
if not self.errors:
self.check_mentioned_files()
self.check_for_correct_changelog()
@@ -613,6 +614,13 @@ class GitCommit:
msg = 'bad parentheses wrapping'
self.errors.append(Error(msg, entry.parentheses_stack[-1]))
+ def check_line_start(self):
+ for entry in self.changelog_entries:
+ for line in entry.lines:
+ if line.startswith('\t '):
+ msg = 'extra space after tab'
+ self.errors.append(Error(msg, line))
+
def get_file_changelog_location(self, changelog_file):
for file in self.info.modified_files:
if file[0] == changelog_file:
@@ -451,3 +451,7 @@ class TestGccChangelog(unittest.TestCase):
email = self.from_patch_glob('toplev-new-file.patch')
assert (email.errors[0].message ==
'new file in the top-level folder not mentioned in a ChangeLog')
+
+ def test_space_after_tab(self):
+ email = self.from_patch_glob('0001-Use-Value_Range-when-applying-inferred-ranges.patch')
+ assert (email.errors[0].message == 'extra space after tab')
@@ -3571,3 +3571,42 @@ index 00000000000..d6459e00543
+xxx
--
2.34.1
+
+=== 0001-Use-Value_Range-when-applying-inferred-ranges.patch ===
+From 69a233610f6b27cd4283561569d8ce0f35044dc4 Mon Sep 17 00:00:00 2001
+From: Andrew MacLeod <amacleod@redhat.com>
+Date: Wed, 19 Oct 2022 09:21:22 -0400
+Subject: [PATCH] Use Value_Range when applying inferred ranges.
+
+Applying an inferred range is using int_range_ma as the
+temporary rather than the general purpose Value_Range. This causes it
+to trap if we have a non-integral inferred range.
+
+ * gimple-range-cache.cc (ranger_cache::range_from_dom): Use
+ Value_Range not int_range_max.
+---
+ gcc/gimple-range-cache.cc | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/gcc/gimple-range-cache.cc b/gcc/gimple-range-cache.cc
+index 0b9aa3639c5..f279371948a 100644
+--- a/gcc/gimple-range-cache.cc
++++ b/gcc/gimple-range-cache.cc
+@@ -1546,7 +1546,6 @@ ranger_cache::range_from_dom (vrange &r, tree name, basic_block start_bb,
+ void
+ ranger_cache::apply_inferred_ranges (gimple *s)
+ {
+- int_range_max r;
+ bool update = true;
+
+ basic_block bb = gimple_bb (s);
+@@ -1572,6 +1571,7 @@ ranger_cache::apply_inferred_ranges (gimple *s)
+ m_exit.add_range (name, bb, infer.range (x));
+ if (update)
+ {
++ Value_Range r (TREE_TYPE (name));
+ if (!m_on_entry.get_bb_range (r, name, bb))
+ exit_range (r, name, bb, RFD_READ_ONLY);
+ if (r.intersect (infer.range (x)))
+--
+2.38.0