]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
changelog: check for space after tab
authorMartin Liska <mliska@suse.cz>
Wed, 9 Nov 2022 13:40:34 +0000 (14:40 +0100)
committerMartin Liska <mliska@suse.cz>
Fri, 11 Nov 2022 08:52:22 +0000 (09:52 +0100)
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
contrib/gcc-changelog/test_email.py
contrib/gcc-changelog/test_patches.txt

index 1f6e192082969f72a1a57d87007b3ef9036b5fe0..3bd671011f20de8f5156f6374e831959405cb531 100755 (executable)
@@ -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:
index c56f6da513a5cbb390a24679ef33f825466dd090..d0de88cf5629b384620ecd087c3c65055ac67ab6 100755 (executable)
@@ -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')
index 95ad961f2d31fb7ccde7dd5b8ea0105c8bf5d376..b28de7d30b06436cd141238257b47edd96f9dc20 100644 (file)
@@ -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