public inbox for gdb-patches@sourceware.org
 help / color / mirror / Atom feed
* [PATCH] Remove the EXTERN define from stabsread.h
@ 2019-01-22  9:00 Tom Tromey
  2019-01-22 17:37 ` Sergio Durigan Junior
  0 siblings, 1 reply; 3+ messages in thread
From: Tom Tromey @ 2019-01-22  9:00 UTC (permalink / raw)
  To: gdb-patches; +Cc: Tom Tromey

This removes the EXTERN define from stabsread.h.  This is the only
spot that still uses this approach, and it interfered with sorting the

Tested by rebuilding.

gdb/ChangeLog
2019-01-22  Tom Tromey  <tom@tromey.com>

	* 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 <ctype.h>
 
-/* 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;
 \f
 /* 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

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] Remove the EXTERN define from stabsread.h
  2019-01-22  9:00 [PATCH] Remove the EXTERN define from stabsread.h Tom Tromey
@ 2019-01-22 17:37 ` Sergio Durigan Junior
  2019-01-22 22:59   ` Tom Tromey
  0 siblings, 1 reply; 3+ messages in thread
From: Sergio Durigan Junior @ 2019-01-22 17:37 UTC (permalink / raw)
  To: Tom Tromey; +Cc: gdb-patches

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  <tom@tromey.com>
>
> 	* 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 <ctype.h>
>  
> -/* 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;
>  \f
>  /* 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/

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] Remove the EXTERN define from stabsread.h
  2019-01-22 17:37 ` Sergio Durigan Junior
@ 2019-01-22 22:59   ` Tom Tromey
  0 siblings, 0 replies; 3+ messages in thread
From: Tom Tromey @ 2019-01-22 22:59 UTC (permalink / raw)
  To: Sergio Durigan Junior; +Cc: Tom Tromey, gdb-patches

>>>>> "Sergio" == Sergio Durigan Junior <sergiodj@redhat.com> writes:

Sergio> 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

Sergio> Makes sense to me, but you need to finish the sentence above :-).

The missing line started with "#include", and git interpreted the "#" as
a comment.

What's funny is that this has never happened to me before, and now it's
happened twice in one day on different projects...

I'm going to check this in with an updated commit message.

Tom

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2019-01-22 22:59 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-01-22  9:00 [PATCH] Remove the EXTERN define from stabsread.h Tom Tromey
2019-01-22 17:37 ` Sergio Durigan Junior
2019-01-22 22:59   ` Tom Tromey

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).