* stabsread.c (read_args): Handle zero arguments.

gdb/testsuite/
	* gdb.stabs/weird.def (args93): New.
This commit is contained in:
Jan Kratochvil 2010-01-08 08:55:16 +00:00
parent f0f209491f
commit d24d854870
4 changed files with 23 additions and 1 deletions

View File

@ -1,3 +1,7 @@
2010-01-09 Jan Kratochvil <jan.kratochvil@redhat.com>
* stabsread.c (read_args): Handle zero arguments.
2009-01-08 Joel Brobecker <brobecker@adacore.com>
Cannot find in-tree libiconv.a after reconfigure.

View File

@ -4111,7 +4111,17 @@ read_args (char **pp, int end, struct objfile *objfile, int *nargsp,
}
(*pp)++; /* get past `end' (the ':' character) */
if (TYPE_CODE (types[n - 1]) != TYPE_CODE_VOID)
if (n == 0)
{
/* We should read at least the THIS parameter here. Some broken stabs
output contained `(0,41),(0,42)=@s8;-16;,(0,43),(0,1);' where should
have been present ";-16,(0,43)" reference instead. This way the
excessive ";" marker prematurely stops the parameters parsing. */
complaint (&symfile_complaints, _("Invalid (empty) method arguments"));
*varargsp = 0;
}
else if (TYPE_CODE (types[n - 1]) != TYPE_CODE_VOID)
*varargsp = 1;
else
{

View File

@ -1,3 +1,7 @@
2010-01-09 Jan Kratochvil <jan.kratochvil@redhat.com>
* gdb.stabs/weird.def (args93): New.
2010-01-07 Doug Evans <dje@google.com>
* lib/gdb.exp (gdb_skip_xml_test): Add comment.

View File

@ -880,3 +880,7 @@ var3:
.stabs "sym92:\ !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0
.stabs "type92:t92=\ !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~",N_LSYM,0,0,0
.stabs "attr92:G392=@\ !#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~;1",N_GSYM,0,0, 0
# See read_args "Invalid (empty) method arguments" error; there is an
# unexpected semi-colon after =@s8;-16 that used to cause a GDB crash.
.stabs "args93:G93=#(0,93),(0,93)=@s8;-16;,(0,93),(0,93);",N_GSYM,0,0,0