X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=gdb%2Fp-lang.c;h=3ff7f5694f40edd20e853353dcd6c869340dfa2a;hb=22bc8444e6d377fd016253926c2a2597ff944842;hp=53669ad03a62ff3b2bbb36b537f78608199c60ed;hpb=bb2ec1b34e7cc8d8602512235016e74b800dac3b;p=deliverable%2Fbinutils-gdb.git diff --git a/gdb/p-lang.c b/gdb/p-lang.c index 53669ad03a..3ff7f5694f 100644 --- a/gdb/p-lang.c +++ b/gdb/p-lang.c @@ -1,6 +1,6 @@ /* Pascal language support routines for GDB, the GNU debugger. - Copyright (C) 2000-2014 Free Software Foundation, Inc. + Copyright (C) 2000-2018 Free Software Foundation, Inc. This file is part of GDB. @@ -30,9 +30,7 @@ #include "valprint.h" #include "value.h" #include - -extern void _initialize_pascal_language (void); - +#include "c-lang.h" /* All GPC versions until now (2007-09-27) also define a symbol called '_p_initialize'. Check for the presence of this symbol first. */ @@ -339,7 +337,7 @@ const struct op_print pascal_op_print_tab[] = {"^", UNOP_IND, PREC_SUFFIX, 1}, {"@", UNOP_ADDR, PREC_PREFIX, 0}, {"sizeof", UNOP_SIZEOF, PREC_PREFIX, 0}, - {NULL, 0, 0, 0} + {NULL, OP_NULL, PREC_PREFIX, 0} }; enum pascal_primitive_types { @@ -412,7 +410,12 @@ pascal_language_arch_info (struct gdbarch *gdbarch, lai->bool_type_default = builtin->builtin_bool; } -const struct language_defn pascal_language_defn = +static const char *p_extensions[] = +{ + ".pas", ".p", ".pp", NULL +}; + +extern const struct language_defn pascal_language_defn = { "pascal", /* Language name */ "Pascal", @@ -421,9 +424,10 @@ const struct language_defn pascal_language_defn = case_sensitive_on, array_row_major, macro_expansion_no, + p_extensions, &exp_descriptor_standard, pascal_parse, - pascal_error, + pascal_yyerror, null_post_parser, pascal_printchar, /* Print a character constant */ pascal_printstr, /* Function to print string constant */ @@ -435,29 +439,27 @@ 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 */ + NULL, NULL, /* Language specific class_name_from_physname */ pascal_op_print_tab, /* expression operators for printing */ 1, /* c-style arrays */ 0, /* String lower bound */ default_word_break_characters, - default_make_symbol_completion_list, + default_collect_symbol_completion_matches, pascal_language_arch_info, default_print_array_index, default_pass_by_reference, default_get_string, - NULL, /* la_get_symbol_name_cmp */ + c_watch_location_expression, + NULL, /* la_compare_symbol_for_completion */ iterate_over_symbols, + default_search_name_hash, &default_varobj_ops, NULL, NULL, LANG_MAGIC }; - -void -_initialize_pascal_language (void) -{ - add_language (&pascal_language_defn); -}