Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: Daniel Jacobowitz <drow@false.org>
To: gdb-patches@sourceware.org
Subject: Fix non-pointer-sign gcc warnings
Date: Sun, 15 Jan 2006 20:28:00 -0000	[thread overview]
Message-ID: <20060115202850.GB12204@nevyn.them.org> (raw)

Prompted by Mark's suggestion, this is the only remaining GCC4 warnings
after -Wno-pointer-sign.  GCC4 is much more aggressive about inlining
static functions, especially when only used once.  It then does
uninitialized variable warnings across variables passed by address to
inlined functions.  It also can do uninitialized warnings for members
of structures.

The one in macroexp.c is not a real bug but I think GCC is justified in
not being able to see through it.  The one in stabsread.c is a real bug
and would cause GDB to crash on bad stabs.

-- 
Daniel Jacobowitz
CodeSourcery

2006-01-15  Daniel Jacobowitz  <dan@codesourcery.com>

	* macroexp.c (expand): Initialize argc.
	* stabsread.c (read_type): Handle errors from read_args.
	(read_args): Return NULL for errors.

Index: macroexp.c
===================================================================
RCS file: /cvs/src/src/gdb/macroexp.c,v
retrieving revision 1.8
diff -u -p -r1.8 macroexp.c
--- macroexp.c	17 Dec 2005 22:34:01 -0000	1.8
+++ macroexp.c	15 Jan 2006 20:23:21 -0000
@@ -927,7 +927,7 @@ expand (const char *id,
   else if (def->kind == macro_function_like)
     {
       struct cleanup *back_to = make_cleanup (null_cleanup, 0);
-      int argc;
+      int argc = 0;
       struct macro_buffer *argv = NULL;
       struct macro_buffer substituted;
       struct macro_buffer substituted_src;
Index: stabsread.c
===================================================================
RCS file: /cvs/src/src/gdb/stabsread.c,v
retrieving revision 1.82
diff -u -p -r1.82 stabsread.c
--- stabsread.c	17 Dec 2005 22:34:02 -0000	1.82
+++ stabsread.c	15 Jan 2006 20:23:22 -0000
@@ -1804,6 +1804,8 @@ again:
 
 	  return_type = read_type (pp, objfile);
 	  args = read_args (pp, ';', objfile, &nargs, &varargs);
+	  if (args == NULL)
+	    return error_type (pp, objfile);
 	  type = dbx_alloc_type (typenums, objfile);
 	  smash_to_method_type (type, domain, return_type, args,
 				nargs, varargs);
@@ -3985,8 +3987,8 @@ handle_true_range:
 }
 
 /* Read in an argument list.  This is a list of types, separated by commas
-   and terminated with END.  Return the list of types read in, or (struct type
-   **)-1 if there is an error.  */
+   and terminated with END.  Return the list of types read in, or NULL
+   if there is an error.  */
 
 static struct field *
 read_args (char **pp, int end, struct objfile *objfile, int *nargsp,
@@ -4001,7 +4003,7 @@ read_args (char **pp, int end, struct ob
     {
       if (**pp != ',')
 	/* Invalid argument list: no ','.  */
-	return (struct field *) -1;
+	return NULL;
       (*pp)++;
       STABS_CONTINUE (pp, objfile);
       types[n++] = read_type (pp, objfile);


             reply	other threads:[~2006-01-15 20:28 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-01-15 20:28 Daniel Jacobowitz [this message]
2006-01-16  7:04 ` Jim Blandy
2006-01-16 13:42   ` Daniel Jacobowitz
2006-01-16 22:22     ` Jim Blandy

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20060115202850.GB12204@nevyn.them.org \
    --to=drow@false.org \
    --cc=gdb-patches@sourceware.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox