* cp-demangle.c (d_copy_templates): Cast result of malloc to (struct d_print_template *). (d_print_comp): Cast result of realloc to (struct d_saved scope *).

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204713 138bc75d-0d04-0410-961f-82ee72b054a4
This commit is contained in:
uros 2013-11-12 20:02:21 +00:00 committed by Tom Tromey
parent 391d340008
commit 8467a2fd55
2 changed files with 16 additions and 9 deletions

View file

@ -1,3 +1,9 @@
2013-11-12 Uros Bizjak <ubizjak@gmail.com>
* cp-demangle.c (d_copy_templates): Cast result of malloc
to (struct d_print_template *).
(d_print_comp): Cast result of realloc to (struct d_saved scope *).
2013-10-29 Marc Glisse <marc.glisse@inria.fr> 2013-10-29 Marc Glisse <marc.glisse@inria.fr>
PR tree-optimization/58689 PR tree-optimization/58689
@ -18,10 +24,9 @@
(d_copy_templates): New function. (d_copy_templates): New function.
(d_print_comp): New variables saved_templates and (d_print_comp): New variables saved_templates and
need_template_restore. need_template_restore.
[DEMANGLE_COMPONENT_REFERENCE, [DEMANGLE_COMPONENT_REFERENCE, DEMANGLE_COMPONENT_RVALUE_REFERENCE]:
DEMANGLE_COMPONENT_RVALUE_REFERENCE]: Capture scope the first Capture scope the first time the component is traversed, and use the
time the component is traversed, and use the captured scope for captured scope for subsequent traversals.
subsequent traversals.
* testsuite/demangle-expected: Add regression test. * testsuite/demangle-expected: Add regression test.
2013-10-23 Gerald Pfeifer <gerald@pfeifer.com> 2013-10-23 Gerald Pfeifer <gerald@pfeifer.com>

View file

@ -3968,7 +3968,7 @@ d_copy_templates (struct d_print_info *dpi)
for (src = dpi->templates; src != NULL; src = src->next) for (src = dpi->templates; src != NULL; src = src->next)
{ {
struct d_print_template *dst = struct d_print_template *dst =
malloc (sizeof (struct d_print_template)); (struct d_print_template *) malloc (sizeof (struct d_print_template));
if (dst == NULL) if (dst == NULL)
{ {
@ -4381,14 +4381,16 @@ d_print_comp (struct d_print_info *dpi, int options,
if (scope == NULL) if (scope == NULL)
{ {
size_t size;
/* This is the first time SUB has been traversed. /* This is the first time SUB has been traversed.
We need to capture the current templates so We need to capture the current templates so
they can be restored if SUB is reentered as a they can be restored if SUB is reentered as a
substitution. */ substitution. */
++dpi->num_saved_scopes; ++dpi->num_saved_scopes;
scopes = realloc (dpi->saved_scopes, size = sizeof (struct d_saved_scope) * dpi->num_saved_scopes;
sizeof (struct d_saved_scope) scopes = (struct d_saved_scope *) realloc (dpi->saved_scopes,
* dpi->num_saved_scopes); size);
if (scopes == NULL) if (scopes == NULL)
{ {
d_print_error (dpi); d_print_error (dpi);