October 04, 2011 [dmd-internals] [D-Programming-Language/dmd] d7850a: 6751 [CTFE] ref argument of AA doesn't work | ||||
---|---|---|---|---|
| ||||
Branch: refs/heads/master Home: https://github.com/D-Programming-Language/dmd Commit: d7850aca8ffa8bcb5c4e5d68ab27bfeda3524278 https://github.com/D-Programming-Language/dmd/commit/d7850aca8ffa8bcb5c4e5d68ab27bfeda3524278 Author: Don Clugston <dclugston at googlemail.com> Date: 2011-10-04 (Tue, 04 Oct 2011) Changed paths: M src/interpret.c Log Message: ----------- 6751 [CTFE] ref argument of AA doesn't work There are three cases: (1) reference is null, and gets changed to non-null; (2) ref is non-null, and gets new entries; (3) ref is non-null, but gets replaced with a non-null literal. There were two separate bugs: one was failing to treat case(1) as a reference assignment; and the second was treating the AA literal as non-ref in case (2). Commit: d0ec9c0cc42dacf6b425b9f35b4162c9cecde577 https://github.com/D-Programming-Language/dmd/commit/d0ec9c0cc42dacf6b425b9f35b4162c9cecde577 Author: Don Clugston <dclugston at googlemail.com> Date: 2011-10-04 (Tue, 04 Oct 2011) Changed paths: M test/compilable/interpret3.d Log Message: ----------- Test cases for S6751 Four distinct cases are tested. Commit: dc488a174071f97129aafcab3f24b3e414988f11 https://github.com/D-Programming-Language/dmd/commit/dc488a174071f97129aafcab3f24b3e414988f11 Author: Don Clugston <dclugston at googlemail.com> Date: 2011-10-04 (Tue, 04 Oct 2011) Changed paths: M src/interpret.c Log Message: ----------- 6765 [CTFE]: AA.length doesn't compile when AA is null I also combined the D1 and D2 code for AA length. Tested on both D1+D2. Commit: 06e3cdc69f5d7a50dce1792eaed0b34f57e90a2a https://github.com/D-Programming-Language/dmd/commit/06e3cdc69f5d7a50dce1792eaed0b34f57e90a2a Author: Don Clugston <dclugston at googlemail.com> Date: 2011-10-04 (Tue, 04 Oct 2011) Changed paths: M test/compilable/interpret3.d Log Message: ----------- Test case for 6765 Commit: e807a1f2a593a8357668bdd905f8c660b2198ef2 https://github.com/D-Programming-Language/dmd/commit/e807a1f2a593a8357668bdd905f8c660b2198ef2 Author: Walter Bright <walter at walterbright.com> Date: 2011-10-04 (Tue, 04 Oct 2011) Changed paths: M src/interpret.c M test/compilable/interpret3.d Log Message: ----------- Merge pull request #428 from donc/ctfebreak Fixes for CTFE AA bugs 6751 and 6765 Compare: https://github.com/D-Programming-Language/dmd/compare/51d8385...e807a1f |
October 05, 2011 [dmd-internals] [D-Programming-Language/dmd] d7850a: 6751 [CTFE] ref argument of AA doesn't work | ||||
---|---|---|---|---|
| ||||
Posted in reply to noreply at github.com | This has broken the autotester, in the inline case.
Quick fix while I track it down:
interpret3.d, line 2601.
static assert({
S6751 s;
s.aa[7][56]=57;
bug6751b(s.aa);
assert(s.aa[1][17] == 2);
assert(s.aa[7][56] == 57);
bug6751c(s.aa);
- assert(s.aa.keys.length==1);
+ assert(s.aa.length==1);
return true;
}());
On 4 October 2011 22:32, <noreply at github.com> wrote:
> ?Branch: refs/heads/master
> ?Home: ? https://github.com/D-Programming-Language/dmd
>
> ?Commit: d7850aca8ffa8bcb5c4e5d68ab27bfeda3524278
> ? ? ?https://github.com/D-Programming-Language/dmd/commit/d7850aca8ffa8bcb5c4e5d68ab27bfeda3524278
> ?Author: Don Clugston <dclugston at googlemail.com>
> ?Date: ? 2011-10-04 (Tue, 04 Oct 2011)
>
> ?Changed paths:
> ? ?M src/interpret.c
>
> ?Log Message:
> ?-----------
> ?6751 [CTFE] ref argument of AA doesn't work
>
> There are three cases: (1) reference is null, and gets changed to non-null;
> (2) ref is non-null, and gets new entries;
> (3) ref is non-null, but gets replaced with a non-null literal.
> There were two separate bugs: one was failing to treat case(1) as a
> reference assignment; and the second was treating the AA literal as non-ref
> in case (2).
>
>
> ?Commit: d0ec9c0cc42dacf6b425b9f35b4162c9cecde577
> ? ? ?https://github.com/D-Programming-Language/dmd/commit/d0ec9c0cc42dacf6b425b9f35b4162c9cecde577
> ?Author: Don Clugston <dclugston at googlemail.com>
> ?Date: ? 2011-10-04 (Tue, 04 Oct 2011)
>
> ?Changed paths:
> ? ?M test/compilable/interpret3.d
>
> ?Log Message:
> ?-----------
> ?Test cases for S6751
>
> Four distinct cases are tested.
>
>
> ?Commit: dc488a174071f97129aafcab3f24b3e414988f11
> ? ? ?https://github.com/D-Programming-Language/dmd/commit/dc488a174071f97129aafcab3f24b3e414988f11
> ?Author: Don Clugston <dclugston at googlemail.com>
> ?Date: ? 2011-10-04 (Tue, 04 Oct 2011)
>
> ?Changed paths:
> ? ?M src/interpret.c
>
> ?Log Message:
> ?-----------
> ?6765 [CTFE]: AA.length doesn't compile when AA is null
>
> I also combined the D1 and D2 code for AA length. Tested on both D1+D2.
>
>
> ?Commit: 06e3cdc69f5d7a50dce1792eaed0b34f57e90a2a
> ? ? ?https://github.com/D-Programming-Language/dmd/commit/06e3cdc69f5d7a50dce1792eaed0b34f57e90a2a
> ?Author: Don Clugston <dclugston at googlemail.com>
> ?Date: ? 2011-10-04 (Tue, 04 Oct 2011)
>
> ?Changed paths:
> ? ?M test/compilable/interpret3.d
>
> ?Log Message:
> ?-----------
> ?Test case for 6765
>
>
> ?Commit: e807a1f2a593a8357668bdd905f8c660b2198ef2
> ? ? ?https://github.com/D-Programming-Language/dmd/commit/e807a1f2a593a8357668bdd905f8c660b2198ef2
> ?Author: Walter Bright <walter at walterbright.com>
> ?Date: ? 2011-10-04 (Tue, 04 Oct 2011)
>
> ?Changed paths:
> ? ?M src/interpret.c
> ?M test/compilable/interpret3.d
>
> ?Log Message:
> ?-----------
> ?Merge pull request #428 from donc/ctfebreak
>
> Fixes for CTFE AA bugs 6751 and 6765
>
>
> Compare: https://github.com/D-Programming-Language/dmd/compare/51d8385...e807a1f
> _______________________________________________
> dmd-internals mailing list
> dmd-internals at puremagic.com
> http://lists.puremagic.com/mailman/listinfo/dmd-internals
>
|
Copyright © 1999-2021 by the D Language Foundation