aboutsummaryrefslogtreecommitdiff
path: root/gcc/d/dmd/cppmangle.c
diff options
context:
space:
mode:
authorIain Buclaw <ibuclaw@gdcproject.org>2020-06-07 16:50:46 +0200
committerIain Buclaw <ibuclaw@gdcproject.org>2020-06-07 16:50:46 +0200
commitc3a2ba10b272fd9581560604284da2a6283bcde0 (patch)
tree9ecb66c15a440f670f9cfdccbc04c2a6e76f8cef /gcc/d/dmd/cppmangle.c
parent5aaccde3db39fac7e7f6677ceccc1eadd9c6a424 (diff)
downloadgcc-c3a2ba10b272fd9581560604284da2a6283bcde0.zip
gcc-c3a2ba10b272fd9581560604284da2a6283bcde0.tar.gz
gcc-c3a2ba10b272fd9581560604284da2a6283bcde0.tar.bz2
d: Merge upstream dmd b0df0e982
Adds a struct ParameterList to encapulate parameter and vararg information in the front-end. Reviewed-on: https://github.com/dlang/dmd/pull/11226 gcc/d/ChangeLog: * dmd/MERGE: Merge upstream dmd b0df0e982. * d-builtins.cc (build_frontend_type): Use VarArg for varargs_p. * d-codegen.cc (declaration_type): Call TypeFunction::create with argument VARARGnone. (parameter_type): Likewise. (d_build_call): Use new field names and member functions. * d-target.cc (Target::cppParameterType): Call TypeFunction::create with argument VARARGnone. * types.cc (TypeVisitor::visit (TypeFunction *): Use new field names and member functions.
Diffstat (limited to 'gcc/d/dmd/cppmangle.c')
-rw-r--r--gcc/d/dmd/cppmangle.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/gcc/d/dmd/cppmangle.c b/gcc/d/dmd/cppmangle.c
index f39c248..ee19bd1 100644
--- a/gcc/d/dmd/cppmangle.c
+++ b/gcc/d/dmd/cppmangle.c
@@ -657,7 +657,8 @@ class CppMangleVisitor : public Visitor
if (tf->linkage == LINKcpp) //Template args accept extern "C" symbols with special mangling
{
assert(tf->ty == Tfunction);
- mangleFunctionParameters(tf->parameters, tf->varargs);
+ mangleFunctionParameters(tf->parameterList.parameters,
+ tf->parameterList.varargs);
}
}
@@ -982,7 +983,8 @@ public:
if (t->isref)
tn = tn->referenceTo();
tn->accept(this);
- mangleFunctionParameters(t->parameters, t->varargs);
+ mangleFunctionParameters(t->parameterList.parameters,
+ t->parameterList.varargs);
buf->writeByte('E');
append(t);
}