Use macros for some enum bit field sizes.
[deliverable/binutils-gdb.git] / gdb / defs.h
index eda67417bf5bc7e396b7256a0baf55c8d87b6404..f4951abb223e9e59ecabdf7747f004759c52cd25 100644 (file)
@@ -70,6 +70,15 @@ enum compile_i_scope_types
     /* Do not wrap the expression,
        it has to provide function "_gdb_expr" on its own.  */
     COMPILE_I_RAW_SCOPE,
+
+    /* A printable expression scope.  Wrap an expression into a scope
+       suitable for the "compile print" command.  It uses the generic
+       function name "_gdb_expr".  COMPILE_I_PRINT_ADDRESS_SCOPE variant
+       is the usual one, taking address of the object.
+       COMPILE_I_PRINT_VALUE_SCOPE is needed for arrays where the array
+       name already specifies its address.  See get_out_value_type.  */
+    COMPILE_I_PRINT_ADDRESS_SCOPE,
+    COMPILE_I_PRINT_VALUE_SCOPE,
   };
 
 /* Just in case they're not defined in stdio.h.  */
@@ -177,6 +186,11 @@ enum language
     nr_languages
   };
 
+/* The number of bits needed to represent all languages, with enough
+   padding to allow for reasonable growth.  */
+#define LANGUAGE_BITS 5
+gdb_static_assert (nr_languages <= (1 << LANGUAGE_BITS));
+
 enum precision_type
   {
     single_precision,
@@ -397,6 +411,7 @@ struct command_line
        struct
          {
            enum compile_i_scope_types scope;
+           void *scope_data;
          }
        compile;
       }
@@ -581,25 +596,6 @@ extern double atof (const char *); /* X3.159-1989  4.10.1.1 */
 
 enum { MAX_REGISTER_SIZE = 64 };
 
-/* Static target-system-dependent parameters for GDB.  */
-
-/* * Number of bits in a char or unsigned char for the target machine.
-   Just like CHAR_BIT in <limits.h> but describes the target machine.  */
-#if !defined (TARGET_CHAR_BIT)
-#define TARGET_CHAR_BIT 8
-#endif
-
-/* * If we picked up a copy of CHAR_BIT from a configuration file
-   (which may get it by including <limits.h>) then use it to set
-   the number of bits in a host char.  If not, use the same size
-   as the target.  */
-
-#if defined (CHAR_BIT)
-#define HOST_CHAR_BIT CHAR_BIT
-#else
-#define HOST_CHAR_BIT TARGET_CHAR_BIT
-#endif
-
 /* In findvar.c.  */
 
 extern LONGEST extract_signed_integer (const gdb_byte *, int,
@@ -633,10 +629,6 @@ extern int watchdog;
 /* * The name of the interpreter if specified on the command line.  */
 extern char *interpreter_p;
 
-/* If a given interpreter matches INTERPRETER_P then it should update
-   deprecated_init_ui_hook with the per-interpreter implementation.  */
-/* FIXME: deprecated_init_ui_hook should be moved here.  */
-
 struct target_waitstatus;
 struct cmd_list_element;
 
@@ -644,7 +636,6 @@ extern void (*deprecated_pre_add_symbol_hook) (const char *);
 extern void (*deprecated_post_add_symbol_hook) (void);
 extern void (*selected_frame_level_changed_hook) (int);
 extern int (*deprecated_ui_loop_hook) (int signo);
-extern void (*deprecated_init_ui_hook) (char *argv0);
 extern void (*deprecated_show_load_progress) (const char *section,
                                              unsigned long section_sent, 
                                              unsigned long section_size, 
@@ -663,7 +654,6 @@ extern void (*deprecated_readline_begin_hook) (char *, ...)
      ATTRIBUTE_FPTR_PRINTF_1;
 extern char *(*deprecated_readline_hook) (const char *);
 extern void (*deprecated_readline_end_hook) (void);
-extern void (*deprecated_register_changed_hook) (int regno);
 extern void (*deprecated_context_hook) (int);
 extern ptid_t (*deprecated_target_wait_hook) (ptid_t ptid,
                                              struct target_waitstatus *status,
This page took 0.025643 seconds and 4 git commands to generate.