[dmd-internals] [D-Programming-Language/dmd] f2a9a1: [Refactoring] Move Dsymbol::ungagSpeculative() imp...
GitHub via dmd-internals
dmd-internals at puremagic.com
Thu Aug 21 22:03:31 PDT 2014
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 at 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 at 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 at 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 at 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 at 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 at 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
More information about the dmd-internals
mailing list