From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 16086 invoked by alias); 15 Nov 2001 00:32:20 -0000 Mailing-List: contact gdb-patches-help@sourceware.cygnus.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sources.redhat.com Received: (qmail 16065 invoked from network); 15 Nov 2001 00:32:18 -0000 Received: from unknown (HELO localhost.cygnus.com) (216.138.202.10) by sourceware.cygnus.com with SMTP; 15 Nov 2001 00:32:18 -0000 Received: from cygnus.com (localhost [127.0.0.1]) by localhost.cygnus.com (Postfix) with ESMTP id 79B9E3CF6; Wed, 14 Nov 2001 19:32:11 -0500 (EST) Message-ID: <3BF30D0A.3000102@cygnus.com> Date: Mon, 05 Nov 2001 15:36:00 -0000 From: Andrew Cagney User-Agent: Mozilla/5.0 (X11; U; NetBSD macppc; en-US; rv:0.9.3) Gecko/20011020 X-Accept-Language: en-us MIME-Version: 1.0 To: Michael Snyder Cc: gdb-patches@sources.redhat.com, cagney@redhat.com, jimb@redhat.com Subject: Re: [RFA] Harvard extensions for cast expressions References: <200111142100.fAEL0Kn12623@reddwarf.cygnus.com> Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit X-SW-Source: 2001-11/txt/msg00069.txt.bz2 > This is a re-submission, with suggested clean-ups, of an extension > posted in September to allow cast expressions to include a modifier > which designates an address space (for now, either "code" or "data"). > > Future work may be expected to extend this so that address spaces > can be added dynamically at runtime. > > 2001-09-28 Michael Snyder > Add address space identifiers to expression language for types. > * c-exp.y (space_identifier, cv_with_space_id, > const_or_volatile_or_space_identifier_noopt, > const_or_volatile_or_space_identifier): New terminals. > (ptype): Accept const_or_volatile_or_space_identifier. > (typebase): Accept const_or_volatile_or_space_identifier. > * c-typeprint.c (c_type_print_cv_qualifier): Rename to > c_type_print_modifier. Handle address space modified types. > * gdbtypes.h (TYPE_FLAG_CODE_SPACE, TYPE_FLAG_DATA_SPACE): > New type flags. > (struct type): Add new field as_type for addr-space qualified types. > (TYPE_AS_TYPE): New macro, retrieves the chain of types that are > identical to this one except for address-space qualification. > * gdbtypes.c (alloc_type): Initialize new field 'as_type'. > (address_space_name_to_int): New function. > (address_space_int_to_name): New function. > (make_type_with_address_space): New function. > (make_cv_type): Handle as_type field of new struct type object. > * parse.c (check_type_stack_depth): New function. > (push_type_address_space): New function. > (follow_types): Handle types with address-space qualifier. > * parser-defs.h (enum type_pieces): Add enum tp_space_identifier. > > Yes, ok. Andrew