[review] addrmap: use gdb_static_assert for type size assertions

Message ID gerrit.1572379822000.If089fc5d620a7168bdcdf967c6c4fecd6696b670@gnutoolchain-gerrit.osci.io
State New, archived
Headers

Commit Message

Simon Marchi (Code Review) Oct. 29, 2019, 8:10 p.m. UTC
  Change URL: https://gnutoolchain-gerrit.osci.io/r/c/binutils-gdb/+/441
......................................................................

addrmap: use gdb_static_assert for type size assertions

These assertions can be done at compile time instead of at runtime.

gdb/ChangeLog:

	* addrmap.c: Add static assertions of type size, moved from
	_initialize_addrmap.
	(_initialize_addrmap): Remove.

Change-Id: If089fc5d620a7168bdcdf967c6c4fecd6696b670
---
M gdb/addrmap.c
1 file changed, 5 insertions(+), 11 deletions(-)
  

Comments

Simon Marchi (Code Review) Oct. 29, 2019, 9:48 p.m. UTC | #1
Tom Tromey has posted comments on this change.

Change URL: https://gnutoolchain-gerrit.osci.io/r/c/binutils-gdb/+/441
......................................................................


Patch Set 1: Code-Review+2

Looks good!
  

Patch

diff --git a/gdb/addrmap.c b/gdb/addrmap.c
index 6c3ed69..bcdb481 100644
--- a/gdb/addrmap.c
+++ b/gdb/addrmap.c
@@ -22,6 +22,11 @@ 
 #include "gdb_obstack.h"
 #include "addrmap.h"
 
+/* Make sure splay trees can actually hold the values we want to
+   store in them.  */
+gdb_static_assert (sizeof (splay_tree_key) >= sizeof (CORE_ADDR *));
+gdb_static_assert (sizeof (splay_tree_value) >= sizeof (void *));
+
 
 /* The "abstract class".  */
 
@@ -587,14 +592,3 @@ 
 
   return (struct addrmap *) map;
 }
-
-/* Initialization.  */
-
-void
-_initialize_addrmap (void)
-{
-  /* Make sure splay trees can actually hold the values we want to 
-     store in them.  */
-  gdb_assert (sizeof (splay_tree_key) >= sizeof (CORE_ADDR *));
-  gdb_assert (sizeof (splay_tree_value) >= sizeof (void *));
-}