From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 23208 invoked by alias); 31 Aug 2008 17:52:16 -0000 Received: (qmail 23128 invoked by uid 22791); 31 Aug 2008 17:52:10 -0000 X-Spam-Check-By: sourceware.org Received: from mtagate7.de.ibm.com (HELO mtagate7.de.ibm.com) (195.212.29.156) by sourceware.org (qpsmtpd/0.31) with ESMTP; Sun, 31 Aug 2008 17:51:22 +0000 Received: from d12nrmr1607.megacenter.de.ibm.com (d12nrmr1607.megacenter.de.ibm.com [9.149.167.49]) by mtagate7.de.ibm.com (8.13.8/8.13.8) with ESMTP id m7VHpGE8347706 for ; Sun, 31 Aug 2008 17:51:16 GMT Received: from d12av02.megacenter.de.ibm.com (d12av02.megacenter.de.ibm.com [9.149.165.228]) by d12nrmr1607.megacenter.de.ibm.com (8.13.8/8.13.8/NCO v9.0) with ESMTP id m7VHpGui2326570 for ; Sun, 31 Aug 2008 19:51:16 +0200 Received: from d12av02.megacenter.de.ibm.com (loopback [127.0.0.1]) by d12av02.megacenter.de.ibm.com (8.12.11.20060308/8.13.3) with ESMTP id m7VHpGLg019964 for ; Sun, 31 Aug 2008 19:51:16 +0200 Received: from tuxmaker.boeblingen.de.ibm.com (tuxmaker.boeblingen.de.ibm.com [9.152.85.9]) by d12av02.megacenter.de.ibm.com (8.12.11.20060308/8.12.11) with ESMTP id m7VHpGr3019959 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO) for ; Sun, 31 Aug 2008 19:51:16 +0200 Received: from tuxmaker.boeblingen.de.ibm.com (localhost.localdomain [127.0.0.1]) by tuxmaker.boeblingen.de.ibm.com (8.13.8/8.13.8) with ESMTP id m7VHpFsi002210 for ; Sun, 31 Aug 2008 19:51:15 +0200 Received: (from uweigand@localhost) by tuxmaker.boeblingen.de.ibm.com (8.13.8/8.13.8/Submit) id m7VHpDZi002209 for gdb-patches@sourceware.org; Sun, 31 Aug 2008 19:51:13 +0200 Message-Id: <20080831175045.128504000@de.ibm.com> User-Agent: quilt/0.46-1 Date: Sun, 31 Aug 2008 17:53:00 -0000 From: uweigand@de.ibm.com To: gdb-patches@sourceware.org Subject: [rfc][00/37] Eliminate builtin_type_ macros Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org X-SW-Source: 2008-08/txt/msg00696.txt.bz2 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? Bye, Ulrich -- Dr. Ulrich Weigand GNU Toolchain for Linux on System z and Cell BE Ulrich.Weigand@de.ibm.com