…ssary 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.
WalterBright added a commit that referenced this pull request
Aug 22, 20149rnsr pushed a commit to 9rnsr/dmd that referenced this pull request
Aug 26, 2014
9rnsr
mentioned this pull request
Merged
9rnsr
mentioned this pull request
Merged