October 05, 2013 [dmd-internals] [D-Programming-Language/dmd] 39d11f: Add StructInitializer::fill to improve overlapped ... | ||||
---|---|---|---|---|
| ||||
Attachments:
| Branch: refs/heads/master Home: https://github.com/D-Programming-Language/dmd Commit: 39d11fae531965b2ad5b67fdecb5e984da7d9a7c https://github.com/D-Programming-Language/dmd/commit/39d11fae531965b2ad5b67fdecb5e984da7d9a7c Author: k-hara <k.hara.pg@gmail.com> Date: 2013-10-02 (Wed, 02 Oct 2013) Changed paths: M src/expression.c M src/init.c M src/init.h Log Message: ----------- Add StructInitializer::fill to improve overlapped initializing check - Right now `StructInitializer::semantic` retuens `ExpInitializer` with `StructLiteralExp`. Commit: c3863808be2d67037169dc69100798f3a20d1856 https://github.com/D-Programming-Language/dmd/commit/c3863808be2d67037169dc69100798f3a20d1856 Author: k-hara <k.hara.pg@gmail.com> Date: 2013-10-02 (Wed, 02 Oct 2013) Changed paths: M src/declaration.c M src/expression.c M src/interpret.c Log Message: ----------- Update VarDeclaration::init by init->semantic result The returned `Initializer` object may be different from `init`. Commit: d1d55361512973bb1d1dcfafeede5ff550b3836f https://github.com/D-Programming-Language/dmd/commit/d1d55361512973bb1d1dcfafeede5ff550b3836f Author: k-hara <k.hara.pg@gmail.com> Date: 2013-10-02 (Wed, 02 Oct 2013) Changed paths: M src/interpret.c Log Message: ----------- isEntirelyVoid should also work for StructLiteralExp Commit: bed01b14b3ff52f451df0975596ab0ce05d94cb6 https://github.com/D-Programming-Language/dmd/commit/bed01b14b3ff52f451df0975596ab0ce05d94cb6 Author: k-hara <k.hara.pg@gmail.com> Date: 2013-10-02 (Wed, 02 Oct 2013) Changed paths: M src/mtype.c Log Message: ----------- Fix TypeSArray::defaultInit for void static array type Same as `TypeSArray::defaultInitLiteral`. Commit: 0701df02e54be339acf05c5768d7f1b591c22d35 https://github.com/D-Programming-Language/dmd/commit/0701df02e54be339acf05c5768d7f1b591c22d35 Author: k-hara <k.hara.pg@gmail.com> Date: 2013-10-02 (Wed, 02 Oct 2013) Changed paths: M src/todt.c Log Message: ----------- Right now StructInitializer::toDt is never called Commit: b2ee0b37fea59b33326b4c2c84bc22aeb8a4e0b1 https://github.com/D-Programming-Language/dmd/commit/b2ee0b37fea59b33326b4c2c84bc22aeb8a4e0b1 Author: k-hara <k.hara.pg@gmail.com> Date: 2013-10-02 (Wed, 02 Oct 2013) Changed paths: M src/todt.c Log Message: ----------- Update StructLiteralExp::toDt for static array type field StructLiteralExp::elements may hold the literal of the bottom type of static array field type. struct S { int[4] sa; } S s = S(1); // (*sle->elements)[0]->op == TOKint64 This change is necessary to accommodate the case. Commit: 52f378e631b863a70dc3493a726bd83b2bb7f523 https://github.com/D-Programming-Language/dmd/commit/52f378e631b863a70dc3493a726bd83b2bb7f523 Author: k-hara <k.hara.pg@gmail.com> Date: 2013-10-02 (Wed, 02 Oct 2013) Changed paths: M src/todt.c Log Message: ----------- Update StructDeclaration::toDt By using `StructInitializer::fill`, it could delegate the operation to `StructLiteralExp::toDt`. Commit: 51700de1815a20646faf59907c273afba9acc41a https://github.com/D-Programming-Language/dmd/commit/51700de1815a20646faf59907c273afba9acc41a Author: k-hara <k.hara.pg@gmail.com> Date: 2013-10-02 (Wed, 02 Oct 2013) Changed paths: M src/init.c M src/init.h Log Message: ----------- Remove unused variables in StructInitializer Commit: 8ee7e869b44f0cb4f72d6d0609cdbfa96caae002 https://github.com/D-Programming-Language/dmd/commit/8ee7e869b44f0cb4f72d6d0609cdbfa96caae002 Author: k-hara <k.hara.pg@gmail.com> Date: 2013-10-02 (Wed, 02 Oct 2013) Changed paths: M test/runnable/structlit.d Log Message: ----------- fix Issue 7727 - "static initializer" for non-static unions too Commit: 3f671f1bee0e769efc45c7684b891210707806cb https://github.com/D-Programming-Language/dmd/commit/3f671f1bee0e769efc45c7684b891210707806cb Author: k-hara <k.hara.pg@gmail.com> Date: 2013-10-02 (Wed, 02 Oct 2013) Changed paths: A test/fail_compilation/diag11132.d Log Message: ----------- fix Issue 11132 - Odd diagnostic with C-style struct initializer when union field is present Commit: cd6102367906c0a76f4ad56375e8bdf653321e0b https://github.com/D-Programming-Language/dmd/commit/cd6102367906c0a76f4ad56375e8bdf653321e0b Author: k-hara <k.hara.pg@gmail.com> Date: 2013-10-02 (Wed, 02 Oct 2013) Changed paths: A test/fail_compilation/fail11151.d Log Message: ----------- fix Issue 11151 - Undetected overlapping initialization Commit: a35bd9efc2957eaa7ddea47b41d87c388bdde4b9 https://github.com/D-Programming-Language/dmd/commit/a35bd9efc2957eaa7ddea47b41d87c388bdde4b9 Author: Walter Bright <walter@walterbright.com> Date: 2013-10-05 (Sat, 05 Oct 2013) Changed paths: M src/declaration.c M src/expression.c M src/init.c M src/init.h M src/interpret.c M src/mtype.c M src/todt.c A test/fail_compilation/diag11132.d A test/fail_compilation/fail11151.d M test/runnable/structlit.d Log Message: ----------- Merge pull request #2605 from 9rnsr/fix7727 Issue 7727 - "static initializer" for non-static unions too Compare: https://github.com/D-Programming-Language/dmd/compare/10b704a7d6fe...a35bd9efc295 |
Copyright © 1999-2021 by the D Language Foundation