Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
* [commit] multi-arch builtin-types #2 of N, language.h
@ 2004-07-28  2:55 Andrew Cagney
  2004-07-28  4:02 ` Daniel Jacobowitz
  0 siblings, 1 reply; 5+ messages in thread
From: Andrew Cagney @ 2004-07-28  2:55 UTC (permalink / raw)
  To: gdb-patches

[-- Attachment #1: Type: text/plain, Size: 487 bytes --]

Hello,

This is part two of getting the builtin_types multi-arched.

It adds the function la_language_arch_info(gdbarch) to the language 
vector.  This function returns the architecture dependant info (so far 
string_char_type and the vector of primative types).  It then modifies 
the generic (auto, minimal) languages vectors to use this.

The other vectors can follow.

Joel, more things for your list: add language_ada to that enum and 
update ada to use this :-)

committed,
Andrew

[-- Attachment #2: diffs --]
[-- Type: text/plain, Size: 15044 bytes --]

2004-07-27  Andrew Cagney  <cagney@gnu.org>

	* defs.h (enum language): Add nr_languages.
	* language.h (struct language_arch_info): Define.
	(struct language_defn): Add la_language_arch_info.
	(language_lookup_primative_type_by_name): Declare.
	(language_string_char_type): Declare.
	* language.c (_initialize_language, language_gdbarch_post_init)
	(struct language_gdbarch, language_gdbarch_data): Implement
	per-architecture language information.
	(unknown_language_arch_info, language_string_char_type)
	(language_lookup_primative_type_by_name): New functions.
	(unknown_language_defn, auto_language_defn)
	(local_language_defn): Set la_language_arch_info to
	unknown_language_arch_info.
	(unknown_builtin_types): Delete.
	* gdbtypes.c (lookup_primitive_typename): Use
	language_lookup_primative_type_by_name.
	(create_string_type): Use language_string_char_type.
	* values.c (value_from_string): Use language_string_char_type.
	* scm-lang.c (scm_language_defn): Add NULL la_language_arch_info.
	* p-lang.c (pascal_language_defn): Ditto.
	* m2-lang.c (m2_language_defn): Ditto.
	* jv-lang.c (java_language_defn): Ditto.
	* objc-lang.c (objc_language_defn): Ditto.
	* f-lang.c (f_language_defn): Ditto.
	* c-lang.c (c_language_defn, cplus_language_defn) 
	(asm_language_defn, minimal_language_defn): Ditto.

Index: c-lang.c
===================================================================
RCS file: /cvs/src/src/gdb/c-lang.c,v
retrieving revision 1.28
diff -p -u -r1.28 c-lang.c
--- c-lang.c	6 Jul 2004 19:29:30 -0000	1.28
+++ c-lang.c	28 Jul 2004 02:38:53 -0000
@@ -569,6 +569,7 @@ const struct language_defn c_language_de
   0,				/* String lower bound */
   &builtin_type_char,		/* Type of string elements */
   default_word_break_characters,
+  NULL, /* FIXME: la_language_arch_info.  */
   LANG_MAGIC
 };
 
@@ -629,6 +630,7 @@ const struct language_defn cplus_languag
   0,				/* String lower bound */
   &builtin_type_char,		/* Type of string elements */
   default_word_break_characters,
+  NULL, /* FIXME: la_language_arch_info.  */
   LANG_MAGIC
 };
 
@@ -666,6 +668,7 @@ const struct language_defn asm_language_
   0,				/* String lower bound */
   &builtin_type_char,		/* Type of string elements */
   default_word_break_characters,
+  NULL, /* FIXME: la_language_arch_info.  */
   LANG_MAGIC
 };
 
@@ -708,6 +711,7 @@ const struct language_defn minimal_langu
   0,				/* String lower bound */
   &builtin_type_char,		/* Type of string elements */
   default_word_break_characters,
+  NULL, /* FIXME: la_language_arch_info.  */
   LANG_MAGIC
 };
 
Index: defs.h
===================================================================
RCS file: /cvs/src/src/gdb/defs.h,v
retrieving revision 1.152
diff -p -u -r1.152 defs.h
--- defs.h	17 Jul 2004 03:25:10 -0000	1.152
+++ defs.h	28 Jul 2004 02:38:53 -0000
@@ -220,7 +220,8 @@ enum language
     language_asm,		/* Assembly language */
     language_scm,    		/* Scheme / Guile */
     language_pascal,		/* Pascal */
-    language_minimal		/* All other languages, minimal support only */
+    language_minimal,		/* All other languages, minimal support only */
+    nr_languages
   };
 
 enum precision_type
Index: f-lang.c
===================================================================
RCS file: /cvs/src/src/gdb/f-lang.c,v
retrieving revision 1.24
diff -p -u -r1.24 f-lang.c
--- f-lang.c	6 Jul 2004 19:29:31 -0000	1.24
+++ f-lang.c	28 Jul 2004 02:38:53 -0000
@@ -488,6 +488,7 @@ const struct language_defn f_language_de
   1,				/* String lower bound */
   &builtin_type_f_character,	/* Type of string elements */
   default_word_break_characters,
+  NULL, /* FIXME: la_language_arch_info.  */
   LANG_MAGIC
 };
 
Index: gdbtypes.c
===================================================================
RCS file: /cvs/src/src/gdb/gdbtypes.c,v
retrieving revision 1.84
diff -p -u -r1.84 gdbtypes.c
--- gdbtypes.c	28 Jul 2004 02:03:51 -0000	1.84
+++ gdbtypes.c	28 Jul 2004 02:38:54 -0000
@@ -774,8 +774,12 @@ create_array_type (struct type *result_t
 struct type *
 create_string_type (struct type *result_type, struct type *range_type)
 {
+  struct type *string_char_type;
+      
+  string_char_type = language_string_char_type (current_language,
+						current_gdbarch);
   result_type = create_array_type (result_type,
-				   *current_language->string_char_type,
+				   string_char_type,
 				   range_type);
   TYPE_CODE (result_type) = TYPE_CODE_STRING;
   return (result_type);
@@ -1032,16 +1036,9 @@ type_name_no_tag (const struct type *typ
 struct type *
 lookup_primitive_typename (char *name)
 {
-  struct type **const *p;
-
-  for (p = current_language->la_builtin_type_vector; *p != NULL; p++)
-    {
-      if (strcmp (TYPE_NAME (**p), name) == 0)
-	{
-	  return (**p);
-	}
-    }
-  return (NULL);
+  return language_lookup_primative_type_by_name (current_language,
+						 current_gdbarch,
+						 name);
 }
 
 /* Lookup a typedef or primitive type named NAME,
Index: jv-lang.c
===================================================================
RCS file: /cvs/src/src/gdb/jv-lang.c,v
retrieving revision 1.31
diff -p -u -r1.31 jv-lang.c
--- jv-lang.c	6 Jul 2004 19:29:31 -0000	1.31
+++ jv-lang.c	28 Jul 2004 02:38:54 -0000
@@ -1114,6 +1114,7 @@ const struct language_defn java_language
   0,				/* String lower bound */
   &builtin_type_char,		/* Type of string elements */
   default_word_break_characters,
+  NULL, /* FIXME: la_language_arch_info.  */
   LANG_MAGIC
 };
 
Index: language.c
===================================================================
RCS file: /cvs/src/src/gdb/language.c,v
retrieving revision 1.46
diff -p -u -r1.46 language.c
--- language.c	26 Jul 2004 14:53:02 -0000	1.46
+++ language.c	28 Jul 2004 02:38:54 -0000
@@ -1273,20 +1273,25 @@ static char *unk_lang_class_name (const 
   return NULL;
 }
 
-static struct type **const (unknown_builtin_types[]) =
-{
-  0
-};
 static const struct op_print unk_op_print_tab[] =
 {
   {NULL, OP_NULL, PREC_NULL, 0}
 };
 
+static void
+unknown_language_arch_info (struct gdbarch *gdbarch,
+			    struct language_arch_info *lai)
+{
+  lai->string_char_type = builtin_type (gdbarch)->builtin_char;
+  lai->primative_type_vector = GDBARCH_OBSTACK_CALLOC (gdbarch, 1,
+						       struct type *);
+}
+
 const struct language_defn unknown_language_defn =
 {
   "unknown",
   language_unknown,
-  &unknown_builtin_types[0],
+  NULL,
   range_check_off,
   type_check_off,
   case_sensitive_on,
@@ -1314,8 +1319,9 @@ const struct language_defn unknown_langu
   unk_op_print_tab,		/* expression operators for printing */
   1,				/* c-style arrays */
   0,				/* String lower bound */
-  &builtin_type_char,		/* Type of string elements */
+  NULL,
   default_word_break_characters,
+  unknown_language_arch_info,	/* la_language_arch_info.  */
   LANG_MAGIC
 };
 
@@ -1324,7 +1330,7 @@ const struct language_defn auto_language
 {
   "auto",
   language_auto,
-  &unknown_builtin_types[0],
+  NULL,
   range_check_off,
   type_check_off,
   case_sensitive_on,
@@ -1352,8 +1358,9 @@ const struct language_defn auto_language
   unk_op_print_tab,		/* expression operators for printing */
   1,				/* c-style arrays */
   0,				/* String lower bound */
-  &builtin_type_char,		/* Type of string elements */
+  NULL,
   default_word_break_characters,
+  unknown_language_arch_info,	/* la_language_arch_info.  */
   LANG_MAGIC
 };
 
@@ -1361,7 +1368,7 @@ const struct language_defn local_languag
 {
   "local",
   language_auto,
-  &unknown_builtin_types[0],
+  NULL,
   range_check_off,
   type_check_off,
   case_sensitive_on,
@@ -1389,11 +1396,82 @@ const struct language_defn local_languag
   unk_op_print_tab,		/* expression operators for printing */
   1,				/* c-style arrays */
   0,				/* String lower bound */
-  &builtin_type_char,		/* Type of string elements */
+  NULL,
   default_word_break_characters,
+  unknown_language_arch_info,	/* la_language_arch_info.  */
   LANG_MAGIC
 };
 \f
+/* Per-architecture language information.  */
+
+static struct gdbarch_data *language_gdbarch_data;
+
+struct language_gdbarch
+{
+  /* A vector of per-language per-architecture info.  Indexed by "enum
+     language".  */
+  struct language_arch_info arch_info[nr_languages];
+};
+
+static void *
+language_gdbarch_post_init (struct gdbarch *gdbarch)
+{
+  struct language_gdbarch *l;
+  int i;
+
+  l = GDBARCH_OBSTACK_ZALLOC (gdbarch, struct language_gdbarch);
+  for (i = 0; i <= languages_size; i++)
+    {
+      if (languages[i] != NULL
+	  && languages[i]->la_language_arch_info != NULL)
+	languages[i]->la_language_arch_info
+	  (gdbarch, l->arch_info + languages[i]->la_language);
+    }
+  return l;
+}
+
+struct type *
+language_string_char_type (const struct language_defn *la,
+			   struct gdbarch *gdbarch)
+{
+  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);
+}
+
+struct type *
+language_lookup_primative_type_by_name (const struct language_defn *la,
+					struct gdbarch *gdbarch,
+					const char *name)
+{
+  struct language_gdbarch *ld = gdbarch_data (gdbarch,
+					      language_gdbarch_data);
+  if (ld->arch_info[la->la_language].primative_type_vector != NULL)
+    {
+      struct type *const *p;
+      for (p = ld->arch_info[la->la_language].primative_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);
+	}
+    }
+  return (NULL);
+}
+
 /* Initialize the language routines */
 
 void
@@ -1401,6 +1479,9 @@ _initialize_language (void)
 {
   struct cmd_list_element *set, *show;
 
+  language_gdbarch_data
+    = gdbarch_data_register_post_init (language_gdbarch_post_init);
+
   /* GDB commands for language specific stuff */
 
   set = add_set_cmd ("language", class_support, var_string_noescape,
Index: language.h
===================================================================
RCS file: /cvs/src/src/gdb/language.h,v
retrieving revision 1.27
diff -p -u -r1.27 language.h
--- language.h	6 Jul 2004 19:29:31 -0000	1.27
+++ language.h	28 Jul 2004 02:38:54 -0000
@@ -137,6 +137,26 @@ struct language_format_info
     char *la_format_suffix;	/* Suffix for custom format string */
   };
 
+/* Per architecture (OS/ABI) language information.  */
+
+struct language_arch_info
+{
+  /* Its primative 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 **primative_type_vector;
+  /* Type of elements of strings. */
+  struct type *string_char_type;
+};
+
+struct type *language_string_char_type (const struct language_defn *l,
+					struct gdbarch *gdbarch);
+
+struct type *language_lookup_primative_type_by_name (const struct language_defn *l,
+						     struct gdbarch *gdbarch,
+						     const char *name);
+
 /* Structure tying together assorted information about a language.  */
 
 struct language_defn
@@ -284,9 +304,12 @@ struct language_defn
     /* The list of characters forming word boundaries.  */
     char *(*la_word_break_characters) (void);
 
+    /* The per-architecture (OS/ABI) language information.  */
+    void (*la_language_arch_info) (struct gdbarch *,
+				   struct language_arch_info *);
+
     /* Add fields above this point, so the magic number is always last. */
     /* Magic number for compat checking */
-
     long la_magic;
 
   };
Index: m2-lang.c
===================================================================
RCS file: /cvs/src/src/gdb/m2-lang.c,v
retrieving revision 1.17
diff -p -u -r1.17 m2-lang.c
--- m2-lang.c	6 Jul 2004 19:29:31 -0000	1.17
+++ m2-lang.c	28 Jul 2004 02:38:54 -0000
@@ -441,6 +441,7 @@ const struct language_defn m2_language_d
   0,				/* String lower bound */
   &builtin_type_m2_char,	/* Type of string elements */
   default_word_break_characters,
+  NULL, /* FIXME: la_language_arch_info.  */
   LANG_MAGIC
 };
 
Index: objc-lang.c
===================================================================
RCS file: /cvs/src/src/gdb/objc-lang.c,v
retrieving revision 1.36
diff -p -u -r1.36 objc-lang.c
--- objc-lang.c	6 Jul 2004 19:29:31 -0000	1.36
+++ objc-lang.c	28 Jul 2004 02:38:56 -0000
@@ -685,6 +685,7 @@ const struct language_defn objc_language
   0,				/* String lower bound */
   &builtin_type_char,		/* Type of string elements */
   default_word_break_characters,
+  NULL, /* FIXME: la_language_arch_info.  */
   LANG_MAGIC
 };
 
Index: p-lang.c
===================================================================
RCS file: /cvs/src/src/gdb/p-lang.c,v
retrieving revision 1.19
diff -p -u -r1.19 p-lang.c
--- p-lang.c	6 Jul 2004 19:29:31 -0000	1.19
+++ p-lang.c	28 Jul 2004 02:38:56 -0000
@@ -477,6 +477,7 @@ const struct language_defn pascal_langua
   0,				/* String lower bound */
   &builtin_type_char,		/* Type of string elements */
   default_word_break_characters,
+  NULL, /* FIXME: la_language_arch_info.  */
   LANG_MAGIC
 };
 
Index: scm-lang.c
===================================================================
RCS file: /cvs/src/src/gdb/scm-lang.c,v
retrieving revision 1.24
diff -p -u -r1.24 scm-lang.c
--- scm-lang.c	6 Jul 2004 19:29:31 -0000	1.24
+++ scm-lang.c	28 Jul 2004 02:38:56 -0000
@@ -276,6 +276,7 @@ const struct language_defn scm_language_
   0,				/* String lower bound */
   &builtin_type_char,		/* Type of string elements */
   default_word_break_characters,
+  NULL, /* FIXME: la_language_arch_info.  */
   LANG_MAGIC
 };
 
Index: values.c
===================================================================
RCS file: /cvs/src/src/gdb/values.c,v
retrieving revision 1.70
diff -p -u -r1.70 values.c
--- values.c	20 Jun 2004 18:10:14 -0000	1.70
+++ values.c	28 Jul 2004 02:38:56 -0000
@@ -1170,15 +1170,18 @@ value_from_string (char *ptr)
   struct value *val;
   int len = strlen (ptr);
   int lowbound = current_language->string_lower_bound;
-  struct type *rangetype =
-  create_range_type ((struct type *) NULL,
-		     builtin_type_int,
-		     lowbound, len + lowbound - 1);
-  struct type *stringtype =
-  create_array_type ((struct type *) NULL,
-		     *current_language->string_char_type,
-		     rangetype);
-
+  struct type *string_char_type;
+  struct type *rangetype;
+  struct type *stringtype;
+
+  rangetype = create_range_type ((struct type *) NULL,
+				 builtin_type_int,
+				 lowbound, len + lowbound - 1);
+  string_char_type = language_string_char_type (current_language,
+						current_gdbarch);
+  stringtype = create_array_type ((struct type *) NULL,
+				  string_char_type,
+				  rangetype);
   val = allocate_value (stringtype);
   memcpy (VALUE_CONTENTS_RAW (val), ptr, len);
   return val;

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [commit] multi-arch builtin-types #2 of N, language.h
  2004-07-28  2:55 [commit] multi-arch builtin-types #2 of N, language.h Andrew Cagney
@ 2004-07-28  4:02 ` Daniel Jacobowitz
  2004-07-28  4:18   ` Andrew Cagney
  2004-07-28  4:34   ` Andrew Cagney
  0 siblings, 2 replies; 5+ messages in thread
From: Daniel Jacobowitz @ 2004-07-28  4:02 UTC (permalink / raw)
  To: Andrew Cagney; +Cc: gdb-patches

On Tue, Jul 27, 2004 at 10:55:18PM -0400, Andrew Cagney wrote:
> Hello,
> 
> This is part two of getting the builtin_types multi-arched.
> 
> It adds the function la_language_arch_info(gdbarch) to the language 
> vector.  This function returns the architecture dependant info (so far 
> string_char_type and the vector of primative types).  It then modifies 
> the generic (auto, minimal) languages vectors to use this.
> 
> The other vectors can follow.
> 
> Joel, more things for your list: add language_ada to that enum and 
> update ada to use this :-)

One correction: primative_type_vector: It's spelled "primitive".

Would you mind explaining where this is going - maybe give an example
of what it will be used for?  It's not clear from the patch.

-- 
Daniel Jacobowitz


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [commit] multi-arch builtin-types #2 of N, language.h
  2004-07-28  4:02 ` Daniel Jacobowitz
@ 2004-07-28  4:18   ` Andrew Cagney
  2004-07-28 14:07     ` Daniel Jacobowitz
  2004-07-28  4:34   ` Andrew Cagney
  1 sibling, 1 reply; 5+ messages in thread
From: Andrew Cagney @ 2004-07-28  4:18 UTC (permalink / raw)
  To: Daniel Jacobowitz, gdb-patches

> Would you mind explaining where this is going - maybe give an example
> of what it will be used for?  It's not clear from the patch.

The uses were in the patch (I should have spelt it out):

	language_primitive_type_by_name (lang, arch)
	language_string_char_type (lang, arch)

This is replacing the seriously broken:

	current_language->string_char_type
	current_language->la_builtin_type_vector

(they both point to global builtin_type_ variables).

Andrew



^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [commit] multi-arch builtin-types #2 of N, language.h
  2004-07-28  4:02 ` Daniel Jacobowitz
  2004-07-28  4:18   ` Andrew Cagney
@ 2004-07-28  4:34   ` Andrew Cagney
  1 sibling, 0 replies; 5+ messages in thread
From: Andrew Cagney @ 2004-07-28  4:34 UTC (permalink / raw)
  To: Daniel Jacobowitz; +Cc: gdb-patches

[-- Attachment #1: Type: text/plain, Size: 110 bytes --]

> One correction: primative_type_vector: It's spelled "primitive".

Fixed with the attached, thanks.

Andrew


[-- Attachment #2: diffs --]
[-- Type: text/plain, Size: 3385 bytes --]

2004-07-28  Andrew Cagney  <cagney@gnu.org>

	* language.h (struct language_arch_info): Fix typo
	s/primative/primitive/.
	* gdbtypes.c (lookup_primitive_typename): Ditto.
	* language.c (language_lookup_primitive_type_by_name)
	(unknown_language_arch_info): Ditto.

Index: gdbtypes.c
===================================================================
RCS file: /cvs/src/src/gdb/gdbtypes.c,v
retrieving revision 1.85
diff -p -u -r1.85 gdbtypes.c
--- gdbtypes.c	28 Jul 2004 02:46:22 -0000	1.85
+++ gdbtypes.c	28 Jul 2004 04:32:45 -0000
@@ -1036,7 +1036,7 @@ type_name_no_tag (const struct type *typ
 struct type *
 lookup_primitive_typename (char *name)
 {
-  return language_lookup_primative_type_by_name (current_language,
+  return language_lookup_primitive_type_by_name (current_language,
 						 current_gdbarch,
 						 name);
 }
Index: language.c
===================================================================
RCS file: /cvs/src/src/gdb/language.c,v
retrieving revision 1.47
diff -p -u -r1.47 language.c
--- language.c	28 Jul 2004 02:46:23 -0000	1.47
+++ language.c	28 Jul 2004 04:32:46 -0000
@@ -1283,7 +1283,7 @@ unknown_language_arch_info (struct gdbar
 			    struct language_arch_info *lai)
 {
   lai->string_char_type = builtin_type (gdbarch)->builtin_char;
-  lai->primative_type_vector = GDBARCH_OBSTACK_CALLOC (gdbarch, 1,
+  lai->primitive_type_vector = GDBARCH_OBSTACK_CALLOC (gdbarch, 1,
 						       struct type *);
 }
 
@@ -1443,16 +1443,16 @@ language_string_char_type (const struct 
 }
 
 struct type *
-language_lookup_primative_type_by_name (const struct language_defn *la,
+language_lookup_primitive_type_by_name (const struct language_defn *la,
 					struct gdbarch *gdbarch,
 					const char *name)
 {
   struct language_gdbarch *ld = gdbarch_data (gdbarch,
 					      language_gdbarch_data);
-  if (ld->arch_info[la->la_language].primative_type_vector != NULL)
+  if (ld->arch_info[la->la_language].primitive_type_vector != NULL)
     {
       struct type *const *p;
-      for (p = ld->arch_info[la->la_language].primative_type_vector;
+      for (p = ld->arch_info[la->la_language].primitive_type_vector;
 	   (*p) != NULL;
 	   p++)
 	{
Index: language.h
===================================================================
RCS file: /cvs/src/src/gdb/language.h,v
retrieving revision 1.28
diff -p -u -r1.28 language.h
--- language.h	28 Jul 2004 02:46:23 -0000	1.28
+++ language.h	28 Jul 2004 04:32:46 -0000
@@ -141,11 +141,11 @@ struct language_format_info
 
 struct language_arch_info
 {
-  /* Its primative types.  This is a vector ended by a NULL pointer.
+  /* Its primitive 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 **primative_type_vector;
+  struct type **primitive_type_vector;
   /* Type of elements of strings. */
   struct type *string_char_type;
 };
@@ -153,7 +153,7 @@ struct language_arch_info
 struct type *language_string_char_type (const struct language_defn *l,
 					struct gdbarch *gdbarch);
 
-struct type *language_lookup_primative_type_by_name (const struct language_defn *l,
+struct type *language_lookup_primitive_type_by_name (const struct language_defn *l,
 						     struct gdbarch *gdbarch,
 						     const char *name);
 

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [commit] multi-arch builtin-types #2 of N, language.h
  2004-07-28  4:18   ` Andrew Cagney
@ 2004-07-28 14:07     ` Daniel Jacobowitz
  0 siblings, 0 replies; 5+ messages in thread
From: Daniel Jacobowitz @ 2004-07-28 14:07 UTC (permalink / raw)
  To: gdb-patches

On Wed, Jul 28, 2004 at 12:18:34AM -0400, Andrew Cagney wrote:
> >Would you mind explaining where this is going - maybe give an example
> >of what it will be used for?  It's not clear from the patch.
> 
> The uses were in the patch (I should have spelt it out):
> 
> 	language_primitive_type_by_name (lang, arch)
> 	language_string_char_type (lang, arch)
> 
> This is replacing the seriously broken:
> 
> 	current_language->string_char_type
> 	current_language->la_builtin_type_vector
> 
> (they both point to global builtin_type_ variables).

Thanks!  Makes great sense.

-- 
Daniel Jacobowitz


^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2004-07-28 14:07 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2004-07-28  2:55 [commit] multi-arch builtin-types #2 of N, language.h Andrew Cagney
2004-07-28  4:02 ` Daniel Jacobowitz
2004-07-28  4:18   ` Andrew Cagney
2004-07-28 14:07     ` Daniel Jacobowitz
2004-07-28  4:34   ` Andrew Cagney

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox