[Issue 15079] [REG2.068.1] Assertion `fd->semanticRun == PASSsemantic3done' failed.
https://issues.dlang.org/show_bug.cgi?id=15079 Kenji Hara changed: What|Removed |Added Keywords||pull --- Comment #6 from Kenji Hara --- Add a case to the dmd test suite. https://github.com/D-Programming-Language/dmd/pull/5120 --
[Issue 15079] [REG2.068.1] Assertion `fd->semanticRun == PASSsemantic3done' failed.
https://issues.dlang.org/show_bug.cgi?id=15079 Kenji Hara changed: What|Removed |Added Keywords||rejects-valid Hardware|x86_64 |All Summary|Assertion `fd->semanticRun |[REG2.068.1] Assertion |== PASSsemantic3done' |`fd->semanticRun == |failed. |PASSsemantic3done' failed. OS|Linux |All --- Comment #5 from Kenji Hara --- (In reply to Marc Schütz from comment #4) > Created attachment 1552 [details] > reduced testcase Thank you very much, Marc! I've slightly tweaked the case and get the minimum code to reproduce the error. scan_code.d: --- import parsing; parsing.d: --- Vector!string parseAlgorithmName() { assert(0); } struct Vector(ALLOC) { @disable this(this); RefCounted!(Vector, ALLOC) dupr() { assert(0); } } struct RefCounted(T, ALLOC) { ~this() { T* objc; .destroy(*objc); } } // void _destructRecurse(S)(ref S s) if (is(S == struct)) { static if (__traits(hasMember, S, "__xdtor") && __traits(isSame, S, __traits(parent, s.__xdtor))) { s.__xdtor(); } } void destroy(T)(ref T obj) if (is(T == struct)) { _destructRecurse(obj); () @trusted { auto buf = (cast(ubyte*) &obj)[0 .. T.sizeof]; auto init = cast(ubyte[])typeid(T).init(); if (init.ptr is null) // null ptr means initialize to 0s buf[] = 0; else buf[] = init[]; } (); } command line: --- dmd -c scan_token.d parsing.d(8): Error: function parsing.Vector!string.Vector.__aggrPostblit errors compiling the function Fortunately, the error is now disappeared with git-head. After the bisecting git history, I've reached to the commit which the issue has fixed. SHA-1: af4d3a4158f95d1720b42e8027ae2aead90c7a4f Merge pull request #5075 from 9rnsr/fix15044 [REG2.068.0] Issue 15044 - destroy might leak memory As a conclusion, it was another surface of issue 15044, and fixed from 2.068.2 - the attribute inference problem had sent a function which is not yet completed semantic analysis to glue layer, and the breaking of internal invariance has been detected. --
[Issue 14708] destructor for temporary not called during stack unwinding
https://issues.dlang.org/show_bug.cgi?id=14708 Kenji Hara changed: What|Removed |Added Status|RESOLVED|REOPENED Resolution|FIXED |--- --
[Issue 15056] [REG2.068.1] Unstored RAII struct return yields bogus error: "cannot mix core.std.stdlib.alloca() and exception handling"
https://issues.dlang.org/show_bug.cgi?id=15056 Kenji Hara changed: What|Removed |Added Keywords||pull Status|NEW |RESOLVED Resolution|--- |FIXED --- Comment #11 from Kenji Hara --- Fixed by reverting issue 14708 fix. https://github.com/D-Programming-Language/dmd/pull/5110 --
[Issue 15120] alias overload set combine error message
https://issues.dlang.org/show_bug.cgi?id=15120 Kenji Hara changed: What|Removed |Added Status|NEW |RESOLVED Resolution|--- |DUPLICATE --- Comment #1 from Kenji Hara --- It's fixed in git head as a part of issue 14858. *** This issue has been marked as a duplicate of issue 14858 *** --
[Issue 14858] spurious "Error: overload alias 'foo' is not a variable" when overloading template and non-template via aliases
https://issues.dlang.org/show_bug.cgi?id=14858 Kenji Hara changed: What|Removed |Added CC||john.loughran.colvin@gmail. ||com --- Comment #3 from Kenji Hara --- *** Issue 15120 has been marked as a duplicate of this issue. *** --
[Issue 6904] Skip Setting up Stack Frame if No Stack is Used
https://issues.dlang.org/show_bug.cgi?id=6904 Walter Bright changed: What|Removed |Added See Also||https://issues.dlang.org/sh ||ow_bug.cgi?id=15121 --
[Issue 15121] Unneeded stack frame generated
https://issues.dlang.org/show_bug.cgi?id=15121 Walter Bright changed: What|Removed |Added Keywords||performance See Also||https://issues.dlang.org/sh ||ow_bug.cgi?id=6904 --
[Issue 15121] New: Unneeded stack frame generated
https://issues.dlang.org/show_bug.cgi?id=15121 Issue ID: 15121 Summary: Unneeded stack frame generated Product: D Version: D2 Hardware: x86_64 OS: All Status: NEW Severity: enhancement Priority: P1 Component: dmd Assignee: nob...@puremagic.com Reporter: bugzi...@digitalmars.com The code: int test(int x) { return x; } generates: 55 pushRBP 48 8B ECmov RBP,RSP 48 89 C8mov RAX,RCX 5D pop RBP C3 ret The stack frame is not necessary, and the 48 REX prefix on the RAX register move is also unnecessary. --
[Issue 15120] New: alias overload set combine error message
https://issues.dlang.org/show_bug.cgi?id=15120 Issue ID: 15120 Summary: alias overload set combine error message Product: D Version: D2 Hardware: All OS: All Status: NEW Severity: major Priority: P1 Component: dmd Assignee: nob...@puremagic.com Reporter: john.loughran.col...@gmail.com //modA.d auto foo(T)(T a){} //modB.d auto foo(T)(T a){} //modC.d import modB, modC; alias foo = modB.foo; alias foo = modC.foo; void main() { .foo(3.4f); } modA.d(7): Error: modA.foo called with argument types (float) matches both: modB.d(1): modB.foo!float.foo(float a) and: modC.d(1): modC.foo!float.foo(float a) which makes perfect sense. However, if we drop the . before foo, i.e. foo(3.4f); modA.d(7): Error: overload alias 'foo' is not a variable which is very odd. --
[Issue 15106] Optlink executed with LDC as compiler?
https://issues.dlang.org/show_bug.cgi?id=15106 --- Comment #8 from David Nadlinger --- (In reply to Manu from comment #7) > Why is 2015 preferable? Because of the improved C99 support (e.g. for string formatting functions). > Do you think it would be appropriate for LDC to have such an installer which > configured ldc2.conf similarly? If LDC has formal installation, it may make > it easier for VisualD to detect installation and auto-configure LDC to work > in Visual Studio? It would definitely be great to have an LDC installer for Windows (distro packages/archives are fine for the other platforms). I don't think anybody is working on this right now; any help would be very much appreciated. --