X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=gdb%2Fp-lang.c;h=439a3772cbff6553c8a04831c3b0636e35ce056e;hb=2a1dde5da23779fd0d269c3e51c7814aba9001dd;hp=516dd93b41824bd5e1d5b94338f9c05735a234a8;hpb=32d0add0a654c1204ab71dc8a55d9374538c4b33;p=deliverable%2Fbinutils-gdb.git diff --git a/gdb/p-lang.c b/gdb/p-lang.c index 516dd93b41..439a3772cb 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-2015 Free Software Foundation, Inc. + Copyright (C) 2000-2017 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 */ @@ -438,16 +442,18 @@ const struct language_defn pascal_language_defn = 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, + c_watch_location_expression, NULL, /* la_get_symbol_name_cmp */ iterate_over_symbols, &default_varobj_ops, @@ -455,9 +461,3 @@ const struct language_defn pascal_language_defn = NULL, LANG_MAGIC }; - -void -_initialize_pascal_language (void) -{ - add_language (&pascal_language_defn); -}