Convert compunit_language to a method
authorTom Tromey <tom@tromey.com>
Thu, 27 Oct 2022 00:26:38 +0000 (18:26 -0600)
committerTom Tromey <tom@tromey.com>
Fri, 28 Oct 2022 20:19:22 +0000 (14:19 -0600)
This changes compunit_language to be a method on compunit_symtab.

Approved-By: Simon Marchi <simon.marchi@efficios.com>
gdb/dwarf2/read.c
gdb/frame.c
gdb/infrun.c
gdb/mdebugread.c
gdb/symtab.c
gdb/symtab.h

index 071d0c48e99709e1bfa2c6a765ff2439d7e9efae..7a5745be71fb9844a639e63ade9c9f86a5497cae 100644 (file)
@@ -9736,7 +9736,7 @@ dwarf2_cu::setup_type_unit_groups (struct die_info *die)
          m_builder.reset (new struct buildsym_compunit
                           (cust->objfile (), "",
                            cust->dirname (),
-                           compunit_language (cust),
+                           cust->language (),
                            0, cust));
          list_in_scope = get_builder ()->get_file_symbols ();
        }
@@ -9790,7 +9790,7 @@ dwarf2_cu::setup_type_unit_groups (struct die_info *die)
       m_builder.reset (new struct buildsym_compunit
                       (cust->objfile (), "",
                        cust->dirname (),
-                       compunit_language (cust),
+                       cust->language (),
                        0, cust));
       list_in_scope = get_builder ()->get_file_symbols ();
 
index 858fe64e832d91ded23f7d0956a57859d9febed9..5cf9186e43d7385330439d6bb1405a197a5404fb 100644 (file)
@@ -1895,10 +1895,10 @@ select_frame (frame_info_ptr fi)
          struct compunit_symtab *cust = find_pc_compunit_symtab (pc);
 
          if (cust != NULL
-             && compunit_language (cust) != current_language->la_language
-             && compunit_language (cust) != language_unknown
+             && cust->language () != current_language->la_language
+             && cust->language () != language_unknown
              && language_mode == language_mode_auto)
-           set_language (compunit_language (cust));
+           set_language (cust->language ());
        }
     }
 }
@@ -2964,7 +2964,7 @@ get_frame_language (frame_info_ptr frame)
       struct compunit_symtab *cust = find_pc_compunit_symtab (pc);
 
       if (cust != NULL)
-       return compunit_language (cust);
+       return cust->language ();
     }
 
   return language_unknown;
index 8507796cc313eb6f2d44ab8123e93895667eea2c..5ff0dc44d0320f38f30f8671af29295f97c14c48 100644 (file)
@@ -7788,7 +7788,7 @@ handle_step_into_function (struct gdbarch *gdbarch,
 
   compunit_symtab *cust
     = find_pc_compunit_symtab (ecs->event_thread->stop_pc ());
-  if (cust != NULL && compunit_language (cust) != language_asm)
+  if (cust != NULL && cust->language () != language_asm)
     ecs->stop_func_start
       = gdbarch_skip_prologue_noexcept (gdbarch, ecs->stop_func_start);
 
@@ -7867,7 +7867,7 @@ handle_step_into_function_backward (struct gdbarch *gdbarch,
   fill_in_stop_func (gdbarch, ecs);
 
   cust = find_pc_compunit_symtab (ecs->event_thread->stop_pc ());
-  if (cust != NULL && compunit_language (cust) != language_asm)
+  if (cust != NULL && cust->language () != language_asm)
     ecs->stop_func_start
       = gdbarch_skip_prologue_noexcept (gdbarch, ecs->stop_func_start);
 
index c547e2320e181f4e058f2be2656c8bbba8b92d1a..050589197a7ba0545e2dd4b603f7ebdf7d8e0e14 100644 (file)
@@ -4623,7 +4623,7 @@ new_symtab (const char *name, int maxlines, struct objfile *objfile)
   symtab = allocate_symtab (cust, name);
 
   symtab->set_linetable (new_linetable (maxlines));
-  lang = compunit_language (cust);
+  lang = cust->language ();
 
   /* All symtabs must have at least two blocks.  */
   bv = new_bvect (2);
index a004cc021fe156976b2a9c8aab0c810269c551a2..ff8d24a56145204587999e6343370c4fd53e820e 100644 (file)
@@ -405,12 +405,12 @@ compunit_symtab::primary_filetab () const
 /* See symtab.h.  */
 
 enum language
-compunit_language (const struct compunit_symtab *cust)
+compunit_symtab::language () const
 {
-  struct symtab *symtab = cust->primary_filetab ();
+  struct symtab *symtab = primary_filetab ();
 
-/* The language of the compunit symtab is the language of its primary
-   source file.  */
+  /* The language of the compunit symtab is the language of its
+     primary source file.  */
   return symtab->language ();
 }
 
index dac3266290cd754edd5919c3107e6e4aedaf71be..4f3e84bbbe93c2b96ae377fba1933559629cbdbf 100644 (file)
@@ -1840,6 +1840,9 @@ struct compunit_symtab
   /* Find call_site info for PC.  */
   call_site *find_call_site (CORE_ADDR pc) const;
 
+  /* Return the language of this compunit_symtab.  */
+  enum language language () const;
+
   /* Unordered chain of all compunit symtabs of this objfile.  */
   struct compunit_symtab *next;
 
@@ -1920,10 +1923,6 @@ struct compunit_symtab
 
 using compunit_symtab_range = next_range<compunit_symtab>;
 
-/* Return the language of CUST.  */
-
-extern enum language compunit_language (const struct compunit_symtab *cust);
-
 /* Return true if this symtab is the "main" symtab of its compunit_symtab.  */
 
 static inline bool