* [rfc] [06/17] Get rid of current_gdbarch in ada-lang.c
@ 2007-10-11 8:55 Markus Deuling
2007-10-11 17:33 ` Joel Brobecker
0 siblings, 1 reply; 3+ messages in thread
From: Markus Deuling @ 2007-10-11 8:55 UTC (permalink / raw)
To: GDB Patches, hilfinger, Joel Brobecker; +Cc: Ulrich Weigand
[-- Attachment #1: Type: text/plain, Size: 355 bytes --]
Hi,
this patch gets rid of some of the current_gdbarch's in ada-lang.c
Is this ok to commit?
ChangeLog:
* ada-lang.c (ada_create_fundamental_type): Use objfile->gdbarch to get
at the current architecture.
(ada_language_arch_info): Replace current_gdbarch by gdbarch.
--
Markus Deuling
GNU Toolchain for Linux on Cell BE
deuling@de.ibm.com
[-- Attachment #2: diff-ada-lang --]
[-- Type: text/plain, Size: 8289 bytes --]
diff -urpN src/gdb/ada-lang.c dev/gdb/ada-lang.c
--- src/gdb/ada-lang.c 2007-09-23 18:25:03.000000000 +0200
+++ dev/gdb/ada-lang.c 2007-10-11 09:26:16.000000000 +0200
@@ -10203,7 +10203,7 @@ ada_create_fundamental_type (struct objf
name "<?type?>". When all the dust settles from the type
reconstruction work, this should probably become an error. */
type = init_type (TYPE_CODE_INT,
- gdbarch_int_bit (current_gdbarch) / TARGET_CHAR_BIT,
+ gdbarch_int_bit (objfile->gdbarch) / TARGET_CHAR_BIT,
0, "<?type?>", objfile);
warning (_("internal error: no Ada fundamental type %d"), typeid);
break;
@@ -10229,80 +10229,80 @@ ada_create_fundamental_type (struct objf
break;
case FT_SHORT:
type = init_type (TYPE_CODE_INT,
- gdbarch_short_bit (current_gdbarch) / TARGET_CHAR_BIT,
+ gdbarch_short_bit (objfile->gdbarch) / TARGET_CHAR_BIT,
0, "short_integer", objfile);
break;
case FT_SIGNED_SHORT:
type = init_type (TYPE_CODE_INT,
- gdbarch_short_bit (current_gdbarch) / TARGET_CHAR_BIT,
+ gdbarch_short_bit (objfile->gdbarch) / TARGET_CHAR_BIT,
0, "short_integer", objfile);
break;
case FT_UNSIGNED_SHORT:
type = init_type (TYPE_CODE_INT,
- gdbarch_short_bit (current_gdbarch) / TARGET_CHAR_BIT,
+ gdbarch_short_bit (objfile->gdbarch) / TARGET_CHAR_BIT,
TYPE_FLAG_UNSIGNED, "unsigned short", objfile);
break;
case FT_INTEGER:
type = init_type (TYPE_CODE_INT,
- gdbarch_int_bit (current_gdbarch) / TARGET_CHAR_BIT,
+ gdbarch_int_bit (objfile->gdbarch) / TARGET_CHAR_BIT,
0, "integer", objfile);
break;
case FT_SIGNED_INTEGER:
type = init_type (TYPE_CODE_INT,
- gdbarch_int_bit (current_gdbarch) / TARGET_CHAR_BIT,
+ gdbarch_int_bit (objfile->gdbarch) / TARGET_CHAR_BIT,
0, "integer", objfile); /* FIXME -fnf */
break;
case FT_UNSIGNED_INTEGER:
type = init_type (TYPE_CODE_INT,
- gdbarch_int_bit (current_gdbarch) / TARGET_CHAR_BIT,
+ gdbarch_int_bit (objfile->gdbarch) / TARGET_CHAR_BIT,
TYPE_FLAG_UNSIGNED, "unsigned int", objfile);
break;
case FT_LONG:
type = init_type (TYPE_CODE_INT,
- gdbarch_long_bit (current_gdbarch) / TARGET_CHAR_BIT,
+ gdbarch_long_bit (objfile->gdbarch) / TARGET_CHAR_BIT,
0, "long_integer", objfile);
break;
case FT_SIGNED_LONG:
type = init_type (TYPE_CODE_INT,
- gdbarch_long_bit (current_gdbarch) / TARGET_CHAR_BIT,
+ gdbarch_long_bit (objfile->gdbarch) / TARGET_CHAR_BIT,
0, "long_integer", objfile);
break;
case FT_UNSIGNED_LONG:
type = init_type (TYPE_CODE_INT,
- gdbarch_long_bit (current_gdbarch) / TARGET_CHAR_BIT,
+ gdbarch_long_bit (objfile->gdbarch) / TARGET_CHAR_BIT,
TYPE_FLAG_UNSIGNED, "unsigned long", objfile);
break;
case FT_LONG_LONG:
type = init_type (TYPE_CODE_INT,
- gdbarch_long_long_bit (current_gdbarch)
+ gdbarch_long_long_bit (objfile->gdbarch)
/ TARGET_CHAR_BIT,
0, "long_long_integer", objfile);
break;
case FT_SIGNED_LONG_LONG:
type = init_type (TYPE_CODE_INT,
- gdbarch_long_long_bit (current_gdbarch)
+ gdbarch_long_long_bit (objfile->gdbarch)
/ TARGET_CHAR_BIT,
0, "long_long_integer", objfile);
break;
case FT_UNSIGNED_LONG_LONG:
type = init_type (TYPE_CODE_INT,
- gdbarch_long_long_bit (current_gdbarch)
+ gdbarch_long_long_bit (objfile->gdbarch)
/ TARGET_CHAR_BIT,
TYPE_FLAG_UNSIGNED, "unsigned long long", objfile);
break;
case FT_FLOAT:
type = init_type (TYPE_CODE_FLT,
- gdbarch_float_bit (current_gdbarch) / TARGET_CHAR_BIT,
+ gdbarch_float_bit (objfile->gdbarch) / TARGET_CHAR_BIT,
0, "float", objfile);
break;
case FT_DBL_PREC_FLOAT:
type = init_type (TYPE_CODE_FLT,
- gdbarch_double_bit (current_gdbarch) / TARGET_CHAR_BIT,
+ gdbarch_double_bit (objfile->gdbarch) / TARGET_CHAR_BIT,
0, "long_float", objfile);
break;
case FT_EXT_PREC_FLOAT:
type = init_type (TYPE_CODE_FLT,
- gdbarch_long_double_bit (current_gdbarch)
+ gdbarch_long_double_bit (objfile->gdbarch)
/ TARGET_CHAR_BIT,
0, "long_long_float", objfile);
break;
@@ -10327,24 +10327,24 @@ enum ada_primitive_types {
};
static void
-ada_language_arch_info (struct gdbarch *current_gdbarch,
+ada_language_arch_info (struct gdbarch *gdbarch,
struct language_arch_info *lai)
{
- const struct builtin_type *builtin = builtin_type (current_gdbarch);
+ const struct builtin_type *builtin = builtin_type (gdbarch);
lai->primitive_type_vector
- = GDBARCH_OBSTACK_CALLOC (current_gdbarch, nr_ada_primitive_types + 1,
+ = GDBARCH_OBSTACK_CALLOC (gdbarch, nr_ada_primitive_types + 1,
struct type *);
lai->primitive_type_vector [ada_primitive_type_int] =
init_type (TYPE_CODE_INT,
- gdbarch_int_bit (current_gdbarch) / TARGET_CHAR_BIT,
+ gdbarch_int_bit (gdbarch) / TARGET_CHAR_BIT,
0, "integer", (struct objfile *) NULL);
lai->primitive_type_vector [ada_primitive_type_long] =
init_type (TYPE_CODE_INT,
- gdbarch_long_bit (current_gdbarch) / TARGET_CHAR_BIT,
+ gdbarch_long_bit (gdbarch) / TARGET_CHAR_BIT,
0, "long_integer", (struct objfile *) NULL);
lai->primitive_type_vector [ada_primitive_type_short] =
init_type (TYPE_CODE_INT,
- gdbarch_short_bit (current_gdbarch) / TARGET_CHAR_BIT,
+ gdbarch_short_bit (gdbarch) / TARGET_CHAR_BIT,
0, "short_integer", (struct objfile *) NULL);
lai->string_char_type =
lai->primitive_type_vector [ada_primitive_type_char] =
@@ -10352,27 +10352,27 @@ ada_language_arch_info (struct gdbarch *
0, "character", (struct objfile *) NULL);
lai->primitive_type_vector [ada_primitive_type_float] =
init_type (TYPE_CODE_FLT,
- gdbarch_float_bit (current_gdbarch)/ TARGET_CHAR_BIT,
+ gdbarch_float_bit (gdbarch)/ TARGET_CHAR_BIT,
0, "float", (struct objfile *) NULL);
lai->primitive_type_vector [ada_primitive_type_double] =
init_type (TYPE_CODE_FLT,
- gdbarch_double_bit (current_gdbarch) / TARGET_CHAR_BIT,
+ gdbarch_double_bit (gdbarch) / TARGET_CHAR_BIT,
0, "long_float", (struct objfile *) NULL);
lai->primitive_type_vector [ada_primitive_type_long_long] =
init_type (TYPE_CODE_INT,
- gdbarch_long_long_bit (current_gdbarch) / TARGET_CHAR_BIT,
+ gdbarch_long_long_bit (gdbarch) / TARGET_CHAR_BIT,
0, "long_long_integer", (struct objfile *) NULL);
lai->primitive_type_vector [ada_primitive_type_long_double] =
init_type (TYPE_CODE_FLT,
- gdbarch_double_bit (current_gdbarch) / TARGET_CHAR_BIT,
+ gdbarch_double_bit (gdbarch) / TARGET_CHAR_BIT,
0, "long_long_float", (struct objfile *) NULL);
lai->primitive_type_vector [ada_primitive_type_natural] =
init_type (TYPE_CODE_INT,
- gdbarch_int_bit (current_gdbarch) / TARGET_CHAR_BIT,
+ gdbarch_int_bit (gdbarch) / TARGET_CHAR_BIT,
0, "natural", (struct objfile *) NULL);
lai->primitive_type_vector [ada_primitive_type_positive] =
init_type (TYPE_CODE_INT,
- gdbarch_int_bit (current_gdbarch) / TARGET_CHAR_BIT,
+ gdbarch_int_bit (gdbarch) / TARGET_CHAR_BIT,
0, "positive", (struct objfile *) NULL);
lai->primitive_type_vector [ada_primitive_type_void] = builtin->builtin_void;
^ permalink raw reply [flat|nested] 3+ messages in thread* Re: [rfc] [06/17] Get rid of current_gdbarch in ada-lang.c
2007-10-11 8:55 [rfc] [06/17] Get rid of current_gdbarch in ada-lang.c Markus Deuling
@ 2007-10-11 17:33 ` Joel Brobecker
2007-10-22 6:04 ` Markus Deuling
0 siblings, 1 reply; 3+ messages in thread
From: Joel Brobecker @ 2007-10-11 17:33 UTC (permalink / raw)
To: Markus Deuling; +Cc: GDB Patches, hilfinger, Ulrich Weigand
Hi Markus,
> * ada-lang.c (ada_create_fundamental_type): Use objfile->gdbarch to
> get
> at the current architecture.
These changes are pretty mechanical, and look OK to me, but I see
that the decision to use per-objfile gdbarch is still being discussed.
So we'll probably want to hold these changes for a little longer.
> (ada_language_arch_info): Replace current_gdbarch by gdbarch.
This part can be checked in now, however.
--
Joel
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [rfc] [06/17] Get rid of current_gdbarch in ada-lang.c
2007-10-11 17:33 ` Joel Brobecker
@ 2007-10-22 6:04 ` Markus Deuling
0 siblings, 0 replies; 3+ messages in thread
From: Markus Deuling @ 2007-10-22 6:04 UTC (permalink / raw)
To: Joel Brobecker; +Cc: GDB Patches, hilfinger, Ulrich Weigand
Hi Joel,
thanks for your effort. I'll wait for the results of the per-objfile discussion and then come up with a complete patch.
Joel Brobecker schrieb:
> Hi Markus,
>
>> * ada-lang.c (ada_create_fundamental_type): Use objfile->gdbarch to
>> get
>> at the current architecture.
>
> These changes are pretty mechanical, and look OK to me, but I see
> that the decision to use per-objfile gdbarch is still being discussed.
> So we'll probably want to hold these changes for a little longer.
>
>> (ada_language_arch_info): Replace current_gdbarch by gdbarch.
>
> This part can be checked in now, however.
>
--
Markus Deuling
GNU Toolchain for Linux on Cell BE
deuling@de.ibm.com
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2007-10-22 6:01 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2007-10-11 8:55 [rfc] [06/17] Get rid of current_gdbarch in ada-lang.c Markus Deuling
2007-10-11 17:33 ` Joel Brobecker
2007-10-22 6:04 ` Markus Deuling
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox