summaryrefslogtreecommitdiffstats
path: root/libcxxabi/src/cxa_demangle.cpp
diff options
context:
space:
mode:
authorHoward Hinnant <hhinnant@apple.com>2011-12-01 00:08:59 +0000
committerHoward Hinnant <hhinnant@apple.com>2011-12-01 00:08:59 +0000
commitdc82cca6bfd1c117556d718e71a7f6cbf65032fb (patch)
tree97272a72334cf3a7c8847f1851a3c9c4f59dcc3e /libcxxabi/src/cxa_demangle.cpp
parent1da6f4b43539629a81d8fdb4119bb97ba49a530c (diff)
downloadbcm5719-llvm-dc82cca6bfd1c117556d718e71a7f6cbf65032fb.tar.gz
bcm5719-llvm-dc82cca6bfd1c117556d718e71a7f6cbf65032fb.zip
Updated heuristic regulating small string buffer
llvm-svn: 145543
Diffstat (limited to 'libcxxabi/src/cxa_demangle.cpp')
-rw-r--r--libcxxabi/src/cxa_demangle.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/libcxxabi/src/cxa_demangle.cpp b/libcxxabi/src/cxa_demangle.cpp
index 745093a219c..9af59dd36ee 100644
--- a/libcxxabi/src/cxa_demangle.cpp
+++ b/libcxxabi/src/cxa_demangle.cpp
@@ -14952,7 +14952,10 @@ printf("\n");
#endif
const size_t bs = buf == NULL ? 0 : *n;
ptrdiff_t sm = dmg_tree.__mangled_name_end_ - dmg_tree.__mangled_name_begin_;
- ptrdiff_t est = sm + 50 * (dmg_tree.__node_end_ - dmg_tree.__node_begin_);
+ ptrdiff_t est = sm + 60 * (
+ (dmg_tree.__node_end_ - dmg_tree.__node_begin_) +
+ (dmg_tree.__sub_end_ - dmg_tree.__sub_begin_) +
+ (dmg_tree.__t_end_ - dmg_tree.__t_begin_));
const unsigned N = 4096;
char tmp[N];
ptrdiff_t s;
OpenPOWER on IntegriCloud