[rfc][00/37] Eliminate builtin_type_ macros

uweigand
2008-08-31T17:52:16Z

Hello,

one of the last remaining "implicit" uses of current_gdbarch is the
builtin_type_ macros. This patch set completely removes those macros.

I've attempted to not simply replace those types with explict uses of
current_gdbarch, but instead choose the proper architecture to use:

- I've added a gdbarch pointer to struct expression, and used this
per-expression arch throughout expression parsing and evaluation.
- I've converted some types (like builtin_void_type) back to be
platform-neutral, so they can be freely used throughout GDB.
- In many cases, an existing per-frame or per-objfile arch was available
(or could be made available) and should be used.
- Target-specific code should use target_gdbarch.
- In a very small number of case, current_gdbarch remains for now.

Each of the following patches contains a more specific explanation.

Combination of all 37 patches tested on amd64-linux, s390-ibm-linux,
s390x-ibm-linux, powerpc-linux, powerpc64-linux, and spu-elf with no
regressions. Also, compile-tested with --enable-targets=all (each
patch by itself).

I'd be interested in particular in feedback from the Ada maintainers
on the Ada-related changes in this patch-set.

What do you think?