]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blobdiff - gdb/p-lang.c
Make gdb.base/index-cache.exp work with readnow board (PR 24669)
[thirdparty/binutils-gdb.git] / gdb / p-lang.c
index 439a3772cbff6553c8a04831c3b0636e35ce056e..9b9f19b69cf2a2586547564bcaceae8c1849cb4a 100644 (file)
@@ -1,6 +1,6 @@
 /* Pascal language support routines for GDB, the GNU debugger.
 
-   Copyright (C) 2000-2017 Free Software Foundation, Inc.
+   Copyright (C) 2000-2019 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -150,6 +150,16 @@ is_pascal_string_type (struct type *type,int *length_pos,
   return 0;
 }
 
+/* This is a wrapper around IS_PASCAL_STRING_TYPE that returns true if TYPE
+   is a string.  */
+
+static bool
+pascal_is_string_type_p (struct type *type)
+{
+  return is_pascal_string_type (type, nullptr, nullptr, nullptr,
+                               nullptr, nullptr) > 0;
+}
+
 static void pascal_one_char (int, struct ui_file *, int *);
 
 /* Print the character C on STREAM as part of the contents of a literal
@@ -427,7 +437,6 @@ extern const struct language_defn pascal_language_defn =
   p_extensions,
   &exp_descriptor_standard,
   pascal_parse,
-  pascal_yyerror,
   null_post_parser,
   pascal_printchar,            /* Print a character constant */
   pascal_printstr,             /* Function to print string constant */
@@ -439,6 +448,7 @@ extern const struct language_defn pascal_language_defn =
   default_read_var_value,      /* la_read_var_value */
   NULL,                                /* Language specific skip_trampoline */
   "this",                      /* name_of_this */
+  false,                       /* la_store_sym_names_in_linkage_form_p */
   basic_lookup_symbol_nonlocal,        /* lookup_symbol_nonlocal */
   basic_lookup_transparent_type,/* lookup_transparent_type */
   NULL,                                /* Language specific symbol demangler */
@@ -454,10 +464,12 @@ extern const struct language_defn pascal_language_defn =
   default_pass_by_reference,
   default_get_string,
   c_watch_location_expression,
-  NULL,                                /* la_get_symbol_name_cmp */
+  NULL,                                /* la_compare_symbol_for_completion */
   iterate_over_symbols,
+  default_search_name_hash,
   &default_varobj_ops,
   NULL,
   NULL,
-  LANG_MAGIC
+  pascal_is_string_type_p,
+  "{...}"                      /* la_struct_too_deep_ellipsis */
 };