mangle.c (write_discriminator): Use `_0' for discriminator 1, not `_'.

* mangle.c (write_discriminator): Use `_0' for discriminator 1,
	not `_'.

	* cp-demangle.c (demangle_discriminator): `_0' is discriminator #1,
	`_' not followed by a digit is invalid.

From-SVN: r40795
This commit is contained in:
Jakub Jelinek 2001-03-23 23:12:55 +01:00 committed by Jakub Jelinek
parent 6008088011
commit f1a0345cf6
4 changed files with 13 additions and 10 deletions

View File

@ -1,3 +1,8 @@
2001-03-23 Jakub Jelinek <jakub@redhat.com>
* mangle.c (write_discriminator): Use `_0' for discriminator 1,
not `_'.
2001-03-23 Jakub Jelinek <jakub@redhat.com>
* decl.c (local_names): Define.

View File

@ -1196,10 +1196,7 @@ write_discriminator (discriminator)
if (discriminator > 0)
{
write_char ('_');
/* The number is omitted for discriminator == 1. Beyond 1, the
numbering starts at 0. */
if (discriminator > 1)
write_unsigned_number (discriminator - 2);
write_unsigned_number (discriminator - 1);
}
}

View File

@ -1,3 +1,8 @@
2001-03-23 Jakub Jelinek <jakub@redhat.com>
* cp-demangle.c (demangle_discriminator): `_0' is discriminator #1,
`_' not followed by a digit is invalid.
2001-03-22 Jim Blandy <jimb@redhat.com>
* cp-demangle.c (string_list_delete): Use dyn_string_delete

View File

@ -3446,15 +3446,11 @@ demangle_discriminator (dm, suppress_first)
/* Write the discriminator. The mangled number is two
less than the discriminator ordinal, counting from
zero. */
RETURN_IF_ERROR (int_to_dyn_string (discriminator + 2,
RETURN_IF_ERROR (int_to_dyn_string (discriminator + 1,
(dyn_string_t) dm->result));
}
else
{
if (flag_verbose)
/* A missing digit correspond to one. */
RETURN_IF_ERROR (result_add_char (dm, '1'));
}
return STATUS_ERROR;
if (flag_verbose)
RETURN_IF_ERROR (result_add_char (dm, ']'));
}