[Issue 15257] __traits(compiles, …) with malformed inline asm silently ends compilation
https://issues.dlang.org/show_bug.cgi?id=15257 --- Comment #8 from Dlang Bot --- @WalterBright created dlang/dmd pull request #11597 "fix Issue 15257 - __traits(compiles, .) with malformed inline asm sil…" fixing this issue: - fix Issue 15257 - __traits(compiles, .) with malformed inline asm silently ends compilation https://github.com/dlang/dmd/pull/11597 --
[Issue 20678] Integral deprecation should not trigger on valid code
https://issues.dlang.org/show_bug.cgi?id=20678 Walter Bright changed: What|Removed |Added CC||bugzi...@digitalmars.com --- Comment #1 from Walter Bright --- This is not actually a bug, it is adherence to the integral promotion rules. --
[Issue 21179] New: Test Suite: circleci times out with useless log message
https://issues.dlang.org/show_bug.cgi?id=21179 Issue ID: 21179 Summary: Test Suite: circleci times out with useless log message Product: D Version: D2 Hardware: All OS: All Status: NEW Severity: normal Priority: P1 Component: dmd Assignee: nob...@puremagic.com Reporter: bugzi...@digitalmars.com Here's the end of it: Makefile:208: recipe for target 'start_all_tests' failed make: *** [start_all_tests] Hangup Too long with no output (exceeded 10m0s): context deadline exceeded - But it's running a thousand tests in parallel, and gives no clue which one timed out. --
[Issue 21179] Test Suite: circleci times out with useless log message
https://issues.dlang.org/show_bug.cgi?id=21179 Walter Bright changed: What|Removed |Added Keywords||TestSuite --
[Issue 5302] Inline assembler: Indexing struct fields not possible inside member function
https://issues.dlang.org/show_bug.cgi?id=5302 Walter Bright changed: What|Removed |Added CC||bugzi...@digitalmars.com --- Comment #4 from Walter Bright --- The attachment: module iasm_test; struct S { uint i; } class A { uint func(S* s) { asm { mov EDX, s; mov EAX, S.i[EDX]; } } } --
[Issue 21153] DWARF: DMD emits the mangled name for DW_AT_name
https://issues.dlang.org/show_bug.cgi?id=21153 Dlang Bot changed: What|Removed |Added Status|NEW |RESOLVED Resolution|--- |FIXED --- Comment #2 from Dlang Bot --- dlang/dmd pull request #11540 "Fix issue 21153 - DWARF: DMD emits the mangled name for DW_AT_name" was merged into master: - 5dd37c4b98a6264bfafd0bcfaae8e952d2b72925 by Luhrel: Fix issue 21153 - DWARF: DMD emits the mangled name for DW_AT_name - 2c4b2b439ba27dff17964c8fbb2a007a911a5e63 by Luhrel: Add tests for issue 21153 https://github.com/dlang/dmd/pull/11540 --
[Issue 12652] Non-constant hash initializers should have a special-case diagnostic
https://issues.dlang.org/show_bug.cgi?id=12652 --- Comment #1 from Dlang Bot --- @adelavais created dlang/dmd pull request #11598 "Issue 12652 - Non-constant hash initializers should have a special-case diagnostic" mentioning this issue: - Issue 12652 - Non-constant hash initializers should have a special-case diagnostic https://github.com/dlang/dmd/pull/11598 --
[Issue 21155] DWARF: symbols within a module are not children of DW_TAG_module
https://issues.dlang.org/show_bug.cgi?id=21155 Dlang Bot changed: What|Removed |Added Keywords||pull --- Comment #1 from Dlang Bot --- @Luhrel created dlang/dmd pull request #11599 "Fix Issue 21155 - DWARF: symbols within a module are not children of …" fixing this issue: - Fix Issue 21155 - DWARF: symbols within a module are not children of DW_TAG_module https://github.com/dlang/dmd/pull/11599 --
[Issue 21180] New: Wrong selection of opEquals overload in classes
https://issues.dlang.org/show_bug.cgi?id=21180 Issue ID: 21180 Summary: Wrong selection of opEquals overload in classes Product: D Version: D2 Hardware: All OS: All Status: NEW Severity: blocker Priority: P1 Component: druntime Assignee: nob...@puremagic.com Reporter: alexandru.ermic...@gmail.com Test case: - import std; class Silly { bool opEquals(const Silly silly) const @safe { return silly is this; } alias opEquals = Object.opEquals; } bool comp(T)() @safe { return new T() == new T(); } void main() { comp!Silly.writeln; comp!(const Silly).writeln; comp!(immutable Silly).writeln; } - Expected behavior: For "==" overload to be selected most narrow solution which is "bool opEquals(const Silly silly) const @safe" and not "Object.opEquals". To note here: If instead of ==, opEquals is directly called, overload is properly resolved to most narrow solution. Error: - onlineapp.d(12): Error: @safe function onlineapp.comp!(Silly).comp cannot call @system function object.opEquals /dlang/dmd/linux/bin64/../../src/druntime/import/object.d(162): object.opEquals is declared here onlineapp.d(17): Error: template instance onlineapp.comp!(Silly) error instantiating onlineapp.d(12): Error: @safe function onlineapp.comp!(const(Silly)).comp cannot call @system function object.opEquals /dlang/dmd/linux/bin64/../../src/druntime/import/object.d(162): object.opEquals is declared here onlineapp.d(18): Error: template instance onlineapp.comp!(const(Silly)) error instantiating onlineapp.d(12): Error: @safe function onlineapp.comp!(immutable(Silly)).comp cannot call @system function object.opEquals /dlang/dmd/linux/bin64/../../src/druntime/import/object.d(162): object.opEquals is declared here onlineapp.d(19): Error: template instance onlineapp.comp!(immutable(Silly)) error instantiating - --
[Issue 15257] __traits(compiles, …) with malformed inline asm silently ends compilation
https://issues.dlang.org/show_bug.cgi?id=15257 Dlang Bot changed: What|Removed |Added Status|NEW |RESOLVED Resolution|--- |FIXED --- Comment #9 from Dlang Bot --- dlang/dmd pull request #11597 "fix Issue 15257 - __traits(compiles, .) with malformed inline asm sil…" was merged into master: - 282b81d4ea1f80ad967a69a5dc5c03cb3d2f2c1a by Walter Bright: fix Issue 15257 - __traits(compiles, .) with malformed inline asm silently ends compilation https://github.com/dlang/dmd/pull/11597 --
[Issue 5302] Inline assembler: Indexing struct fields not possible inside member function
https://issues.dlang.org/show_bug.cgi?id=5302 Walter Bright changed: What|Removed |Added Status|NEW |RESOLVED Resolution|--- |INVALID --- Comment #5 from Walter Bright --- The parser for the iasm operator expressions is quite limited compared with the regular D expressions is quite limited. It is also different in order to be like the Intel assembler syntax. However, this case can be handled using: mov EAX, S.i.offsetof[EDX]; instead of: mov EAX, S.i[EDX]; Marked as invalid because there is a way to make it work. --
[Issue 2617] asm silently accepts ambiguous-sized operations
https://issues.dlang.org/show_bug.cgi?id=2617 --- Comment #5 from Walter Bright --- The following code: uint func() { asm { naked; inc [EAX]; inc byte ptr [EAX]; inc short ptr [EAX]; inc int ptr [EAX]; inc long ptr [EAX]; } } generates: __D5test24funcFZk: inc byte ptr [EAX] inc byte ptr [EAX] inc word ptr [EAX] inc dword ptr [EAX] inc byte ptr [EAX] <== ! That last is certainly a problem; it should be rejected by the compiler. As for the first instruction, I'm concerned about changing the behavior. Messing with people's existing, working asm code is risky. --