]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commitdiff
Fix check-include-guards.py
authorTom Tromey <tom@tromey.com>
Sun, 9 Mar 2025 17:05:40 +0000 (11:05 -0600)
committerTom Tromey <tom@tromey.com>
Mon, 10 Mar 2025 15:18:40 +0000 (09:18 -0600)
I noticed that check-include-guards.py doesn't error in certain
situations -- but in situations where the --update flag would cause a
file to be changed.

This patch changes the script to issue an error for any discrepancy.
It also fixes the headers that weren't correct.

Approved-By: Simon Marchi <simon.marchi@efficios.com>
gdb/arch/loongarch-insn.h
gdb/arch/loongarch-syscall.h
gdb/check-include-guards.py
gdb/config/djgpp/langinfo.h
gdb/config/djgpp/nl_types.h
gdb/config/i386/nm-x86-gnu.h
gdb/config/sparc/nm-sol2.h
gdb/python/py-color.h
gdbsupport/scoped_signal_handler.h

index 805cd53dff71f2047f674cd34a343b47bee758f0..afab10a8725cecee47f2e31d869b74759c63300e 100644 (file)
@@ -18,8 +18,8 @@
 /* The LoongArch opcode and mask definitions in this file are obtained from
    https://sourceware.org/git/?p=binutils-gdb.git;a=blob;f=opcodes/loongarch-opc.c  */
 
-#ifndef ARCH_LOONGARCH_INSN_H
-#define ARCH_LOONGARCH_INSN_H
+#ifndef GDB_ARCH_LOONGARCH_INSN_H
+#define GDB_ARCH_LOONGARCH_INSN_H
 
 /* loongarch fix insn opcode  */
 #define OP_CLO_W             0x00001000
@@ -2093,4 +2093,4 @@ is_special_insn (uint32_t insn)
     return false;
 }
 
-#endif /* ARCH_LOONGARCH_INSN_H */
+#endif /* GDB_ARCH_LOONGARCH_INSN_H */
index d4b00e4848d0ed95173e69a076d24d2844b9fef7..c6a01362e9a6d59c88a870defaa9f67f71287ddc 100644 (file)
@@ -19,8 +19,8 @@
    https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/include/uapi/asm-generic/unistd.h
    https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/arch/loongarch/include/asm/unistd.h  */
 
-#ifndef ARCH_LOONGARCH_SYSCALL_H
-#define ARCH_LOONGARCH_SYSCALL_H
+#ifndef GDB_ARCH_LOONGARCH_SYSCALL_H
+#define GDB_ARCH_LOONGARCH_SYSCALL_H
 
 enum loongarch_syscall
 {
@@ -345,4 +345,4 @@ enum loongarch_syscall
   loongarch_sys_syscalls = 463,
 };
 
-#endif /* ARCH_LOONGARCH_SYSCALL_H */
+#endif /* GDB_ARCH_LOONGARCH_SYSCALL_H */
index 1673ab1079a5a57b299fa158f504b39e57aebe82..79b391dc250b7460fc61580603ed165490097e70 100755 (executable)
@@ -99,12 +99,14 @@ def check_header(filename: str):
             failure(filename, i, "no header guard")
         force_rewrite = True
     symbol = m.group(1)
-    updated = False
+    # Either None or a tuple like (LINE, TEXT) that describes a needed
+    # update.
+    updated = None
     if symbol != expected:
         force_rewrite = True
     if force_rewrite:
         contents[i] = "#ifndef " + expected + "\n"
-        updated = True
+        updated = (i, "wrong symbol in ifndef")
     i += 1
     if i == len(contents):
         failure(filename, i, "premature EOF")
@@ -112,15 +114,20 @@ def check_header(filename: str):
         failure(filename, i, "no define of header guard")
     if contents[i] != "#define " + expected + "\n":
         contents[i] = "#define " + expected + "\n"
-        updated = True
+        if updated is None:
+            updated = (i, "wrong symbol in define")
     i = len(contents) - 1
     if not contents[i].startswith("#endif"):
         failure(filename, i, "no trailing endif")
     if contents[i] != "#endif /* " + expected + " */\n":
         contents[i] = "#endif /* " + expected + " */\n"
-        updated = True
-    if updated and write_files:
-        write_header(filename, contents)
+        if updated is None:
+            updated = (i, "wrong endif line")
+    if updated is not None:
+        if write_files:
+            write_header(filename, contents)
+        else:
+            failure(filename, *updated)
 
 
 for filename in args:
index dc68822ac6dbd76a80ed36f528da64e67269a559..2ccb7ab66fb417369d803177a25f38865ef424f6 100644 (file)
@@ -17,8 +17,8 @@
    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
-#ifndef CONFIG_DJGPP_LANGINFO_H
-#define CONFIG_DJGPP_LANGINFO_H
+#ifndef GDB_CONFIG_DJGPP_LANGINFO_H
+#define GDB_CONFIG_DJGPP_LANGINFO_H
 
 #include <nl_types.h>
 
@@ -32,4 +32,4 @@ enum {
 
 extern char *nl_langinfo (nl_item);
 
-#endif /* CONFIG_DJGPP_LANGINFO_H */
+#endif /* GDB_CONFIG_DJGPP_LANGINFO_H */
index 03d4f770a859e20295583cc1a89bb19b96402426..48f1384c7d07eff6c4a5176d527c4dd8e912c3ae 100644 (file)
@@ -17,9 +17,9 @@
    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
-#ifndef CONFIG_DJGPP_NL_TYPES_H
-#define CONFIG_DJGPP_NL_TYPES_H
+#ifndef GDB_CONFIG_DJGPP_NL_TYPES_H
+#define GDB_CONFIG_DJGPP_NL_TYPES_H
 
 typedef int nl_item;
 
-#endif /* CONFIG_DJGPP_NL_TYPES_H */
+#endif /* GDB_CONFIG_DJGPP_NL_TYPES_H */
index ed4d172922772384c6c3d5f85b9dc760840d7fa1..5e06b9e2826d51e2a9cbc17bb0fbb9a329f44e58 100644 (file)
@@ -16,8 +16,8 @@
    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
-#ifndef CONFIG_I386_NM_I386GNU_H
-#define CONFIG_I386_NM_I386GNU_H
+#ifndef GDB_CONFIG_I386_NM_X86_GNU_H
+#define GDB_CONFIG_I386_NM_X86_GNU_H
 
 /* Thread flavors used in re-setting the T bit.  */
 #define THREAD_STATE_FLAVOR            i386_REGS_SEGS_STATE
@@ -34,4 +34,4 @@
        ((((struct i386_thread_state *) (state))->efl &= ~0x100), 1)
 #endif /* __x86_64__ */
 
-#endif /* CONFIG_I386_NM_I386GNU_H */
+#endif /* GDB_CONFIG_I386_NM_X86_GNU_H */
index 9e1b66b0896888cc73b6d3e27a005dccebbf6c76..14e1aa97dacde15060a7e663169f37dcb32134a1 100644 (file)
    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
-#ifndef CONFIG_SPARC_NM_SOL2_H
-#define CONFIG_SPARC_NM_SOL2_H
+#ifndef GDB_CONFIG_SPARC_NM_SOL2_H
+#define GDB_CONFIG_SPARC_NM_SOL2_H
 
 #define GDB_GREGSET_T prgregset_t
 #define GDB_FPREGSET_T prfpregset_t
 
-#endif /* CONFIG_SPARC_NM_SOL2_H */
+#endif /* GDB_CONFIG_SPARC_NM_SOL2_H */
index a778d5ba06e375c85ff4c30536fc25c0dee283e6..a3e5e416c04cf8cc503f181987cb8bc05f3e3be8 100644 (file)
@@ -17,8 +17,8 @@
    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
-#ifndef PYTHON_PY_COLOR_H
-#define PYTHON_PY_COLOR_H
+#ifndef GDB_PYTHON_PY_COLOR_H
+#define GDB_PYTHON_PY_COLOR_H
 
 #include "python-internal.h"
 #include "ui-style.h"
@@ -32,4 +32,4 @@ extern bool gdbpy_is_color (PyObject *obj);
 /* Extracts value from OBJ object of gdb.Color type.  */
 extern const ui_file_style::color &gdbpy_get_color (PyObject *obj);
 
-#endif /* PYTHON_PY_COLOR_H */
+#endif /* GDB_PYTHON_PY_COLOR_H */
index 3dffd795b73dd65aa760bde40ef1c0b9921584f7..5bf713b3e41f3db8e2bc546aea06ac784fe7d967 100644 (file)
@@ -17,8 +17,8 @@
    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
-#ifndef SCOPED_SIGNAL_HANDLER_H
-#define SCOPED_SIGNAL_HANDLER_H
+#ifndef GDBSUPPORT_SCOPED_SIGNAL_HANDLER_H
+#define GDBSUPPORT_SCOPED_SIGNAL_HANDLER_H
 
 #include <signal.h>
 
@@ -70,4 +70,4 @@ private:
 #endif
 };
 
-#endif /* SCOPED_SIGNAL_HANDLER_H  */
+#endif /* GDBSUPPORT_SCOPED_SIGNAL_HANDLER_H */