aboutsummaryrefslogtreecommitdiff
path: root/gcc/d/dmd/dmangle.c
diff options
context:
space:
mode:
authorIain Buclaw <ibuclaw@gcc.gnu.org>2019-03-26 14:40:06 +0000
committerIain Buclaw <ibuclaw@gcc.gnu.org>2019-03-26 14:40:06 +0000
commitecbb1530e317e8b405d29dead5b080fe2ef9f50c (patch)
tree999523995b74fc9b4bf531a6cabba421735f4b1b /gcc/d/dmd/dmangle.c
parent465b8e7f4ecb9af118419dbf14a43cb95e1d12dd (diff)
downloadgcc-ecbb1530e317e8b405d29dead5b080fe2ef9f50c.zip
gcc-ecbb1530e317e8b405d29dead5b080fe2ef9f50c.tar.gz
gcc-ecbb1530e317e8b405d29dead5b080fe2ef9f50c.tar.bz2
d/dmd: Merge upstream dmd ab702e73e
Fixes memory leak in the front-end symbol mangler, and introduces recognition and rejection of a few more C types and directives. Reviewed-on: https://github.com/dlang/dmd/pull/9492 From-SVN: r269945
Diffstat (limited to 'gcc/d/dmd/dmangle.c')
-rw-r--r--gcc/d/dmd/dmangle.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/d/dmd/dmangle.c b/gcc/d/dmd/dmangle.c
index 7f13947..44f4f82 100644
--- a/gcc/d/dmd/dmangle.c
+++ b/gcc/d/dmd/dmangle.c
@@ -306,8 +306,9 @@ public:
buf2.reserve(32);
Mangler v(&buf2);
v.paramsToDecoBuffer(t->arguments);
+ const char *s = buf2.peekString();
int len = (int)buf2.offset;
- buf->printf("%d%.*s", len, len, buf2.extractData());
+ buf->printf("%d%.*s", len, len, s);
}
void visit(TypeNull *t)