From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 27423 invoked by alias); 9 Dec 2001 06:47:54 -0000 Mailing-List: contact gdb-patches-help@sources.redhat.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sources.redhat.com Received: (qmail 26455 invoked from network); 9 Dec 2001 06:46:29 -0000 Received: from unknown (HELO fishpond.ninemoons.com) (64.232.230.104) by sources.redhat.com with SMTP; 9 Dec 2001 06:46:29 -0000 Received: (from fnf@localhost) by fishpond.ninemoons.com (8.11.6/8.11.6) id fB96fCx13479; Sat, 8 Dec 2001 23:41:12 -0700 From: Fred Fish Message-Id: <200112090641.fB96fCx13479@fishpond.ninemoons.com> Subject: RFA: use init_type() in dwarf2read.c To: gdb-patches@sources.redhat.com Date: Sat, 08 Dec 2001 22:47:00 -0000 Cc: fnf@redhat.com Reply-To: fnf@redhat.com X-Mailer: ELM [version 2.5 PL6] MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-SW-Source: 2001-12/txt/msg00245.txt.bz2 The dwarf2read.c file sometimes handcrafts new types and sometimes calls init_type(). This patch eliminates one of the unnecessary handcraftings. -Fred 2001-12-08 Fred Fish * dwarf2read.c (read_typedef): Replace hand crafted type initialization with a call to the init_type() function, which is how the rest of gdb creates types. Index: dwarf2read.c =================================================================== RCS file: /cvs/src/src/gdb/dwarf2read.c,v retrieving revision 1.38 diff -u -p -r1.38 dwarf2read.c --- dwarf2read.c 2001/12/07 22:11:51 1.38 +++ dwarf2read.c 2001/12/09 01:28:00 @@ -2886,26 +2882,15 @@ static void read_typedef (struct die_info *die, struct objfile *objfile, const struct comp_unit_head *cu_header) { - struct type *type; + struct attribute *attr; + char *name; if (!die->type) { - struct attribute *attr; - struct type *xtype; - - xtype = die_type (die, objfile, cu_header); - - type = alloc_type (objfile); - TYPE_CODE (type) = TYPE_CODE_TYPEDEF; - TYPE_FLAGS (type) |= TYPE_FLAG_TARGET_STUB; - TYPE_TARGET_TYPE (type) = xtype; attr = dwarf_attr (die, DW_AT_name); - if (attr && DW_STRING (attr)) - TYPE_NAME (type) = obsavestring (DW_STRING (attr), - strlen (DW_STRING (attr)), - &objfile->type_obstack); - - die->type = type; + name = (attr && DW_STRING (attr)) ? DW_STRING (attr) : NULL; + die->type = init_type (TYPE_CODE_TYPEDEF, 0, TYPE_FLAG_TARGET_STUB, name, objfile); + TYPE_TARGET_TYPE (die->type) = die_type (die, objfile, cu_header); } }