Re: [PATCH] cplus-demangler, free resource after a failed call to gnu_special.

Thomas Schwinge
2014-05-22T11:58:10Z

[-- Attachment #1: Type: text/plain, Size: 2998 bytes --]

Hi!

On Wed, 14 May 2014 15:20:16 +0100, Gary Benson <gbenson@redhat.com> wrote:
> Andrew Burgess wrote:
> > On 14/05/2014 10:01 AM, Gary Benson wrote:
> > > Ian Lance Taylor wrote:
> > > > Andrew Burgess <aburgess@broadcom.com> wrote:
> > > > > On 09/05/2014 9:53 PM, Ian Lance Taylor wrote:
> > > > > > Andrew Burgess <aburgess@broadcom.com> wrote:
> > > > > > > if ((AUTO_DEMANGLING || GNU_DEMANGLING))
> > > > > > > {
> > > > > > > success = gnu_special (work, &mangled, &decl);
> > > > > > > + if (!success)
> > > > > > > + {
> > > > > > > + delete_work_stuff (work);
> > > > > > > + string_delete (&decl);
> > > > > > > + }
> > > > > >
> > > >
> > > > This patch is OK.
> > >
> > > Andrew, would you like me to commit this?
> >
> > Yes please.
>
> Done:
> https://gcc.gnu.org/viewcvs/gcc?view=revision&revision=210425

In GCC, I'm consistenly seeing the following new failure:

./test-demangle < ../../../source/libiberty/testsuite/demangle-expected
FAIL at line 4350, options --format=auto --no-params:
in: _QueueNotification_QueueController__$4PPPPPPPM_A_INotice___Z
out: (null)
exp:
./test-demangle: 895 tests, 1 failures
make[2]: *** [check-cplus-dem] Error 1

The patch was committed incompletely; I added the missing last line in
r210803:

commit 8207b6a22d5955c41109399cb09f0af661a593ea
Author: tschwinge <tschwinge@138bc75d-0d04-0410-961f-82ee72b054a4>
AuthorDate: Thu May 22 11:56:45 2014 +0000
Commit: tschwinge <tschwinge@138bc75d-0d04-0410-961f-82ee72b054a4>
CommitDate: Thu May 22 11:56:45 2014 +0000

Fix test in libiberty/testsuite/demangle-expected.

libiberty/
* testsuite/demangle-expected: Fix last commit.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@210803 138bc75d-0d04-0410-961f-82ee72b054a4
---
libiberty/ChangeLog | 4 ++++
libiberty/testsuite/demangle-expected | 1 +
2 files changed, 5 insertions(+)

diff --git libiberty/ChangeLog libiberty/ChangeLog
index 7156be7..7b25c7e 100644
--- libiberty/ChangeLog
+++ libiberty/ChangeLog
@@ -1,3 +1,7 @@
+2014-05-22 Thomas Schwinge <thomas@codesourcery.com>
+
+ * testsuite/demangle-expected: Fix last commit.
+
2014-05-14 Andrew Burgess <aburgess@broadcom.com>

* cplus-dmem.c (internal_cplus_demangle): Free any resources
diff --git libiberty/testsuite/demangle-expected libiberty/testsuite/demangle-expected
index 823a1c4..864ee7e 100644
--- libiberty/testsuite/demangle-expected
+++ libiberty/testsuite/demangle-expected
@@ -4347,3 +4347,4 @@ void post<std::function<void ()> >(std::function<void ()>&&)::{lambda()#1}*& std
--format=auto --no-params
_QueueNotification_QueueController__$4PPPPPPPM_A_INotice___Z
_QueueNotification_QueueController__$4PPPPPPPM_A_INotice___Z
+_QueueNotification_QueueController__$4PPPPPPPM_A_INotice___Z

Grüße,
Thomas

[-- Attachment #2: Type: application/pgp-signature, Size: 472 bytes --]