diff options
author | Iain Buclaw <ibuclaw@gdcproject.org> | 2021-06-09 19:39:28 +0200 |
---|---|---|
committer | Iain Buclaw <ibuclaw@gdcproject.org> | 2021-06-09 19:41:30 +0200 |
commit | 036e14ca44eaddf329a79d56d556862118b1f220 (patch) | |
tree | 340314f335f96d8c259988675ca1e36245928fc9 /gcc/d | |
parent | 04fea2d66bd680beb1a204e62f2f459307000813 (diff) | |
download | gcc-036e14ca44eaddf329a79d56d556862118b1f220.zip gcc-036e14ca44eaddf329a79d56d556862118b1f220.tar.gz gcc-036e14ca44eaddf329a79d56d556862118b1f220.tar.bz2 |
d: TypeInfo error when using slice copy on Structs (PR100964)
Known limitation: does not work for struct with postblit or dtor.
Reviewed-on: https://github.com/dlang/dmd/pull/12648
gcc/d/ChangeLog:
PR d/100964
* dmd/MERGE: Merge upstream dmd 4a4e46a6f.
Diffstat (limited to 'gcc/d')
-rw-r--r-- | gcc/d/dmd/MERGE | 2 | ||||
-rw-r--r-- | gcc/d/dmd/expression.c | 7 |
2 files changed, 6 insertions, 3 deletions
diff --git a/gcc/d/dmd/MERGE b/gcc/d/dmd/MERGE index e22e3d1..a617f28 100644 --- a/gcc/d/dmd/MERGE +++ b/gcc/d/dmd/MERGE @@ -1,4 +1,4 @@ -f3fdeb578f8cc6d9426d47d2fa144d2078f9ab29 +4a4e46a6f304a667e0c05d4455706ec2056ffddc The first line of this file holds the git revision number of the last merge done from the dlang/dmd repository. diff --git a/gcc/d/dmd/expression.c b/gcc/d/dmd/expression.c index 2592b38..88f13e9 100644 --- a/gcc/d/dmd/expression.c +++ b/gcc/d/dmd/expression.c @@ -1044,8 +1044,11 @@ bool Expression::checkPostblit(Scope *sc, Type *t) t = t->baseElemOf(); if (t->ty == Tstruct) { - // Bugzilla 11395: Require TypeInfo generation for array concatenation - semanticTypeInfo(sc, t); + if (global.params.useTypeInfo) + { + // Bugzilla 11395: Require TypeInfo generation for array concatenation + semanticTypeInfo(sc, t); + } StructDeclaration *sd = ((TypeStruct *)t)->sym; if (sd->postblit) |