summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorhjl <hjl@138bc75d-0d04-0410-961f-82ee72b054a4>2010-01-10 00:24:52 +0000
committerhjl <hjl@138bc75d-0d04-0410-961f-82ee72b054a4>2010-01-10 00:24:52 +0000
commitdb80fc3f1add0d1d105ce7569fb6fbedebf40b7f (patch)
tree2b6609917b3fbd2025fcdb94fb3fac7f8b42e73b
parent4f470a3bd4480b344b812d934574f55918305fe0 (diff)
downloadppe42-gcc-db80fc3f1add0d1d105ce7569fb6fbedebf40b7f.tar.gz
ppe42-gcc-db80fc3f1add0d1d105ce7569fb6fbedebf40b7f.zip
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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@155785 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--libiberty/ChangeLog5
-rw-r--r--libiberty/cp-demangle.c2
-rw-r--r--libstdc++-v3/ChangeLog9
-rw-r--r--libstdc++-v3/testsuite/abi/pr42230.cc16
4 files changed, 29 insertions, 3 deletions
diff --git a/libiberty/ChangeLog b/libiberty/ChangeLog
index c3d8f196b27..effb327ea22 100644
--- a/libiberty/ChangeLog
+++ b/libiberty/ChangeLog
@@ -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
diff --git a/libiberty/cp-demangle.c b/libiberty/cp-demangle.c
index 43cf34a36cf..d37c90efc2d 100644
--- a/libiberty/cp-demangle.c
+++ b/libiberty/cp-demangle.c
@@ -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;
}
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index a8276a32413..e0fe5698976 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -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.
diff --git a/libstdc++-v3/testsuite/abi/pr42230.cc b/libstdc++-v3/testsuite/abi/pr42230.cc
new file mode 100644
index 00000000000..2a338995336
--- /dev/null
+++ b/libstdc++-v3/testsuite/abi/pr42230.cc
@@ -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;
+}
OpenPOWER on IntegriCloud