Return dgs.alc on success

libiberty/

2010-01-09  Ian Lance Taylor  <iant@google.com>

	PR other/42230
	* cp-demangle.c (d_demangle): Return dgs.alc on success.

libstdc++-v3/

2010-01-09  H.J. Lu  <hongjiu.lu@intel.com>

	PR other/42230
	* testsuite/abi/pr42230.cc: New.

From-SVN: r155785
This commit is contained in:
H.J. Lu 2010-01-09 16:24:52 -08:00
parent be24b7fbd0
commit 9b2adcdbc1
4 changed files with 29 additions and 3 deletions

View File

@ -1,3 +1,8 @@
2010-01-09 Ian Lance Taylor <iant@google.com>
PR other/42230
* cp-demangle.c (d_demangle): Return dgs.alc on success.
2010-01-04 Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
PR target/42316

View File

@ -4777,7 +4777,7 @@ d_demangle (const char *mangled, int options, size_t *palc)
return NULL;
}
*palc = dgs.allocation_failure ? 1 : 0;
*palc = dgs.allocation_failure ? 1 : dgs.alc;
return dgs.buf;
}

View File

@ -1,10 +1,15 @@
2010-01-09 H.J. Lu <hongjiu.lu@intel.com>
PR other/42230
* testsuite/abi/pr42230.cc: New.
2010-01-09 Paolo Carlini <paolo.carlini@oracle.com>
* include/debug/set.h: Revert last change, per DR 1204 [Ready];
mention the latter in comment.
* include/debug/unordered_map: Likewise.
* include/debug/multiset.h: Likewise.
* include/debug/vector: Likewise.
* include/debug/multiset.h: Likewise.
* include/debug/vector: Likewise.
* include/debug/unordered_set: Likewise.
* include/debug/deque: Likewise.
* include/debug/map.h: Likewise.

View File

@ -0,0 +1,16 @@
// { dg-do run }
#include <cxxabi.h>
#include <cassert>
#include <cstddef>
int main()
{
std::size_t length = 0;
int cc;
char* ret = abi::__cxa_demangle("e", 0, &length, &cc);
assert( (cc < 0 && !ret) || (ret && length) );
return 0;
}