September 13, 2011 [dmd-internals] [D-Programming-Language/dmd] 0a927f: Add 'gaggedErrors' to the gagging system | ||||
---|---|---|---|---|
| ||||
Branch: refs/heads/master Home: https://github.com/D-Programming-Language/dmd Commit: 0a927f258e89f92f280c0e855a93ceb05e34a260 https://github.com/D-Programming-Language/dmd/commit/0a927f258e89f92f280c0e855a93ceb05e34a260 Author: Don Clugston <dclugston at googlemail.com> Date: 2011-09-13 (Tue, 13 Sep 2011) Changed paths: M src/dsymbol.c M src/lexer.c M src/mars.c M src/mars.h M src/traits.c Log Message: ----------- Add 'gaggedErrors' to the gagging system The existing gagging/error handling system doesn't allow errors to be temporarily ungagged, from a context in which they are gagged. Instead of restoring the total error count to the state it was in before gagging began, only the gagged errors should be removed from the error count. Commit: 76aca35edbe5e3574c3780af9043c01801b88e7e https://github.com/D-Programming-Language/dmd/commit/76aca35edbe5e3574c3780af9043c01801b88e7e Author: Don Clugston <dclugston at googlemail.com> Date: 2011-09-13 (Tue, 13 Sep 2011) Changed paths: M src/declaration.c M src/expression.c M src/mtype.c M src/statement.c M src/traits.c Log Message: ----------- All gagging now goes via startGagging/endGagging Commit: 9c7fecae52043d3082fa8e94d7abe8801267d91c https://github.com/D-Programming-Language/dmd/commit/9c7fecae52043d3082fa8e94d7abe8801267d91c Author: Don Clugston <dclugston at googlemail.com> Date: 2011-09-13 (Tue, 13 Sep 2011) Changed paths: M src/template.c M src/template.h Log Message: ----------- Add 'speculative' flag to TemplateInstance speculative=1 if the template has only been instantiated from inside 'is(typeof())', and thus may not have passed semantic analysis. Commit: 48cd5caf3495dbb31081b4823d37180737e658e4 https://github.com/D-Programming-Language/dmd/commit/48cd5caf3495dbb31081b4823d37180737e658e4 Author: Don Clugston <dclugston at googlemail.com> Date: 2011-09-13 (Tue, 13 Sep 2011) Changed paths: M src/expression.c M src/template.c Log Message: ----------- 6650 ICE(glue.c): type inference of invalid template instantiation from is(typeof()) When re-using the same template instance, make sure the errors aren't ignored. Commit: a75196aea5a124bed0d857e474d5e2fcd02637cd https://github.com/D-Programming-Language/dmd/commit/a75196aea5a124bed0d857e474d5e2fcd02637cd Author: Don Clugston <dclugston at googlemail.com> Date: 2011-09-13 (Tue, 13 Sep 2011) Changed paths: M src/template.c Log Message: ----------- 6661 Templates instantiated only through is(typeof()) shouldn't cause errors If a template instantiation reached semantic3 without a non-speculative instantiation, errors should be gagged. Commit: 2fe75e885b51da9a2c9dd8853789a69d5f00a4b2 https://github.com/D-Programming-Language/dmd/commit/2fe75e885b51da9a2c9dd8853789a69d5f00a4b2 Author: Don Clugston <dclugston at googlemail.com> Date: 2011-09-13 (Tue, 13 Sep 2011) Changed paths: M src/interpret.c Log Message: ----------- 4197+5453 ICE with CTFE forward reference Fixes two ice-on-invalid-code bugs: 4197 ICE(glue.c): error in forward-referenced in/out contract 5453 ICE(statement.c): invalid switch statement forward referenced by CTFE When CTFE finds that it needs to run semantic on a function, it should ungag errors, unless the function is part of a speculative template. Commit: 91108df90e86cb8c3ec95c3800907a45072f9200 https://github.com/D-Programming-Language/dmd/commit/91108df90e86cb8c3ec95c3800907a45072f9200 Author: Walter Bright <walter at walterbright.com> Date: 2011-09-13 (Tue, 13 Sep 2011) Changed paths: M src/declaration.c M src/dsymbol.c M src/expression.c M src/interpret.c M src/lexer.c M src/mars.c M src/mars.h M src/mtype.c M src/statement.c M src/template.c M src/template.h M src/traits.c Log Message: ----------- Merge pull request #380 from donc/gagging Fix the gagging system: bugs 4197 5453 6296 6661 Compare: https://github.com/D-Programming-Language/dmd/compare/569077b...91108df |
Copyright © 1999-2021 by the D Language Foundation