[Issue 15257] __traits(compiles, …) with malformed inline asm silently ends compilation

2020-08-20 Thread d-bugmail--- via Digitalmars-d-bugs
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

2020-08-20 Thread d-bugmail--- via Digitalmars-d-bugs
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

2020-08-20 Thread d-bugmail--- via Digitalmars-d-bugs
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

2020-08-20 Thread d-bugmail--- via Digitalmars-d-bugs
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

2020-08-20 Thread d-bugmail--- via Digitalmars-d-bugs
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

2020-08-20 Thread d-bugmail--- via Digitalmars-d-bugs
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

2020-08-20 Thread d-bugmail--- via Digitalmars-d-bugs
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

2020-08-20 Thread d-bugmail--- via Digitalmars-d-bugs
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

2020-08-20 Thread d-bugmail--- via Digitalmars-d-bugs
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

2020-08-20 Thread d-bugmail--- via Digitalmars-d-bugs
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

2020-08-20 Thread d-bugmail--- via Digitalmars-d-bugs
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

2020-08-20 Thread d-bugmail--- via Digitalmars-d-bugs
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.

--