[dmd-internals] [D-Programming-Language/dmd] 39d11f: Add StructInitializer::fill to improve overlapped ...

GitHub noreply at github.com
Sat Oct 5 00:32:51 PDT 2013


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

  Changed paths:
    M src/expression.c
    M src/init.c
    M src/init.h

  Log Message:
  -----------
  Add StructInitializer::fill to improve overlapped initializing check

- Right now `StructInitializer::semantic` retuens `ExpInitializer` with `StructLiteralExp`.


  Commit: c3863808be2d67037169dc69100798f3a20d1856
      https://github.com/D-Programming-Language/dmd/commit/c3863808be2d67037169dc69100798f3a20d1856
  Author: k-hara <k.hara.pg at gmail.com>
  Date:   2013-10-02 (Wed, 02 Oct 2013)

  Changed paths:
    M src/declaration.c
    M src/expression.c
    M src/interpret.c

  Log Message:
  -----------
  Update VarDeclaration::init by init->semantic result

The returned `Initializer` object may be different from `init`.


  Commit: d1d55361512973bb1d1dcfafeede5ff550b3836f
      https://github.com/D-Programming-Language/dmd/commit/d1d55361512973bb1d1dcfafeede5ff550b3836f
  Author: k-hara <k.hara.pg at gmail.com>
  Date:   2013-10-02 (Wed, 02 Oct 2013)

  Changed paths:
    M src/interpret.c

  Log Message:
  -----------
  isEntirelyVoid should also work for StructLiteralExp


  Commit: bed01b14b3ff52f451df0975596ab0ce05d94cb6
      https://github.com/D-Programming-Language/dmd/commit/bed01b14b3ff52f451df0975596ab0ce05d94cb6
  Author: k-hara <k.hara.pg at gmail.com>
  Date:   2013-10-02 (Wed, 02 Oct 2013)

  Changed paths:
    M src/mtype.c

  Log Message:
  -----------
  Fix TypeSArray::defaultInit for void static array type

Same as `TypeSArray::defaultInitLiteral`.


  Commit: 0701df02e54be339acf05c5768d7f1b591c22d35
      https://github.com/D-Programming-Language/dmd/commit/0701df02e54be339acf05c5768d7f1b591c22d35
  Author: k-hara <k.hara.pg at gmail.com>
  Date:   2013-10-02 (Wed, 02 Oct 2013)

  Changed paths:
    M src/todt.c

  Log Message:
  -----------
  Right now StructInitializer::toDt is never called


  Commit: b2ee0b37fea59b33326b4c2c84bc22aeb8a4e0b1
      https://github.com/D-Programming-Language/dmd/commit/b2ee0b37fea59b33326b4c2c84bc22aeb8a4e0b1
  Author: k-hara <k.hara.pg at gmail.com>
  Date:   2013-10-02 (Wed, 02 Oct 2013)

  Changed paths:
    M src/todt.c

  Log Message:
  -----------
  Update StructLiteralExp::toDt for static array type field

StructLiteralExp::elements may hold the literal of the bottom type of static array field type.

struct S { int[4] sa; }   S s = S(1);
// (*sle->elements)[0]->op == TOKint64

This change is necessary to accommodate the case.


  Commit: 52f378e631b863a70dc3493a726bd83b2bb7f523
      https://github.com/D-Programming-Language/dmd/commit/52f378e631b863a70dc3493a726bd83b2bb7f523
  Author: k-hara <k.hara.pg at gmail.com>
  Date:   2013-10-02 (Wed, 02 Oct 2013)

  Changed paths:
    M src/todt.c

  Log Message:
  -----------
  Update StructDeclaration::toDt

By using `StructInitializer::fill`, it could delegate the operation to `StructLiteralExp::toDt`.


  Commit: 51700de1815a20646faf59907c273afba9acc41a
      https://github.com/D-Programming-Language/dmd/commit/51700de1815a20646faf59907c273afba9acc41a
  Author: k-hara <k.hara.pg at gmail.com>
  Date:   2013-10-02 (Wed, 02 Oct 2013)

  Changed paths:
    M src/init.c
    M src/init.h

  Log Message:
  -----------
  Remove unused variables in StructInitializer


  Commit: 8ee7e869b44f0cb4f72d6d0609cdbfa96caae002
      https://github.com/D-Programming-Language/dmd/commit/8ee7e869b44f0cb4f72d6d0609cdbfa96caae002
  Author: k-hara <k.hara.pg at gmail.com>
  Date:   2013-10-02 (Wed, 02 Oct 2013)

  Changed paths:
    M test/runnable/structlit.d

  Log Message:
  -----------
  fix Issue 7727 - "static initializer" for non-static unions too


  Commit: 3f671f1bee0e769efc45c7684b891210707806cb
      https://github.com/D-Programming-Language/dmd/commit/3f671f1bee0e769efc45c7684b891210707806cb
  Author: k-hara <k.hara.pg at gmail.com>
  Date:   2013-10-02 (Wed, 02 Oct 2013)

  Changed paths:
    A test/fail_compilation/diag11132.d

  Log Message:
  -----------
  fix Issue 11132 - Odd diagnostic with C-style struct initializer when union field is present


  Commit: cd6102367906c0a76f4ad56375e8bdf653321e0b
      https://github.com/D-Programming-Language/dmd/commit/cd6102367906c0a76f4ad56375e8bdf653321e0b
  Author: k-hara <k.hara.pg at gmail.com>
  Date:   2013-10-02 (Wed, 02 Oct 2013)

  Changed paths:
    A test/fail_compilation/fail11151.d

  Log Message:
  -----------
  fix Issue 11151 - Undetected overlapping initialization


  Commit: a35bd9efc2957eaa7ddea47b41d87c388bdde4b9
      https://github.com/D-Programming-Language/dmd/commit/a35bd9efc2957eaa7ddea47b41d87c388bdde4b9
  Author: Walter Bright <walter at walterbright.com>
  Date:   2013-10-05 (Sat, 05 Oct 2013)

  Changed paths:
    M src/declaration.c
    M src/expression.c
    M src/init.c
    M src/init.h
    M src/interpret.c
    M src/mtype.c
    M src/todt.c
    A test/fail_compilation/diag11132.d
    A test/fail_compilation/fail11151.d
    M test/runnable/structlit.d

  Log Message:
  -----------
  Merge pull request #2605 from 9rnsr/fix7727

Issue 7727 - "static initializer" for non-static unions too


Compare: https://github.com/D-Programming-Language/dmd/compare/10b704a7d6fe...a35bd9efc295


More information about the dmd-internals mailing list