This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]