From 999c14cf249758b75e0ecf5acfab209aa5974d96 Mon Sep 17 00:00:00 2001 From: Martin Liska Date: Wed, 9 Nov 2022 14:40:34 +0100 Subject: [PATCH] changelog: check for space after tab 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(+) diff --git a/contrib/gcc-changelog/git_commit.py b/contrib/gcc-changelog/git_commit.py index 1f6e192..3bd6710 100755 --- a/contrib/gcc-changelog/git_commit.py +++ b/contrib/gcc-changelog/git_commit.py @@ -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: diff --git a/contrib/gcc-changelog/test_email.py b/contrib/gcc-changelog/test_email.py index c56f6da..d0de88c 100755 --- a/contrib/gcc-changelog/test_email.py +++ b/contrib/gcc-changelog/test_email.py @@ -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') diff --git a/contrib/gcc-changelog/test_patches.txt b/contrib/gcc-changelog/test_patches.txt index 95ad961..b28de7d 100644 --- a/contrib/gcc-changelog/test_patches.txt +++ b/contrib/gcc-changelog/test_patches.txt @@ -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 +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 -- 2.7.4