Add MI "-break-insert --qualified"
[deliverable/binutils-gdb.git] / gdb / c-lang.c
index bb4970628d1a97239f01b6b3ff7f40bc0e706174..f29f2cef610458974ccc5f83342d6efaaf8ce624 100644 (file)
@@ -727,17 +727,6 @@ evaluate_subexp_c (struct type *expect_type, struct expression *exp,
   return evaluate_subexp_standard (expect_type, exp, pos, noside);
 }
 \f
-/* la_watch_location_expression for C.  */
-
-gdb::unique_xmalloc_ptr<char>
-c_watch_location_expression (struct type *type, CORE_ADDR addr)
-{
-  type = check_typedef (TYPE_TARGET_TYPE (check_typedef (type)));
-  std::string name = type_to_string (type);
-  return gdb::unique_xmalloc_ptr<char>
-    (xstrprintf ("* (%s *) %s", name.c_str (), core_addr_to_string (addr)));
-}
-
 /* See c-lang.h.  */
 
 bool
@@ -900,27 +889,12 @@ extern const struct language_data c_language_data =
   macro_expansion_c,
   c_extensions,
   &exp_descriptor_c,
-  c_parse,
-  null_post_parser,
-  c_printchar,                 /* Print a character constant */
-  c_printstr,                  /* Function to print string constant */
-  c_emit_char,                 /* Print a single char */
-  c_print_typedef,             /* Print a typedef using appropriate syntax */
-  c_value_print_inner,         /* la_value_print_inner */
-  c_value_print,               /* Print a top-level value */
   NULL,                                /* name_of_this */
   true,                                /* la_store_sym_names_in_linkage_form_p */
-  basic_lookup_symbol_nonlocal,        /* lookup_symbol_nonlocal */
   c_op_print_tab,              /* expression operators for printing */
   1,                           /* c-style arrays */
   0,                           /* String lower bound */
-  default_word_break_characters,
-  default_collect_symbol_completion_matches,
-  c_watch_location_expression,
-  NULL,                                /* la_get_symbol_name_matcher */
   &c_varobj_ops,
-  c_compute_program,
-  c_is_string_type_p,
   "{...}"                      /* la_struct_too_deep_ellipsis */
 };
 
@@ -946,6 +920,16 @@ public:
     return c_get_compile_context ();
   }
 
+  /* See language.h.  */
+  std::string compute_program (compile_instance *inst,
+                              const char *input,
+                              struct gdbarch *gdbarch,
+                              const struct block *expr_block,
+                              CORE_ADDR expr_pc) const override
+  {
+    return c_compute_program (inst, input, gdbarch, expr_block, expr_pc);
+  }
+
   /* See language.h.  */
 
   void print_type (struct type *type, const char *varstring,
@@ -1006,27 +990,12 @@ extern const struct language_data cplus_language_data =
   macro_expansion_c,
   cplus_extensions,
   &exp_descriptor_c,
-  c_parse,
-  null_post_parser,
-  c_printchar,                 /* Print a character constant */
-  c_printstr,                  /* Function to print string constant */
-  c_emit_char,                 /* Print a single char */
-  c_print_typedef,             /* Print a typedef using appropriate syntax */
-  c_value_print_inner,         /* la_value_print_inner */
-  c_value_print,               /* Print a top-level value */
   "this",                       /* name_of_this */
   false,                       /* la_store_sym_names_in_linkage_form_p */
-  cp_lookup_symbol_nonlocal,   /* lookup_symbol_nonlocal */
   c_op_print_tab,              /* expression operators for printing */
   1,                           /* c-style arrays */
   0,                           /* String lower bound */
-  default_word_break_characters,
-  default_collect_symbol_completion_matches,
-  c_watch_location_expression,
-  cp_get_symbol_name_matcher,
   &cplus_varobj_ops,
-  cplus_compute_program,
-  c_is_string_type_p,
   "{...}"                      /* la_struct_too_deep_ellipsis */
 };
 
@@ -1122,6 +1091,16 @@ public:
     return cplus_get_compile_context ();
   }
 
+  /* See language.h.  */
+  std::string compute_program (compile_instance *inst,
+                              const char *input,
+                              struct gdbarch *gdbarch,
+                              const struct block *expr_block,
+                              CORE_ADDR expr_pc) const override
+  {
+    return cplus_compute_program (inst, input, gdbarch, expr_block, expr_pc);
+  }
+
   /* See language.h.  */
   unsigned int search_name_hash (const char *name) const override
   {
@@ -1166,6 +1145,25 @@ public:
   {
     return cp_class_name_from_physname (physname);
   }
+
+  /* See language.h.  */
+
+  struct block_symbol lookup_symbol_nonlocal
+       (const char *name, const struct block *block,
+        const domain_enum domain) const override
+  {
+    return cp_lookup_symbol_nonlocal (this, name, block, domain);
+  }
+
+protected:
+
+  /* See language.h.  */
+
+  symbol_name_matcher_ftype *get_symbol_name_matcher_inner
+       (const lookup_name_info &lookup_name) const override
+  {
+    return cp_get_symbol_name_matcher (lookup_name);
+  }
 };
 
 /* The single instance of the C++ language class.  */
@@ -1190,27 +1188,12 @@ extern const struct language_data asm_language_data =
   macro_expansion_c,
   asm_extensions,
   &exp_descriptor_c,
-  c_parse,
-  null_post_parser,
-  c_printchar,                 /* Print a character constant */
-  c_printstr,                  /* Function to print string constant */
-  c_emit_char,                 /* Print a single char */
-  c_print_typedef,             /* Print a typedef using appropriate syntax */
-  c_value_print_inner,         /* la_value_print_inner */
-  c_value_print,               /* Print a top-level value */
   NULL,                                /* name_of_this */
   true,                                /* la_store_sym_names_in_linkage_form_p */
-  basic_lookup_symbol_nonlocal,        /* lookup_symbol_nonlocal */
   c_op_print_tab,              /* expression operators for printing */
   1,                           /* c-style arrays */
   0,                           /* String lower bound */
-  default_word_break_characters,
-  default_collect_symbol_completion_matches,
-  c_watch_location_expression,
-  NULL,                                /* la_get_symbol_name_matcher */
   &default_varobj_ops,
-  NULL,
-  c_is_string_type_p,
   "{...}"                      /* la_struct_too_deep_ellipsis */
 };
 
@@ -1261,27 +1244,12 @@ extern const struct language_data minimal_language_data =
   macro_expansion_c,
   NULL,
   &exp_descriptor_c,
-  c_parse,
-  null_post_parser,
-  c_printchar,                 /* Print a character constant */
-  c_printstr,                  /* Function to print string constant */
-  c_emit_char,                 /* Print a single char */
-  c_print_typedef,             /* Print a typedef using appropriate syntax */
-  c_value_print_inner,         /* la_value_print_inner */
-  c_value_print,               /* Print a top-level value */
   NULL,                                /* name_of_this */
   true,                                /* la_store_sym_names_in_linkage_form_p */
-  basic_lookup_symbol_nonlocal,        /* lookup_symbol_nonlocal */
   c_op_print_tab,              /* expression operators for printing */
   1,                           /* c-style arrays */
   0,                           /* String lower bound */
-  default_word_break_characters,
-  default_collect_symbol_completion_matches,
-  c_watch_location_expression,
-  NULL,                                /* la_get_symbol_name_matcher */
   &default_varobj_ops,
-  NULL,
-  c_is_string_type_p,
   "{...}"                      /* la_struct_too_deep_ellipsis */
 };
 
This page took 0.026763 seconds and 4 git commands to generate.