[dmd-internals] [D-Programming-Language/dmd] 5ea992: fix Issue 15251 - std.datetime bug with -inline

GitHub via dmd-internals dmd-internals at puremagic.com
Sat Oct 31 12:52:16 PDT 2015


  Branch: refs/heads/master
  Home:   https://github.com/D-Programming-Language/dmd
  Commit: 5ea992ff02f216438341f17835560d3d818124be
      https://github.com/D-Programming-Language/dmd/commit/5ea992ff02f216438341f17835560d3d818124be
  Author: k-hara <k.hara.pg at gmail.com>
  Date:   2015-10-28 (Wed, 28 Oct 2015)

  Changed paths:
    M src/dinterpret.d
    M test/compilable/interpret3.d

  Log Message:
  -----------
  fix Issue 15251 - std.datetime bug with -inline

The problem is in CTFE interpreter.

Inlining had introduced `cast(void)` expression to `ForStatement.increment` part,
then it had hit following interpret issues.

1. `CastExp.interpret` does not work for `cast(void)` if `goal` is not `ctfeNeedNothing`.
2. `ForStatement.interpert` does not evaluate its `increment` part with `ctfeNeedNothing`.

I fix both of them for the best work, although fixing one of them can fix the original issue,


  Commit: 1b21ea36893838e30e6b861b4e9000a276cad5d6
      https://github.com/D-Programming-Language/dmd/commit/1b21ea36893838e30e6b861b4e9000a276cad5d6
  Author: Martin Nowak <code at dawg.eu>
  Date:   2015-10-28 (Wed, 28 Oct 2015)

  Changed paths:
    M src/dinterpret.d
    M test/compilable/interpret3.d

  Log Message:
  -----------
  Merge pull request #5235 from 9rnsr/fix15251

[REG2.069.0-rc1] Issue 15251 - std.datetime bug with -inline


  Commit: d33663d0885f3fb43144295fee64eee03ff90c4f
      https://github.com/D-Programming-Language/dmd/commit/d33663d0885f3fb43144295fee64eee03ff90c4f
  Author: Walter Bright <walter at walterbright.com>
  Date:   2015-10-30 (Fri, 30 Oct 2015)

  Changed paths:
    M src/inline.d
    M test/runnable/inline.d

  Log Message:
  -----------
  fix Issue 15253 - [REG2.069.0-rc1] inliner prevent compilation


  Commit: e79cf30fb1500691abd8a4926be674f96f20cefb
      https://github.com/D-Programming-Language/dmd/commit/e79cf30fb1500691abd8a4926be674f96f20cefb
  Author: Martin Nowak <code at dawg.eu>
  Date:   2015-10-30 (Fri, 30 Oct 2015)

  Changed paths:
    M src/inline.d
    M test/runnable/inline.d

  Log Message:
  -----------
  Merge pull request #5245 from MartinNowak/fix15253

fix Issue 15253 - [REG2.069.0-rc1] inliner prevent compilation


  Commit: feb6d8aa790a3269bb45b562295d71e5ed323059
      https://github.com/D-Programming-Language/dmd/commit/feb6d8aa790a3269bb45b562295d71e5ed323059
  Author: Martin Nowak <code at dawg.eu>
  Date:   2015-10-31 (Sat, 31 Oct 2015)

  Changed paths:
    M src/dinterpret.d
    M src/inline.d
    M test/compilable/interpret3.d
    M test/runnable/inline.d

  Log Message:
  -----------
  Merge remote-tracking branch 'upstream/stable' into merge_stable


  Commit: d12bc4d9dbce6a77645ebf0db7cda08710faab31
      https://github.com/D-Programming-Language/dmd/commit/d12bc4d9dbce6a77645ebf0db7cda08710faab31
  Author: David Nadlinger <code at klickverbot.at>
  Date:   2015-10-31 (Sat, 31 Oct 2015)

  Changed paths:
    M src/dinterpret.d
    M src/inline.d
    M test/compilable/interpret3.d
    M test/runnable/inline.d

  Log Message:
  -----------
  Merge pull request #5250 from MartinNowak/merge_stable

Merge remote-tracking branch 'upstream/stable' into merge_stable


Compare: https://github.com/D-Programming-Language/dmd/compare/7f71b80ef3d1...d12bc4d9dbce


More information about the dmd-internals mailing list