[dmd-internals] [D-Programming-Language/dmd] 95cc8b: [Refactoring] Add hasIdentityOpEquals

GitHub noreply at github.com
Tue May 7 14:00:19 PDT 2013


  Branch: refs/heads/master
  Home:   https://github.com/D-Programming-Language/dmd
  Commit: 95cc8b114fbe253d9c379cb6deec9aa25c9bddb4
      https://github.com/D-Programming-Language/dmd/commit/95cc8b114fbe253d9c379cb6deec9aa25c9bddb4
  Author: k-hara <k.hara.pg at gmail.com>
  Date:   2013-05-06 (Mon, 06 May 2013)

  Changed paths:
    M src/aggregate.h
    M src/class.c
    M src/clone.c
    M src/struct.c

  Log Message:
  -----------
  [Refactoring] Add hasIdentityOpEquals


  Commit: e1fa6c16b9a8293978ceacd84bb3d71bf769fb87
      https://github.com/D-Programming-Language/dmd/commit/e1fa6c16b9a8293978ceacd84bb3d71bf769fb87
  Author: k-hara <k.hara.pg at gmail.com>
  Date:   2013-05-06 (Mon, 06 May 2013)

  Changed paths:
    M src/clone.c

  Log Message:
  -----------
  [Refactoring] Improve __xopEquals implementation

`ref` parameter is same as a pointer in assembler level, so
storing function pointer of `bool __xopEquals(ref const S, ref const S)` to `bool function(const void*, const void*)` is valid.


  Commit: 1ae37f347de33871568eaabda33c5ff964e79d12
      https://github.com/D-Programming-Language/dmd/commit/1ae37f347de33871568eaabda33c5ff964e79d12
  Author: k-hara <k.hara.pg at gmail.com>
  Date:   2013-05-06 (Mon, 06 May 2013)

  Changed paths:
    M src/clone.c
    M test/runnable/opover2.d

  Log Message:
  -----------
  Improve hasIdentityOpEquals and fix test result of issue 9694.

TypeInfo.equals should throw an Error if the struct doesn't have const objects equality. For example when the struct has only mutable objects equality.


  Commit: 42e929a12c4df7a68e7bc721479a36697abce67b
      https://github.com/D-Programming-Language/dmd/commit/42e929a12c4df7a68e7bc721479a36697abce67b
  Author: k-hara <k.hara.pg at gmail.com>
  Date:   2013-05-07 (Tue, 07 May 2013)

  Changed paths:
    M src/aggregate.h
    M src/clone.c
    M src/expression.c
    M src/mtype.c
    M src/optimize.c
    M src/struct.c
    M test/compilable/extra-files/json.out
    M test/compilable/interpret3.d
    M test/runnable/opover2.d

  Log Message:
  -----------
  fix Issue 3789 - Structs members that require non-bitwise comparison not correctly compared

Additionally fix interpret3.d tests, because class object equality is currently not yet supported in CTFE.


  Commit: ed8f7c697d21c4d8e887f1d2b3809195a29e1e1f
      https://github.com/D-Programming-Language/dmd/commit/ed8f7c697d21c4d8e887f1d2b3809195a29e1e1f
  Author: k-hara <k.hara.pg at gmail.com>
  Date:   2013-05-07 (Tue, 07 May 2013)

  Changed paths:
    M test/runnable/opover2.d

  Log Message:
  -----------
  fix Issue 10037 - Compiler should not generate opEquals method implicitly


  Commit: 596c1128f4de2b246d339497e1bcec70d93ffd78
      https://github.com/D-Programming-Language/dmd/commit/596c1128f4de2b246d339497e1bcec70d93ffd78
  Author: Daniel Murphy <yebblies at gmail.com>
  Date:   2013-05-07 (Tue, 07 May 2013)

  Changed paths:
    M src/aggregate.h
    M src/class.c
    M src/clone.c
    M src/expression.c
    M src/mtype.c
    M src/optimize.c
    M src/struct.c
    M test/compilable/extra-files/json.out
    M test/compilable/interpret3.d
    M test/runnable/opover2.d

  Log Message:
  -----------
  Merge pull request #1972 from 9rnsr/fix3789

Issue 3789 and 10037 - [TDPL] Structs members that require non-bitwise comparison not correctly compared


Compare: https://github.com/D-Programming-Language/dmd/compare/10cd37559238...596c1128f4de


More information about the dmd-internals mailing list