gdb: fix vfork with multiple threads
[deliverable/binutils-gdb.git] / gdb / buildsym.h
index 49086d33f55e92594e48a4a6be1fa70f246bf5d9..b35c26d8a30a40d0c9345917b26c6d6678fdcc4a 100644 (file)
@@ -1,5 +1,5 @@
 /* Build symbol tables in GDB's internal format.
-   Copyright (C) 1986-2018 Free Software Foundation, Inc.
+   Copyright (C) 1986-2021 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -19,6 +19,8 @@
 #if !defined (BUILDSYM_H)
 #define BUILDSYM_H 1
 
+#include "gdb_obstack.h"
+
 struct objfile;
 struct symbol;
 struct addrmap;
@@ -128,11 +130,11 @@ struct buildsym_compunit
   buildsym_compunit (struct objfile *objfile_, const char *name,
                     const char *comp_dir_, enum language language_,
                     CORE_ADDR last_addr, struct compunit_symtab *cust)
-    : objfile (objfile_),
+    : m_objfile (objfile_),
       m_last_source_file (name == nullptr ? nullptr : xstrdup (name)),
-      comp_dir (comp_dir_ == nullptr ? nullptr : xstrdup (comp_dir_)),
-      compunit_symtab (cust),
-      language (language_),
+      m_comp_dir (comp_dir_ == nullptr ? nullptr : xstrdup (comp_dir_)),
+      m_compunit_symtab (cust),
+      m_language (language_),
       m_last_source_start_addr (last_addr)
   {
   }
@@ -185,11 +187,12 @@ struct buildsym_compunit
 
   const char *pop_subfile ();
 
-  void record_line (struct subfile *subfile, int line, CORE_ADDR pc);
+  void record_line (struct subfile *subfile, int line, CORE_ADDR pc,
+                   bool is_stmt);
 
   struct compunit_symtab *get_compunit_symtab ()
   {
-    return compunit_symtab;
+    return m_compunit_symtab;
   }
 
   void set_last_source_start_addr (CORE_ADDR addr)
@@ -256,12 +259,12 @@ struct buildsym_compunit
 
   void record_debugformat (const char *format)
   {
-    debugformat = format;
+    m_debugformat = format;
   }
 
   void record_producer (const char *producer)
   {
-    this->producer = producer;
+    m_producer = producer;
   }
 
   struct context_stack *push_context (int desc, CORE_ADDR valu);
@@ -300,16 +303,16 @@ private:
       (struct block *static_block, int section, int expandable);
 
   /* The objfile we're reading debug info from.  */
-  struct objfile *objfile;
+  struct objfile *m_objfile;
 
   /* List of subfiles (source files).
      Files are added to the front of the list.
      This is important mostly for the language determination hacks we use,
      which iterate over previously added files.  */
-  struct subfile *subfiles = nullptr;
+  struct subfile *m_subfiles = nullptr;
 
   /* The subfile of the main source file.  */
-  struct subfile *main_subfile = nullptr;
+  struct subfile *m_main_subfile = nullptr;
 
   /* Name of source file whose symbol data we are now processing.  This
      comes from a symbol of type N_SO for stabs.  For DWARF it comes
@@ -317,21 +320,21 @@ private:
   gdb::unique_xmalloc_ptr<char> m_last_source_file;
 
   /* E.g., DW_AT_comp_dir if DWARF.  Space for this is malloc'd.  */
-  gdb::unique_xmalloc_ptr<char> comp_dir;
+  gdb::unique_xmalloc_ptr<char> m_comp_dir;
 
   /* Space for this is not malloc'd, and is assumed to have at least
      the same lifetime as objfile.  */
-  const char *producer = nullptr;
+  const char *m_producer = nullptr;
 
   /* Space for this is not malloc'd, and is assumed to have at least
      the same lifetime as objfile.  */
-  const char *debugformat = nullptr;
+  const char *m_debugformat = nullptr;
 
   /* The compunit we are building.  */
-  struct compunit_symtab *compunit_symtab = nullptr;
+  struct compunit_symtab *m_compunit_symtab = nullptr;
 
   /* Language of this compunit_symtab.  */
-  enum language language;
+  enum language m_language;
 
   /* The macro table for the compilation unit whose symbols we're
      currently reading.  */
@@ -396,10 +399,6 @@ private:
   struct pending *m_local_symbols = nullptr;
 };
 
-/* The type of the record_line function.  */
-typedef void (record_line_ftype) (struct subfile *subfile, int line,
-                                 CORE_ADDR pc);
-
 \f
 
 extern void add_symbol_to_list (struct symbol *symbol,
@@ -408,146 +407,4 @@ extern void add_symbol_to_list (struct symbol *symbol,
 extern struct symbol *find_symbol_in_list (struct pending *list,
                                           char *name, int length);
 
-extern struct block *finish_block (struct symbol *symbol,
-                                  struct pending_block *old_blocks,
-                                  const struct dynamic_prop *static_link,
-                                  CORE_ADDR start,
-                                  CORE_ADDR end);
-
-extern void record_block_range (struct block *,
-                                CORE_ADDR start, CORE_ADDR end_inclusive);
-
-class scoped_free_pendings
-{
-public:
-
-  scoped_free_pendings () = default;
-  ~scoped_free_pendings ();
-
-  DISABLE_COPY_AND_ASSIGN (scoped_free_pendings);
-};
-
-extern void start_subfile (const char *name);
-
-extern void patch_subfile_names (struct subfile *subfile, const char *name);
-
-extern void push_subfile ();
-
-extern const char *pop_subfile ();
-
-extern struct block *end_symtab_get_static_block (CORE_ADDR end_addr,
-                                                 int expandable,
-                                                 int required);
-
-extern struct compunit_symtab *
-  end_symtab_from_static_block (struct block *static_block,
-                               int section, int expandable);
-
-extern struct compunit_symtab *end_symtab (CORE_ADDR end_addr, int section);
-
-extern struct compunit_symtab *end_expandable_symtab (CORE_ADDR end_addr,
-                                                     int section);
-
-extern void augment_type_symtab (void);
-
-extern struct context_stack *push_context (int desc, CORE_ADDR valu);
-
-extern struct context_stack pop_context ();
-
-extern record_line_ftype record_line;
-
-extern struct compunit_symtab *start_symtab (struct objfile *objfile,
-                                            const char *name,
-                                            const char *comp_dir,
-                                            CORE_ADDR start_addr,
-                                            enum language language);
-
-extern void restart_symtab (struct compunit_symtab *cust,
-                           const char *name, CORE_ADDR start_addr);
-
-/* Record the name of the debug format in the current pending symbol
-   table.  FORMAT must be a string with a lifetime at least as long as
-   the symtab's objfile.  */
-
-extern void record_debugformat (const char *format);
-
-/* Record the name of the debuginfo producer (usually the compiler) in
-   the current pending symbol table.  PRODUCER must be a string with a
-   lifetime at least as long as the symtab's objfile.  */
-
-extern void record_producer (const char *producer);
-
-/* Set the name of the last source file.  NAME is copied by this
-   function.  */
-
-extern void set_last_source_file (const char *name);
-
-/* Fetch the name of the last source file.  */
-
-extern const char *get_last_source_file (void);
-
-/* Return the compunit symtab object.
-   It is only valid to call this between calls to start_symtab and the
-   end_symtab* functions.  */
-
-extern struct compunit_symtab *buildsym_compunit_symtab (void);
-
-/* Return the macro table.
-   Initialize it if this is the first use.
-   It is only valid to call this between calls to start_symtab and the
-   end_symtab* functions.  */
-
-extern struct macro_table *get_macro_table (void);
-
-/* Set the last source start address.  Can only be used between
-   start_symtab and end_symtab* calls.  */
-
-extern void set_last_source_start_addr (CORE_ADDR addr);
-
-/* Get the last source start address.  Can only be used between
-   start_symtab and end_symtab* calls.  */
-
-extern CORE_ADDR get_last_source_start_addr ();
-
-/* Return the local using directives.  */
-
-extern struct using_direct **get_local_using_directives ();
-
-/* Set the list of local using directives.  */
-
-extern void set_local_using_directives (struct using_direct *new_local);
-
-/* Return the global using directives.  */
-
-extern struct using_direct **get_global_using_directives ();
-
-/* True if the context stack is empty.  */
-
-extern bool outermost_context_p ();
-
-/* Return the top of the context stack, or nullptr if there is an
-   entry.  */
-
-extern struct context_stack *get_current_context_stack ();
-
-/* Return the context stack depth.  */
-
-extern int get_context_stack_depth ();
-
-/* Return the current subfile.  */
-
-extern struct subfile *get_current_subfile ();
-
-/* Return the local symbol list.  */
-
-extern struct pending **get_local_symbols ();
-
-/* Return the file symbol list.  */
-
-extern struct pending **get_file_symbols ();
-
-/* Return the global symbol list.  */
-
-extern struct pending **get_global_symbols ();
-
 #endif /* defined (BUILDSYM_H) */
This page took 0.033561 seconds and 4 git commands to generate.