gdb: remove SYMBOL_INLINED macro
authorSimon Marchi <simon.marchi@efficios.com>
Fri, 28 Jan 2022 03:08:54 +0000 (22:08 -0500)
committerSimon Marchi <simon.marchi@efficios.com>
Sun, 6 Feb 2022 21:03:46 +0000 (16:03 -0500)
Add a getter and a setter for whether a symbol is inlined.  Remove the
corresponding macro and adjust all callers.

Change-Id: I934468da3b5a32dd6b161a6f252a6b1b94737279

gdb/block.c
gdb/dwarf2/read.c
gdb/linespec.c
gdb/symtab.h

index f7532120286bbd601184c39c16967a3318daddda..3d11ea607682f8c103d2946920844376ad3c8196 100644 (file)
@@ -124,7 +124,7 @@ block_containing_function (const struct block *bl)
 int
 block_inlined_p (const struct block *bl)
 {
-  return BLOCK_FUNCTION (bl) != NULL && SYMBOL_INLINED (BLOCK_FUNCTION (bl));
+  return BLOCK_FUNCTION (bl) != NULL && BLOCK_FUNCTION (bl)->is_inlined ();
 }
 
 /* A helper function that checks whether PC is in the blockvector BL.
index 259401fbbb70d2c761dcf9a9d8dcabbd48a55fac..95d4d6fc5532e6889253b4334224c5ffa407dd1a 100644 (file)
@@ -21794,7 +21794,7 @@ new_symbol (struct die_info *die, struct type *type, struct dwarf2_cu *cu,
          /* SYMBOL_BLOCK_VALUE (sym) will be filled in later by
             finish_block.  */
          sym->set_aclass_index (LOC_BLOCK);
-         SYMBOL_INLINED (sym) = 1;
+         sym->set_is_inlined (1);
          list_to_add = cu->list_in_scope;
          break;
        case DW_TAG_template_value_param:
index ac21bbd23480ea76f22cf672cd7c7fe143311a69..7c403679455b8ad5f25966bacf132e85cb48cc92 100644 (file)
@@ -1200,7 +1200,7 @@ iterate_over_all_matching_symtabs
                         {
                           /* Restrict calls to CALLBACK to symbols
                              representing inline symbols only.  */
-                          if (SYMBOL_INLINED (bsym->symbol))
+                          if (bsym->symbol->is_inlined ())
                             return callback (bsym);
                           return true;
                         });
index f565f1258248d1f69891bd6df96bf6787763b5ae..9b7d7e35c97243fa0a666c36908971b11e392fad 100644 (file)
@@ -1117,7 +1117,7 @@ struct symbol : public general_symbol_info, public allocate_on_obstack
       m_aclass_index (0),
       m_is_objfile_owned (1),
       m_is_argument (0),
-      is_inlined (0),
+      m_is_inlined (0),
       maybe_copied (0),
       subclass (SYMBOL_NONE),
       artificial (false)
@@ -1188,6 +1188,16 @@ struct symbol : public general_symbol_info, public allocate_on_obstack
     m_is_argument = is_argument;
   }
 
+  bool is_inlined () const
+  {
+    return m_is_inlined;
+  }
+
+  void set_is_inlined (bool is_inlined)
+  {
+    m_is_inlined = is_inlined;
+  }
+
   /* Data type of value */
 
   struct type *type = nullptr;
@@ -1226,7 +1236,7 @@ struct symbol : public general_symbol_info, public allocate_on_obstack
   unsigned m_is_argument : 1;
 
   /* Whether this is an inlined function (class LOC_BLOCK only).  */
-  unsigned is_inlined : 1;
+  unsigned m_is_inlined : 1;
 
   /* For LOC_STATIC only, if this is set, then the symbol might be
      subject to copy relocation.  In this case, a minimal symbol
@@ -1290,7 +1300,6 @@ struct block_symbol
 /* Note: There is no accessor macro for symbol.owner because it is
    "private".  */
 
-#define SYMBOL_INLINED(symbol)         (symbol)->is_inlined
 #define SYMBOL_IS_CPLUS_TEMPLATE_FUNCTION(symbol) \
   (((symbol)->subclass) == SYMBOL_TEMPLATE)
 #define SYMBOL_TYPE(symbol)            (symbol)->type