aboutsummaryrefslogtreecommitdiff
path: root/gdb/f-lang.c
diff options
context:
space:
mode:
authorAndrew Burgess <andrew.burgess@embecosm.com>2020-06-01 14:40:22 +0100
committerAndrew Burgess <andrew.burgess@embecosm.com>2020-06-17 09:25:10 +0100
commit53fc67f8b2663261810353ae8e4f9920ae7a1c56 (patch)
tree2007f3b5c9df85734732d64a6363d0ac5543c688 /gdb/f-lang.c
parentc9debfb97e052c32cf0308157cae529ce2059f48 (diff)
downloadfsf-binutils-gdb-53fc67f8b2663261810353ae8e4f9920ae7a1c56.zip
fsf-binutils-gdb-53fc67f8b2663261810353ae8e4f9920ae7a1c56.tar.gz
fsf-binutils-gdb-53fc67f8b2663261810353ae8e4f9920ae7a1c56.tar.bz2
gdb: Convert language la_word_break_characters field to a method
This commit changes the language_data::la_word_break_characters function pointer member variable into a member function of language_defn. There should be no user visible changes after this commit. gdb/ChangeLog: * ada-lang.c (ada_get_gdb_completer_word_break_characters): Delete. (ada_language_data): Delete la_word_break_characters initializer. (ada_language::word_break_characters): New member function. * c-lang.c (c_language_data): Delete la_word_break_characters initializer. (cplus_language_data): Likewise. (asm_language_data): Likewise. (minimal_language_data): Likewise. * completer.c: Update global comment. (advance_to_expression_complete_word_point): Update call to word_break_characters. (complete_files_symbols): Likewise. (complete_line_internal_1): Likewise. (default_completer_handle_brkchars): Likewise. (skip_quoted_chars): Likewise. * d-lang.c (d_language_data): Delete la_word_break_characters initializer. * f-lang.c (f_word_break_characters): Delete. (f_language_data): Delete la_word_break_characters initializer. (f_language::word_break_characters): New member function. * go-lang.c (go_language_data): Delete la_word_break_characters initializer. * language.c (unknown_language_data): Likewise. (auto_language_data): Likewise. * language.h (default_word_break_characters): Move declaration to earlier in the file. (language_data): Delete la_word_break_characters field. (language_defn::word_break_characters): New member function. * m2-lang.c (m2_language_data): Delete la_word_break_characters initializer. * objc-lang.c (objc_language_data): Likewise. * opencl-lang.c (opencl_language_data): Likewise. * p-lang.c (pascal_language_data): Likewise. * rust-lang.c (rust_language_data): Likewise.
Diffstat (limited to 'gdb/f-lang.c')
-rw-r--r--gdb/f-lang.c49
1 files changed, 24 insertions, 25 deletions
diff --git a/gdb/f-lang.c b/gdb/f-lang.c
index 42e6c98..27495cf 100644
--- a/gdb/f-lang.c
+++ b/gdb/f-lang.c
@@ -165,30 +165,6 @@ enum f_primitive_types {
nr_f_primitive_types
};
-/* Remove the modules separator :: from the default break list. */
-
-static const char *
-f_word_break_characters (void)
-{
- static char *retval;
-
- if (!retval)
- {
- char *s;
-
- retval = xstrdup (default_word_break_characters ());
- s = strchr (retval, ':');
- if (s)
- {
- char *last_char = &s[strlen (s) - 1];
-
- *s = *last_char;
- *last_char = 0;
- }
- }
- return retval;
-}
-
/* Consider the modules separator :: as a valid symbol name character
class. */
@@ -617,7 +593,6 @@ extern const struct language_data f_language_data =
f_op_print_tab, /* expression operators for printing */
0, /* arrays are first-class (not c-style) */
1, /* String lower bound */
- f_word_break_characters,
f_collect_symbol_completion_matches,
c_watch_location_expression,
&default_varobj_ops,
@@ -699,6 +674,30 @@ public:
f_print_type (type, varstring, stream, show, level, flags);
}
+ /* See language.h. This just returns default set of word break
+ characters but with the modules separator `::' removed. */
+
+ const char *word_break_characters (void) const override
+ {
+ static char *retval;
+
+ if (!retval)
+ {
+ char *s;
+
+ retval = xstrdup (language_defn::word_break_characters ());
+ s = strchr (retval, ':');
+ if (s)
+ {
+ char *last_char = &s[strlen (s) - 1];
+
+ *s = *last_char;
+ *last_char = 0;
+ }
+ }
+ return retval;
+ }
+
protected:
/* See language.h. */