From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 80063 invoked by alias); 22 Jan 2019 17:37:54 -0000 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 Received: (qmail 80048 invoked by uid 89); 22 Jan 2019 17:37:53 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-25.4 required=5.0 tests=BAYES_00,GIT_PATCH_0,GIT_PATCH_1,GIT_PATCH_2,GIT_PATCH_3,KAM_STOCKGEN,SPF_HELO_PASS autolearn=ham version=3.3.2 spammy=encrypted, 54B1, 237A, 28bf X-HELO: mx1.redhat.com Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Tue, 22 Jan 2019 17:37:52 +0000 Received: from smtp.corp.redhat.com (int-mx08.intmail.prod.int.phx2.redhat.com [10.5.11.23]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 21F3788E52; Tue, 22 Jan 2019 17:37:51 +0000 (UTC) Received: from localhost (unused-10-15-17-196.yyz.redhat.com [10.15.17.196]) by smtp.corp.redhat.com (Postfix) with ESMTP id E282F26175; Tue, 22 Jan 2019 17:37:50 +0000 (UTC) From: Sergio Durigan Junior To: Tom Tromey Cc: gdb-patches@sourceware.org Subject: Re: [PATCH] Remove the EXTERN define from stabsread.h References: <20190122090009.5893-1-tom@tromey.com> Date: Tue, 22 Jan 2019 17:37:00 -0000 In-Reply-To: <20190122090009.5893-1-tom@tromey.com> (Tom Tromey's message of "Tue, 22 Jan 2019 02:00:09 -0700") Message-ID: <87tvi01tld.fsf@redhat.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.1 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-IsSubscribed: yes X-SW-Source: 2019-01/txt/msg00477.txt.bz2 On Tuesday, January 22 2019, Tom Tromey wrote: > This removes the EXTERN define from stabsread.h. This is the only > spot that still uses this approach, and it interfered with sorting the Makes sense to me, but you need to finish the sentence above :-). Cheers, > Tested by rebuilding. > > gdb/ChangeLog > 2019-01-22 Tom Tromey > > * stabsread.c (EXTERN): Do not define. > (symnum, next_symbol_text_func, processing_gcc_compilation) > (within_function, global_sym_chain, global_stabs) > (previous_stab_code, this_object_header_files) > (n_this_object_header_files) > (n_allocated_this_object_header_files): Define. > * stabsread.h (EXTERN): Never define. Use "extern". > --- > gdb/ChangeLog | 10 ++++++++++ > gdb/stabsread.c | 18 +++++++++++++----- > gdb/stabsread.h | 33 +++++++++++---------------------- > 3 files changed, 34 insertions(+), 27 deletions(-) > > diff --git a/gdb/stabsread.c b/gdb/stabsread.c > index fc41c8fc86..fc3db8f19b 100644 > --- a/gdb/stabsread.c > +++ b/gdb/stabsread.c > @@ -47,11 +47,19 @@ > #include "bcache.h" > #include > > -/* Ask stabsread.h to define the vars it normally declares `extern'. */ > -#define EXTERN > -/**/ > -#include "stabsread.h" /* Our own declarations */ > -#undef EXTERN > +#include "stabsread.h" > + > +/* See stabsread.h for these globals. */ > +unsigned int symnum; > +const char *(*next_symbol_text_func) (struct objfile *); > +unsigned char processing_gcc_compilation; > +int within_function; > +struct symbol *global_sym_chain[HASHSIZE]; > +struct pending_stabs *global_stabs; > +int previous_stab_code; > +int *this_object_header_files; > +int n_this_object_header_files; > +int n_allocated_this_object_header_files; > > struct nextfield > { > diff --git a/gdb/stabsread.h b/gdb/stabsread.h > index 868ad0b21d..b872aadb87 100644 > --- a/gdb/stabsread.h > +++ b/gdb/stabsread.h > @@ -20,16 +20,7 @@ struct objfile; > enum language; > > /* Definitions, prototypes, etc for stabs debugging format support > - functions. > - > - Variables declared in this file can be defined by #define-ing > - the name EXTERN to null. It is used to declare variables that > - are normally extern, but which get defined in a single module > - using this technique. */ > - > -#ifndef EXTERN > -#define EXTERN extern > -#endif > + functions. */ > > #define HASHSIZE 127 /* Size of things hashed via > hashname(). */ > @@ -40,23 +31,23 @@ extern int hashname (const char *name); > > /* Count symbols as they are processed, for error messages. */ > > -EXTERN unsigned int symnum; > +extern unsigned int symnum; > > #define next_symbol_text(objfile) (*next_symbol_text_func)(objfile) > > /* Function to invoke get the next symbol. Return the symbol name. */ > > -EXTERN const char *(*next_symbol_text_func) (struct objfile *); > +extern const char *(*next_symbol_text_func) (struct objfile *); > > /* Global variable which, when set, indicates that we are processing a > .o file compiled with gcc */ > > -EXTERN unsigned char processing_gcc_compilation; > +extern unsigned char processing_gcc_compilation; > > /* Nonzero if within a function (so symbols should be local, if > nothing says specifically). */ > > -EXTERN int within_function; > +extern int within_function; > > /* Hash table of global symbols whose values are not known yet. > They are chained thru the SYMBOL_VALUE_CHAIN, since we don't > @@ -66,7 +57,7 @@ EXTERN int within_function; > it refers to a FORTRAN common block rather than the usual meaning, and > the such LOC_BLOCK symbols use their fields in nonstandard ways. */ > > -EXTERN struct symbol *global_sym_chain[HASHSIZE]; > +extern struct symbol *global_sym_chain[HASHSIZE]; > > extern void common_block_start (const char *, struct objfile *); > extern void common_block_end (struct objfile *); > @@ -80,12 +71,12 @@ struct pending_stabs > char *stab[1]; > }; > > -EXTERN struct pending_stabs *global_stabs; > +extern struct pending_stabs *global_stabs; > > /* The type code that process_one_symbol saw on its previous invocation. > Used to detect pairs of N_SO symbols. */ > > -EXTERN int previous_stab_code; > +extern int previous_stab_code; > > /* Support for Sun changes to dbx symbol format. */ > > @@ -150,11 +141,11 @@ struct header_file > and not to any header file. FILENUM != 1 is interpreted by looking it up > in the following table, which contains indices in header_files. */ > > -EXTERN int *this_object_header_files; > +extern int *this_object_header_files; > > -EXTERN int n_this_object_header_files; > +extern int n_this_object_header_files; > > -EXTERN int n_allocated_this_object_header_files; > +extern int n_allocated_this_object_header_files; > > extern void cleanup_undefined_stabs_types (struct objfile *); > > @@ -228,5 +219,3 @@ extern void init_header_files (void); > to. Get these symbols from the minimal symbol table. */ > > extern void scan_file_globals (struct objfile *objfile); > - > -#undef EXTERN > -- > 2.17.2 -- Sergio GPG key ID: 237A 54B1 0287 28BF 00EF 31F4 D0EB 7628 65FC 5E36 Please send encrypted e-mail if possible http://sergiodj.net/