This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
[commit] Remove non-per-gdbarch language type support
- From: "Ulrich Weigand" <uweigand at de dot ibm dot com>
- To: gdb-patches at sourceware dot org
- Date: Fri, 2 Nov 2007 20:36:06 +0100 (CET)
- Subject: [commit] Remove non-per-gdbarch language type support
Hello,
a couple of months ago I switched all languages to use the per-gdbarch
type definition scheme; however, the support for the old mechanism
(la_builtin_type_vector and string_char_type in struct language_defn)
was still there, just unused. This patch removes these remains.
Tested on amd64-linux, committed to mainline.
Bye,
Ulrich
ChangeLog:
* language.h (struct language_defn): Remove la_builtin_type_vector
and string_char_type members.
* language.c (language_string_char_type): No longer consult
la->string_char_type.
(language_lookup_primitive_type_by_name): No longer consult
current_language->la_builtin_type_vector.
* language.c (unknown_language_defn, auto_language_defn,
local_language_defn): Adapt initializer.
* ada-lang.c (ada_language_defn): Likewise.
* c-lang.c (c_language_defn, cplus_language_defn, asm_language_defn,
minimal_language_defn): Likewise.
* f-lang.c (f_language_defn): Likewise.
* jv-lang.c (java_language_defn): Likewise.
* m2-lang.c (m2_language_defn): Likewise.
* objc-lang.c (objc_language_defn): Likewise.
* p-lang.c (pascal_language_defn): Likewise.
* scm-lang.c (scm_language_defn): Likewise.
diff -urNp gdb-orig/gdb/ada-lang.c gdb-head/gdb/ada-lang.c
--- gdb-orig/gdb/ada-lang.c 2007-11-02 04:17:19.000000000 +0100
+++ gdb-head/gdb/ada-lang.c 2007-11-02 19:51:30.000000000 +0100
@@ -10411,7 +10411,6 @@ static const struct exp_descriptor ada_e
const struct language_defn ada_language_defn = {
"ada", /* Language name */
language_ada,
- NULL,
range_check_off,
type_check_off,
case_sensitive_on, /* Yes, Ada is case-insensitive, but
@@ -10437,7 +10436,6 @@ const struct language_defn ada_language_
ada_op_print_tab, /* expression operators for printing */
0, /* c-style arrays */
1, /* String lower bound */
- NULL,
ada_get_gdb_completer_word_break_characters,
ada_language_arch_info,
ada_print_array_index,
diff -urNp gdb-orig/gdb/c-lang.c gdb-head/gdb/c-lang.c
--- gdb-orig/gdb/c-lang.c 2007-11-01 19:38:31.000000000 +0100
+++ gdb-head/gdb/c-lang.c 2007-11-02 19:52:19.000000000 +0100
@@ -592,7 +592,6 @@ const struct language_defn c_language_de
{
"c", /* Language name */
language_c,
- NULL,
range_check_off,
type_check_off,
case_sensitive_on,
@@ -617,7 +616,6 @@ const struct language_defn c_language_de
c_op_print_tab, /* expression operators for printing */
1, /* c-style arrays */
0, /* String lower bound */
- NULL,
default_word_break_characters,
c_language_arch_info,
default_print_array_index,
@@ -698,7 +696,6 @@ const struct language_defn cplus_languag
{
"c++", /* Language name */
language_cplus,
- NULL,
range_check_off,
type_check_off,
case_sensitive_on,
@@ -723,7 +720,6 @@ const struct language_defn cplus_languag
c_op_print_tab, /* expression operators for printing */
1, /* c-style arrays */
0, /* String lower bound */
- NULL,
default_word_break_characters,
cplus_language_arch_info,
default_print_array_index,
@@ -735,7 +731,6 @@ const struct language_defn asm_language_
{
"asm", /* Language name */
language_asm,
- NULL,
range_check_off,
type_check_off,
case_sensitive_on,
@@ -760,7 +755,6 @@ const struct language_defn asm_language_
c_op_print_tab, /* expression operators for printing */
1, /* c-style arrays */
0, /* String lower bound */
- NULL,
default_word_break_characters,
c_language_arch_info, /* FIXME: la_language_arch_info. */
default_print_array_index,
@@ -777,7 +771,6 @@ const struct language_defn minimal_langu
{
"minimal", /* Language name */
language_minimal,
- NULL,
range_check_off,
type_check_off,
case_sensitive_on,
@@ -802,7 +795,6 @@ const struct language_defn minimal_langu
c_op_print_tab, /* expression operators for printing */
1, /* c-style arrays */
0, /* String lower bound */
- NULL,
default_word_break_characters,
c_language_arch_info,
default_print_array_index,
diff -urNp gdb-orig/gdb/f-lang.c gdb-head/gdb/f-lang.c
--- gdb-orig/gdb/f-lang.c 2007-11-02 04:17:29.000000000 +0100
+++ gdb-head/gdb/f-lang.c 2007-11-02 19:52:38.000000000 +0100
@@ -474,7 +474,6 @@ const struct language_defn f_language_de
{
"fortran",
language_fortran,
- NULL,
range_check_on,
type_check_on,
case_sensitive_off,
@@ -499,7 +498,6 @@ const struct language_defn f_language_de
f_op_print_tab, /* expression operators for printing */
0, /* arrays are first-class (not c-style) */
1, /* String lower bound */
- NULL,
default_word_break_characters,
f_language_arch_info,
default_print_array_index,
diff -urNp gdb-orig/gdb/jv-lang.c gdb-head/gdb/jv-lang.c
--- gdb-orig/gdb/jv-lang.c 2007-11-02 04:17:08.000000000 +0100
+++ gdb-head/gdb/jv-lang.c 2007-11-02 19:53:00.000000000 +0100
@@ -1086,7 +1086,6 @@ const struct language_defn java_language
{
"java", /* Language name */
language_java,
- NULL,
range_check_off,
type_check_off,
case_sensitive_on,
@@ -1111,7 +1110,6 @@ const struct language_defn java_language
java_op_print_tab, /* expression operators for printing */
0, /* not c-style arrays */
0, /* String lower bound */
- NULL,
default_word_break_characters,
c_language_arch_info,
default_print_array_index,
diff -urNp gdb-orig/gdb/language.c gdb-head/gdb/language.c
--- gdb-orig/gdb/language.c 2007-11-02 04:17:29.000000000 +0100
+++ gdb-head/gdb/language.c 2007-11-02 19:53:54.000000000 +0100
@@ -1179,7 +1179,6 @@ const struct language_defn unknown_langu
{
"unknown",
language_unknown,
- NULL,
range_check_off,
type_check_off,
array_row_major,
@@ -1204,7 +1203,6 @@ const struct language_defn unknown_langu
unk_op_print_tab, /* expression operators for printing */
1, /* c-style arrays */
0, /* String lower bound */
- NULL,
default_word_break_characters,
unknown_language_arch_info, /* la_language_arch_info. */
default_print_array_index,
@@ -1217,7 +1215,6 @@ const struct language_defn auto_language
{
"auto",
language_auto,
- NULL,
range_check_off,
type_check_off,
array_row_major,
@@ -1242,7 +1239,6 @@ const struct language_defn auto_language
unk_op_print_tab, /* expression operators for printing */
1, /* c-style arrays */
0, /* String lower bound */
- NULL,
default_word_break_characters,
unknown_language_arch_info, /* la_language_arch_info. */
default_print_array_index,
@@ -1254,7 +1250,6 @@ const struct language_defn local_languag
{
"local",
language_auto,
- NULL,
range_check_off,
type_check_off,
case_sensitive_on,
@@ -1279,7 +1274,6 @@ const struct language_defn local_languag
unk_op_print_tab, /* expression operators for printing */
1, /* c-style arrays */
0, /* String lower bound */
- NULL,
default_word_break_characters,
unknown_language_arch_info, /* la_language_arch_info. */
default_print_array_index,
@@ -1321,10 +1315,7 @@ language_string_char_type (const struct
{
struct language_gdbarch *ld = gdbarch_data (gdbarch,
language_gdbarch_data);
- if (ld->arch_info[la->la_language].string_char_type != NULL)
- return ld->arch_info[la->la_language].string_char_type;
- else
- return (*la->string_char_type);
+ return ld->arch_info[la->la_language].string_char_type;
}
struct type *
@@ -1334,25 +1325,13 @@ language_lookup_primitive_type_by_name (
{
struct language_gdbarch *ld = gdbarch_data (gdbarch,
language_gdbarch_data);
- if (ld->arch_info[la->la_language].primitive_type_vector != NULL)
+ struct type *const *p;
+ for (p = ld->arch_info[la->la_language].primitive_type_vector;
+ (*p) != NULL;
+ p++)
{
- struct type *const *p;
- for (p = ld->arch_info[la->la_language].primitive_type_vector;
- (*p) != NULL;
- p++)
- {
- if (strcmp (TYPE_NAME (*p), name) == 0)
- return (*p);
- }
- }
- else
- {
- struct type **const *p;
- for (p = current_language->la_builtin_type_vector; *p != NULL; p++)
- {
- if (strcmp (TYPE_NAME (**p), name) == 0)
- return (**p);
- }
+ if (strcmp (TYPE_NAME (*p), name) == 0)
+ return (*p);
}
return (NULL);
}
diff -urNp gdb-orig/gdb/language.h gdb-head/gdb/language.h
--- gdb-orig/gdb/language.h 2007-11-01 19:38:30.000000000 +0100
+++ gdb-head/gdb/language.h 2007-11-02 19:47:52.000000000 +0100
@@ -148,13 +148,6 @@ struct language_defn
enum language la_language;
- /* Its builtin types. This is a vector ended by a NULL pointer. These
- types can be specified by name in parsing types in expressions,
- regardless of whether the program being debugged actually defines
- such a type. */
-
- struct type **const *la_builtin_type_vector;
-
/* Default range checking */
enum range_check la_range_check;
@@ -264,9 +257,6 @@ struct language_defn
/* Index to use for extracting the first element of a string. */
char string_lower_bound;
- /* Type of elements of strings. */
- struct type **string_char_type;
-
/* The list of characters forming word boundaries. */
char *(*la_word_break_characters) (void);
diff -urNp gdb-orig/gdb/m2-lang.c gdb-head/gdb/m2-lang.c
--- gdb-orig/gdb/m2-lang.c 2007-11-02 04:17:01.000000000 +0100
+++ gdb-head/gdb/m2-lang.c 2007-11-02 19:54:06.000000000 +0100
@@ -529,7 +529,6 @@ const struct language_defn m2_language_d
{
"modula-2",
language_m2,
- NULL,
range_check_on,
type_check_on,
case_sensitive_on,
@@ -554,7 +553,6 @@ const struct language_defn m2_language_d
m2_op_print_tab, /* expression operators for printing */
0, /* arrays are first-class (not c-style) */
0, /* String lower bound */
- NULL,
default_word_break_characters,
m2_language_arch_info,
default_print_array_index,
diff -urNp gdb-orig/gdb/objc-lang.c gdb-head/gdb/objc-lang.c
--- gdb-orig/gdb/objc-lang.c 2007-11-02 04:17:19.000000000 +0100
+++ gdb-head/gdb/objc-lang.c 2007-11-02 19:54:22.000000000 +0100
@@ -639,7 +639,6 @@ static const struct op_print objc_op_pri
const struct language_defn objc_language_defn = {
"objective-c", /* Language name */
language_objc,
- NULL,
range_check_off,
type_check_off,
case_sensitive_on,
@@ -664,7 +663,6 @@ const struct language_defn objc_language
objc_op_print_tab, /* Expression operators for printing */
1, /* C-style arrays */
0, /* String lower bound */
- NULL,
default_word_break_characters,
c_language_arch_info,
default_print_array_index,
diff -urNp gdb-orig/gdb/p-lang.c gdb-head/gdb/p-lang.c
--- gdb-orig/gdb/p-lang.c 2007-11-01 19:38:27.000000000 +0100
+++ gdb-head/gdb/p-lang.c 2007-11-02 19:54:33.000000000 +0100
@@ -546,7 +546,6 @@ const struct language_defn pascal_langua
{
"pascal", /* Language name */
language_pascal,
- NULL,
range_check_on,
type_check_on,
case_sensitive_on,
@@ -571,7 +570,6 @@ const struct language_defn pascal_langua
pascal_op_print_tab, /* expression operators for printing */
1, /* c-style arrays */
0, /* String lower bound */
- NULL,
default_word_break_characters,
pascal_language_arch_info,
default_print_array_index,
diff -urNp gdb-orig/gdb/scm-lang.c gdb-head/gdb/scm-lang.c
--- gdb-orig/gdb/scm-lang.c 2007-11-02 04:17:01.000000000 +0100
+++ gdb-head/gdb/scm-lang.c 2007-11-02 19:54:46.000000000 +0100
@@ -238,7 +238,6 @@ const struct language_defn scm_language_
{
"scheme", /* Language name */
language_scm,
- NULL,
range_check_off,
type_check_off,
case_sensitive_off,
@@ -263,7 +262,6 @@ const struct language_defn scm_language_
NULL, /* expression operators for printing */
1, /* c-style arrays */
0, /* String lower bound */
- NULL,
default_word_break_characters,
c_language_arch_info,
default_print_array_index,
--
Dr. Ulrich Weigand
GNU Toolchain for Linux on System z and Cell BE
Ulrich.Weigand@de.ibm.com