aboutsummaryrefslogtreecommitdiff
path: root/gcc/d/dmd/expressionsem.c
diff options
context:
space:
mode:
authorIain Buclaw <ibuclaw@gdcproject.org>2021-01-07 18:03:33 +0100
committerIain Buclaw <ibuclaw@gdcproject.org>2021-01-07 18:22:36 +0100
commitdddea6d4d81cac76ff64cde178e2d5f7fe09fb55 (patch)
treef8c2345d5a980c6523798c1388a777e05fdaf500 /gcc/d/dmd/expressionsem.c
parentd54029179cbe817eaf9b6899339b0151cff3c00e (diff)
downloadgcc-dddea6d4d81cac76ff64cde178e2d5f7fe09fb55.zip
gcc-dddea6d4d81cac76ff64cde178e2d5f7fe09fb55.tar.gz
gcc-dddea6d4d81cac76ff64cde178e2d5f7fe09fb55.tar.bz2
d: Merge upstream dmd 9038e64c5.
Adds support for using user-defined attributes on function arguments and single-parameter alias declarations. These attributes behave analogous to existing UDAs. gcc/d/ChangeLog: * dmd/MERGE: Merge upstream dmd 9038e64c5. * d-builtins.cc (build_frontend_type): Update call to Parameter::create.
Diffstat (limited to 'gcc/d/dmd/expressionsem.c')
-rw-r--r--gcc/d/dmd/expressionsem.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/gcc/d/dmd/expressionsem.c b/gcc/d/dmd/expressionsem.c
index 7dfe995..f519389 100644
--- a/gcc/d/dmd/expressionsem.c
+++ b/gcc/d/dmd/expressionsem.c
@@ -2051,7 +2051,7 @@ public:
for (size_t i = 0; i < cd->baseclasses->length; i++)
{
BaseClass *b = (*cd->baseclasses)[i];
- args->push(new Parameter(STCin, b->type, NULL, NULL));
+ args->push(new Parameter(STCin, b->type, NULL, NULL, NULL));
}
tded = new TypeTuple(args);
}
@@ -2100,7 +2100,8 @@ public:
return setError();
args->push(new Parameter(arg->storageClass, arg->type,
(e->tok2 == TOKparameters) ? arg->ident : NULL,
- (e->tok2 == TOKparameters) ? arg->defaultArg : NULL));
+ (e->tok2 == TOKparameters) ? arg->defaultArg : NULL,
+ arg->userAttribDecl));
}
tded = new TypeTuple(args);
break;