Update copyright year range in all GDB files.
[deliverable/binutils-gdb.git] / gdb / guile / scm-symbol.c
index f711a02e678a5f4316a7d697953de6cce3f40981..8bad7e6c5a093ed83be8ccb08fde292e57caf1bc 100644 (file)
@@ -1,6 +1,6 @@
 /* Scheme interface to symbols.
 
-   Copyright (C) 2008-2015 Free Software Foundation, Inc.
+   Copyright (C) 2008-2020 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -65,7 +65,7 @@ struct syscm_gdbarch_data
 static hashval_t
 syscm_hash_symbol_smob (const void *p)
 {
-  const symbol_smob *s_smob = p;
+  const symbol_smob *s_smob = (const symbol_smob *) p;
 
   return htab_hash_pointer (s_smob->symbol);
 }
@@ -75,8 +75,8 @@ syscm_hash_symbol_smob (const void *p)
 static int
 syscm_eq_symbol_smob (const void *ap, const void *bp)
 {
-  const symbol_smob *a = ap;
-  const symbol_smob *b = bp;
+  const symbol_smob *a = (const symbol_smob *) ap;
+  const symbol_smob *b = (const symbol_smob *) bp;
 
   return (a->symbol == b->symbol
          && a->symbol != NULL);
@@ -105,7 +105,7 @@ syscm_get_symbol_map (struct symbol *symbol)
     {
       struct objfile *objfile = symbol_objfile (symbol);
 
-      htab = objfile_data (objfile, syscm_objfile_data_key);
+      htab = (htab_t) objfile_data (objfile, syscm_objfile_data_key);
       if (htab == NULL)
        {
          htab = gdbscm_create_eqable_gsmob_ptr_map (syscm_hash_symbol_smob,
@@ -116,7 +116,8 @@ syscm_get_symbol_map (struct symbol *symbol)
   else
     {
       struct gdbarch *gdbarch = symbol_arch (symbol);
-      struct syscm_gdbarch_data *data = gdbarch_data (gdbarch,
+      struct syscm_gdbarch_data *data
+       = (struct syscm_gdbarch_data *) gdbarch_data (gdbarch,
                                                      syscm_gdbarch_data_key);
 
       htab = data->htab;
@@ -156,7 +157,7 @@ syscm_print_symbol_smob (SCM self, SCM port, scm_print_state *pstate)
     gdbscm_printf (port, "#<%s ", symbol_smob_name);
   gdbscm_printf (port, "%s",
                 s_smob->symbol != NULL
-                ? SYMBOL_PRINT_NAME (s_smob->symbol)
+                ? s_smob->symbol->print_name ()
                 : "<invalid>");
   if (pstate->writingp)
     scm_puts (">", port);
@@ -311,7 +312,7 @@ syscm_mark_symbol_invalid (void **slot, void *info)
 static void
 syscm_del_objfile_symbols (struct objfile *objfile, void *datum)
 {
-  htab_t htab = datum;
+  htab_t htab = (htab_t) datum;
 
   if (htab != NULL)
     {
@@ -375,7 +376,7 @@ gdbscm_symbol_name (SCM self)
     = syscm_get_valid_symbol_smob_arg_unsafe (self, SCM_ARG1, FUNC_NAME);
   const struct symbol *symbol = s_smob->symbol;
 
-  return gdbscm_scm_from_c_string (SYMBOL_NATURAL_NAME (symbol));
+  return gdbscm_scm_from_c_string (symbol->natural_name ());
 }
 
 /* (symbol-linkage-name <gdb:symbol>) -> string */
@@ -387,7 +388,7 @@ gdbscm_symbol_linkage_name (SCM self)
     = syscm_get_valid_symbol_smob_arg_unsafe (self, SCM_ARG1, FUNC_NAME);
   const struct symbol *symbol = s_smob->symbol;
 
-  return gdbscm_scm_from_c_string (SYMBOL_LINKAGE_NAME (symbol));
+  return gdbscm_scm_from_c_string (symbol->linkage_name ());
 }
 
 /* (symbol-print-name <gdb:symbol>) -> string */
@@ -399,7 +400,7 @@ gdbscm_symbol_print_name (SCM self)
     = syscm_get_valid_symbol_smob_arg_unsafe (self, SCM_ARG1, FUNC_NAME);
   const struct symbol *symbol = s_smob->symbol;
 
-  return gdbscm_scm_from_c_string (SYMBOL_PRINT_NAME (symbol));
+  return gdbscm_scm_from_c_string (symbol->print_name ());
 }
 
 /* (symbol-addr-class <gdb:symbol>) -> integer */
@@ -485,16 +486,17 @@ gdbscm_symbol_needs_frame_p (SCM self)
   struct symbol *symbol = s_smob->symbol;
   int result = 0;
 
-  TRY
+  gdbscm_gdb_exception exc {};
+  try
     {
       result = symbol_read_needs_frame (symbol);
     }
-  CATCH (except, RETURN_MASK_ALL)
+  catch (const gdb_exception &except)
     {
-      GDBSCM_HANDLE_GDB_EXCEPTION (except);
+      exc = unpack (except);
     }
-  END_CATCH
 
+  GDBSCM_HANDLE_GDB_EXCEPTION (exc);
   return scm_from_bool (result);
 }
 
@@ -538,7 +540,8 @@ gdbscm_symbol_value (SCM self, SCM rest)
                                 _("cannot get the value of a typedef"));
     }
 
-  TRY
+  gdbscm_gdb_exception exc {};
+  try
     {
       if (f_smob != NULL)
        {
@@ -556,12 +559,12 @@ gdbscm_symbol_value (SCM self, SCM rest)
         can happen with nested functions).  */
       value = read_var_value (symbol, NULL, frame_info);
     }
-  CATCH (except, RETURN_MASK_ALL)
+  catch (const gdb_exception &except)
     {
-      GDBSCM_HANDLE_GDB_EXCEPTION (except);
+      exc = unpack (except);
     }
-  END_CATCH
 
+  GDBSCM_HANDLE_GDB_EXCEPTION (exc);
   return vlscm_scm_from_value (value);
 }
 \f
@@ -581,16 +584,12 @@ gdbscm_lookup_symbol (SCM name_scm, SCM rest)
   int block_arg_pos = -1, domain_arg_pos = -1;
   struct field_of_this_result is_a_field_of_this;
   struct symbol *symbol = NULL;
-  struct cleanup *cleanups;
-  struct gdb_exception except = exception_none;
 
   gdbscm_parse_function_args (FUNC_NAME, SCM_ARG1, keywords, "s#Oi",
                              name_scm, &name, rest,
                              &block_arg_pos, &block_scm,
                              &domain_arg_pos, &domain);
 
-  cleanups = make_cleanup (xfree, name);
-
   if (block_arg_pos >= 0)
     {
       SCM except_scm;
@@ -599,7 +598,7 @@ gdbscm_lookup_symbol (SCM name_scm, SCM rest)
                                  &except_scm);
       if (block == NULL)
        {
-         do_cleanups (cleanups);
+         xfree (name);
          gdbscm_throw (except_scm);
        }
     }
@@ -607,29 +606,32 @@ gdbscm_lookup_symbol (SCM name_scm, SCM rest)
     {
       struct frame_info *selected_frame;
 
-      TRY
+      gdbscm_gdb_exception exc {};
+      try
        {
          selected_frame = get_selected_frame (_("no frame selected"));
          block = get_frame_block (selected_frame, NULL);
        }
-      CATCH (except, RETURN_MASK_ALL)
+      catch (const gdb_exception &ex)
        {
-         GDBSCM_HANDLE_GDB_EXCEPTION_WITH_CLEANUPS (except, cleanups);
+         xfree (name);
+         exc = unpack (ex);
        }
-      END_CATCH
+      GDBSCM_HANDLE_GDB_EXCEPTION (exc);
     }
 
-  TRY
+  gdbscm_gdb_exception except {};
+  try
     {
-      symbol = lookup_symbol (name, block, domain, &is_a_field_of_this).symbol;
+      symbol = lookup_symbol (name, block, (domain_enum) domain,
+                             &is_a_field_of_this).symbol;
     }
-  CATCH (ex, RETURN_MASK_ALL)
+  catch (const gdb_exception &ex)
     {
-      except = ex;
+      except = unpack (ex);
     }
-  END_CATCH
 
-  do_cleanups (cleanups);
+  xfree (name);
   GDBSCM_HANDLE_GDB_EXCEPTION (except);
 
   if (symbol == NULL)
@@ -650,26 +652,22 @@ gdbscm_lookup_global_symbol (SCM name_scm, SCM rest)
   int domain_arg_pos = -1;
   int domain = VAR_DOMAIN;
   struct symbol *symbol = NULL;
-  struct cleanup *cleanups;
-  struct gdb_exception except = exception_none;
+  gdbscm_gdb_exception except {};
 
   gdbscm_parse_function_args (FUNC_NAME, SCM_ARG1, keywords, "s#i",
                              name_scm, &name, rest,
                              &domain_arg_pos, &domain);
 
-  cleanups = make_cleanup (xfree, name);
-
-  TRY
+  try
     {
-      symbol = lookup_global_symbol (name, NULL, domain).symbol;
+      symbol = lookup_global_symbol (name, NULL, (domain_enum) domain).symbol;
     }
-  CATCH (ex, RETURN_MASK_ALL)
+  catch (const gdb_exception &ex)
     {
-      except = ex;
+      except = unpack (ex);
     }
-  END_CATCH
 
-  do_cleanups (cleanups);
+  xfree (name);
   GDBSCM_HANDLE_GDB_EXCEPTION (except);
 
   if (symbol == NULL)
This page took 0.027443 seconds and 4 git commands to generate.