SYMTAB_OBJFILE: New macro.
[deliverable/binutils-gdb.git] / gdb / guile / scm-symtab.c
index 7294fea0608bf7ef43ac21392ad40d9e6e3939ca..3567ad82ce4a932995bc6d674586492a3e120628 100644 (file)
@@ -109,7 +109,7 @@ stscm_eq_symtab_smob (const void *ap, const void *bp)
 static htab_t
 stscm_objfile_symtab_map (struct symtab *symtab)
 {
-  struct objfile *objfile = symtab->objfile;
+  struct objfile *objfile = SYMTAB_OBJFILE (symtab);
   htab_t htab = objfile_data (objfile, stscm_objfile_data_key);
 
   if (htab == NULL)
@@ -122,17 +122,6 @@ stscm_objfile_symtab_map (struct symtab *symtab)
   return htab;
 }
 
-/* The smob "mark" function for <gdb:symtab>.  */
-
-static SCM
-stscm_mark_symtab_smob (SCM self)
-{
-  symtab_smob *st_smob = (symtab_smob *) SCM_SMOB_DATA (self);
-
-  /* Do this last.  */
-  return gdbscm_mark_eqable_gsmob (&st_smob->base);
-}
-
 /* The smob "free" function for <gdb:symtab>.  */
 
 static size_t
@@ -359,7 +348,7 @@ gdbscm_symtab_objfile (SCM self)
     = stscm_get_valid_symtab_smob_arg_unsafe (self, SCM_ARG1, FUNC_NAME);
   const struct symtab *symtab = st_smob->symtab;
 
-  return ofscm_scm_from_objfile (symtab->objfile);
+  return ofscm_scm_from_objfile (SYMTAB_OBJFILE (symtab));
 }
 
 /* (symtab-global-block <gdb:symtab>) -> <gdb:block>
@@ -377,7 +366,7 @@ gdbscm_symtab_global_block (SCM self)
   blockvector = BLOCKVECTOR (symtab);
   block = BLOCKVECTOR_BLOCK (blockvector, GLOBAL_BLOCK);
 
-  return bkscm_scm_from_block (block, symtab->objfile);
+  return bkscm_scm_from_block (block, SYMTAB_OBJFILE (symtab));
 }
 
 /* (symtab-static-block <gdb:symtab>) -> <gdb:block>
@@ -395,37 +384,11 @@ gdbscm_symtab_static_block (SCM self)
   blockvector = BLOCKVECTOR (symtab);
   block = BLOCKVECTOR_BLOCK (blockvector, STATIC_BLOCK);
 
-  return bkscm_scm_from_block (block, symtab->objfile);
+  return bkscm_scm_from_block (block, SYMTAB_OBJFILE (symtab));
 }
 \f
 /* Administrivia for sal (symtab-and-line) smobs.  */
 
-/* The smob "mark" function for <gdb:sal>.  */
-
-static SCM
-stscm_mark_sal_smob (SCM self)
-{
-  sal_smob *s_smob = (sal_smob *) SCM_SMOB_DATA (self);
-
-  scm_gc_mark (s_smob->symtab_scm);
-
-  /* Do this last.  */
-  return gdbscm_mark_gsmob (&s_smob->base);
-}
-
-/* The smob "free" function for <gdb:sal>.  */
-
-static size_t
-stscm_free_sal_smob (SCM self)
-{
-  sal_smob *s_smob = (sal_smob *) SCM_SMOB_DATA (self);
-
-  /* Not necessary, done to catch bugs.  */
-  s_smob->symtab_scm = SCM_UNDEFINED;
-
-  return 0;
-}
-
 /* The smob "print" function for <gdb:sal>.  */
 
 static int
@@ -716,13 +679,10 @@ gdbscm_initialize_symtabs (void)
 {
   symtab_smob_tag
     = gdbscm_make_smob_type (symtab_smob_name, sizeof (symtab_smob));
-  scm_set_smob_mark (symtab_smob_tag, stscm_mark_symtab_smob);
   scm_set_smob_free (symtab_smob_tag, stscm_free_symtab_smob);
   scm_set_smob_print (symtab_smob_tag, stscm_print_symtab_smob);
 
   sal_smob_tag = gdbscm_make_smob_type (sal_smob_name, sizeof (sal_smob));
-  scm_set_smob_mark (sal_smob_tag, stscm_mark_sal_smob);
-  scm_set_smob_free (sal_smob_tag, stscm_free_sal_smob);
   scm_set_smob_print (sal_smob_tag, stscm_print_sal_smob);
 
   gdbscm_define_functions (symtab_functions, 1);
This page took 0.026465 seconds and 4 git commands to generate.