August 21, 2014 [dmd-internals] [D-Programming-Language/dmd] f2a9a1: [Refactoring] Move Dsymbol::ungagSpeculative() imp... | ||||
---|---|---|---|---|
| ||||
Attachments:
| Branch: refs/heads/master Home: https://github.com/D-Programming-Language/dmd Commit: f2a9a1066155571384a5fefe1f1bc920779190f3 https://github.com/D-Programming-Language/dmd/commit/f2a9a1066155571384a5fefe1f1bc920779190f3 Author: k-hara <k.hara.pg@gmail.com> Date: 2014-08-21 (Thu, 21 Aug 2014) Changed paths: M src/dsymbol.c M src/dsymbol.h M src/mars.c M src/mars.h Log Message: ----------- [Refactoring] Move Dsymbol::ungagSpeculative() implementation in dsymbol.c Commit: 9ff91703cb7b5d8e5444a11d4e7d8b32c64ba293 https://github.com/D-Programming-Language/dmd/commit/9ff91703cb7b5d8e5444a11d4e7d8b32c64ba293 Author: k-hara <k.hara.pg@gmail.com> Date: 2014-08-21 (Thu, 21 Aug 2014) Changed paths: M src/template.h Log Message: ----------- [Refactoring] Reorder TemplateInstance fields Commit: 41d88a56d42cf2a3fee9e324abe04d5dc04ee502 https://github.com/D-Programming-Language/dmd/commit/41d88a56d42cf2a3fee9e324abe04d5dc04ee502 Author: k-hara <k.hara.pg@gmail.com> Date: 2014-08-21 (Thu, 21 Aug 2014) Changed paths: M src/glue.c Log Message: ----------- [Refactoring] Remove unnecessary variable `func` in FuncDeclaration::toObjFile() Commit: 9202b529b329ce0087ae976aa8bf1deadd1b62de https://github.com/D-Programming-Language/dmd/commit/9202b529b329ce0087ae976aa8bf1deadd1b62de Author: k-hara <k.hara.pg@gmail.com> Date: 2014-08-22 (Fri, 22 Aug 2014) Changed paths: M src/clone.c M src/cond.c M src/declaration.h M src/dsymbol.c M src/expression.c M src/func.c M src/glue.c M src/mtype.c M src/scope.c M src/scope.h M src/staticassert.c M src/template.c M src/template.h M src/toobj.c M src/traits.c M test/fail_compilation/test8556.d Log Message: ----------- Distinguish speculative instantiation from gagged one to elide unnecessary symbol emission Template constraint evaluation may instantiate exactly same symbols multiple times (eg. issue 10133 test case in test/runnable/funclit.d). It would cause linker error "duplicate COMDAT" in Win64. To avoid the issue, dmd should elide unnecessary symbol emission. If a template is instantiated in template constraint or static condition, it's marked as speculative instantiation. If no other code at non-speculative context refer the instance, compiler will elide its code generation. Commit: b4500911add6b24bb610cae050e31dab61f6cf3f https://github.com/D-Programming-Language/dmd/commit/b4500911add6b24bb610cae050e31dab61f6cf3f Author: k-hara <k.hara.pg@gmail.com> Date: 2014-08-22 (Fri, 22 Aug 2014) Changed paths: M src/template.c M test/runnable/template9.d Log Message: ----------- fix Issue 13299 - Property not found with typesafe variadic opDispatch Commit: 1a106370e606e3023bb7e45b367d2b974b72eb19 https://github.com/D-Programming-Language/dmd/commit/1a106370e606e3023bb7e45b367d2b974b72eb19 Author: Walter Bright <walter@walterbright.com> Date: 2014-08-21 (Thu, 21 Aug 2014) Changed paths: M src/clone.c M src/cond.c M src/declaration.h M src/dsymbol.c M src/dsymbol.h M src/expression.c M src/func.c M src/glue.c M src/mars.c M src/mars.h M src/mtype.c M src/scope.c M src/scope.h M src/staticassert.c M src/template.c M src/template.h M src/toobj.c M src/traits.c M test/fail_compilation/test8556.d M test/runnable/template9.d Log Message: ----------- Merge pull request #3874 from 9rnsr/fix13299 [REG2.066a] Issue 13299 - Property not found with typesafe variadic opDispatch Compare: https://github.com/D-Programming-Language/dmd/compare/78c3fd296591...1a106370e606 |
Copyright © 1999-2021 by the D Language Foundation