diff libinterp/octave-value/ov-base.h @ 31110:670a0d878af1

eliminate WHO arguments from interpreter-private functions * interpreter-private.h, inpterpreter-private.cc (__get_interpreter__, __get_dynamic_loader__, __get_error_system__, __get_gh_manager__, __get_help_system__, __get_input_system__, __get_load_path__, __get_load_save_system__, __get_event_manager__, __get_output_system__, __get_type_info__, __get_symbol_table__, __get_current_scope__, __require_current_scope__, __get_evaluator__, __get_bp_table__, __get_child_list__, __get_cdef_manager__, __get_display_info__, __get_gtk_manager__): Eliminate WHO argument. Previously, it was never displayed by __get_interpreter__. And, as pointed out by Petter Tomner in patch #10216, passing a std::string object could have performance issues. (__get_interpreter__): Eliminate useless call to error. Display message to std::cerr then abort.
author John W. Eaton <jwe@octave.org>
date Wed, 22 Jun 2022 12:48:59 -0400
parents eba0a86471b9
children d98abdd15d40
line wrap: on
line diff
--- a/libinterp/octave-value/ov-base.h	Tue Jun 21 15:44:03 2022 +0200
+++ b/libinterp/octave-value/ov-base.h	Wed Jun 22 12:48:59 2022 -0400
@@ -51,9 +51,11 @@
 
   // FIXME: This is not ideal, but it avoids including
   // interpreter-private.h here and bringing in a lot of unnecessary
-  // symbols that require even more header files.
+  // symbols that require even more header files.  Since the typeinfo
+  // object is required to load a user-defined octave_value object,
+  // maybe this function should be declared in a public header file?
 
-  extern OCTINTERP_API type_info& __get_type_info__ (const std::string&);
+  extern OCTINTERP_API type_info& __get_type_info__ (void);
 }
 
 class Cell;
@@ -205,8 +207,7 @@
   tspec const std::string t::c_name (c);                                \
   tspec void t::register_type (void)                                    \
   {                                                                     \
-    octave::type_info& type_info                                        \
-      = octave::__get_type_info__ (#t "::register_type");               \
+    octave::type_info& type_info = octave::__get_type_info__ ();        \
                                                                         \
     register_type (type_info);                                          \
   }                                                                     \