August 20, 2014
  Branch: refs/heads/master
  Home:   https://github.com/D-Programming-Language/dmd
  Commit: 5b5945a818aca281844a3c029139abd98c08004d
      https://github.com/D-Programming-Language/dmd/commit/5b5945a818aca281844a3c029139abd98c08004d
  Author: k-hara <k.hara.pg@gmail.com>
  Date:   2014-08-19 (Tue, 19 Aug 2014)

  Changed paths:
    M src/template.c
    M test/runnable/template9.d

  Log Message:
  -----------
  fix Issue 13333 - Incorrect error ungagging during the resolution of forward references

Improve forward reference resolution in template instantiation with alias

- Check needGagging in TemplateInstance::semantic2()
- Set TemplateInstance::speculative if global.gag is set in semantic()


  Commit: 7866eec9cde276ca293aa6c1c9e818c3ab51c3f1
      https://github.com/D-Programming-Language/dmd/commit/7866eec9cde276ca293aa6c1c9e818c3ab51c3f1
  Author: k-hara <k.hara.pg@gmail.com>
  Date:   2014-08-19 (Tue, 19 Aug 2014)

  Changed paths:
    M src/declaration.c
    M test/runnable/template9.d

  Log Message:
  -----------
  Check unsafe variable declaring is unnecessary for function local aggregate members

It would cause unresolved forward reference because `TypeStruct::hasPointers()` requires the complete types of the fields.


  Commit: d1446b0bfb2d95320a214428a6d9fb1a2c603e9d
      https://github.com/D-Programming-Language/dmd/commit/d1446b0bfb2d95320a214428a6d9fb1a2c603e9d
  Author: k-hara <k.hara.pg@gmail.com>
  Date:   2014-08-19 (Tue, 19 Aug 2014)

  Changed paths:
    M src/template.c
    A test/fail_compilation/diag13333.d

  Log Message:
  -----------
  Improve diagnostic in recursive template expansion


  Commit: 3993011abb7cad8c1301ac3e3106aa813dc7eab0
      https://github.com/D-Programming-Language/dmd/commit/3993011abb7cad8c1301ac3e3106aa813dc7eab0
  Author: k-hara <k.hara.pg@gmail.com>
  Date:   2014-08-19 (Tue, 19 Aug 2014)

  Changed paths:
    M src/template.c

  Log Message:
  -----------
  [Refactoring] bool speculative


  Commit: 5038ab27c019a1be88515908aeebc655b02e4b5a
      https://github.com/D-Programming-Language/dmd/commit/5038ab27c019a1be88515908aeebc655b02e4b5a
  Author: k-hara <k.hara.pg@gmail.com>
  Date:   2014-08-19 (Tue, 19 Aug 2014)

  Changed paths:
    M src/clone.c
    M src/declaration.c
    M src/expression.c
    M src/mars.c
    M src/mars.h
    M src/mtype.c
    M src/struct.c
    M src/traits.c

  Log Message:
  -----------
  [Refactoring] Remove global.speculativeGagging()

By the improvement of recursive aliasing, we can simplify the concept to:
"A template instantiation during errors gagged is 'speculative instantiation'".


  Commit: 78c3fd2965911d191fe05db91ef9d8a5fffd5638
      https://github.com/D-Programming-Language/dmd/commit/78c3fd2965911d191fe05db91ef9d8a5fffd5638
  Author: Walter Bright <walter@walterbright.com>
  Date:   2014-08-20 (Wed, 20 Aug 2014)

  Changed paths:
    M src/clone.c
    M src/declaration.c
    M src/expression.c
    M src/mars.c
    M src/mars.h
    M src/mtype.c
    M src/struct.c
    M src/template.c
    M src/traits.c
    A test/fail_compilation/diag13333.d
    M test/runnable/template9.d

  Log Message:
  -----------
  Merge pull request #3878 from 9rnsr/fix13333

Issue 13333 - Incorrect error ungagging during the resolution of forward references


Compare: https://github.com/D-Programming-Language/dmd/compare/6a8591f6151b...78c3fd296591