[Issue 20111] asm VCVTPS2PH is not encoded correctly

2020-08-29 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=20111

thomas.bock...@gmail.com changed:

   What|Removed |Added

   Keywords||iasm

--


[Issue 21198] Inout copy constructor on union field does not prevent copy-initialization of union

2020-08-29 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=21198

Dlang Bot  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |FIXED

--- Comment #2 from Dlang Bot  ---
dlang/dmd pull request #11634 "Fix issue 21198 - Inout copy constructor on
union field does not prev…" was merged into stable:

- 573bf6a171f5dd23caebda7bb2ca66455c3d6d0f by Paul Backus:
  Fix issue 21198 - Inout copy constructor on union field does not prevent
copy-initialization of union

  Previously, generated copy constructors of unions were disabled only if
  they failed to type-check. They are now disabled in all cases, as
  required by the language spec.

https://github.com/dlang/dmd/pull/11634

--


[Issue 18826] [inline asm] Wrongcode for mov

2020-08-29 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=18826

Basile-z  changed:

   What|Removed |Added

   Keywords||iasm
 CC||b2.t...@gmx.com

--


[Issue 21120] Inconsistent mangling of __init symbol

2020-08-29 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=21120

Dlang Bot  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |FIXED

--- Comment #2 from Dlang Bot  ---
dlang/dmd pull request #11645 "Fix Issue 21120 - Inconsistent mangling of
__init symbol" was merged into stable:

- 4e863aa3532480abe5832b2448904bdf8e441ddf by Martin Kinkelin:
  Fix Issue 21120 - Inconsistent mangling of __init symbol

  The mangling code previously assumed no identifier would ever start at
  buffer offset 0. Get rid of that assumption by storing offset+1.

https://github.com/dlang/dmd/pull/11645

--


[Issue 21120] Inconsistent mangling of __init symbol

2020-08-29 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=21120

Dlang Bot  changed:

   What|Removed |Added

   Keywords||pull

--- Comment #1 from Dlang Bot  ---
@kinke created dlang/dmd pull request #11645 "Fix Issue 21120 - Inconsistent
mangling of __init symbol" fixing this issue:

- Fix Issue 21120 - Inconsistent mangling of __init symbol

  The mangling code previously assumed no identifier would ever start at
  buffer offset 0. Get rid of that assumption by storing offset+1.

https://github.com/dlang/dmd/pull/11645

--


[Issue 21209] scope attribute inference with does not work well with foreach

2020-08-29 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=21209

Chloé  changed:

   What|Removed |Added

   Keywords||rejects-valid, safe
   Severity|enhancement |normal

--


[Issue 21209] New: scope attribute inference with does not work well with foreach

2020-08-29 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=21209

  Issue ID: 21209
   Summary: scope attribute inference with does not work well with
foreach
   Product: D
   Version: D2
  Hardware: x86_64
OS: Linux
Status: NEW
  Severity: enhancement
  Priority: P1
 Component: dmd
  Assignee: nob...@puremagic.com
  Reporter: rightfold+bugzilla+dl...@gmail.com

The following program does not compile:

---
$ cat main.d
void foo()(const(char)[] cs)
{
foreach (c; cs)
bar(c);
}

@safe
void bar(char c)
{
}

@safe
void main()
{
char[10] cs;
foo(cs); // line 16
}
$ dmd -dip1000 main.d
main.d(16): Error: reference to local variable `cs` assigned to non-scope
parameter `cs` calling example.foo!().foo
---

By manually adding the scope attribute to the cs parameter, the program
compiles. But it is expected that DMD infers this from the body of the foo
function, as it is a template.

Verified with DMD 2.092.0 and LDC 1.23.0.

--


[Issue 3179] [PATCH] Improvement of Inline Assembly D 2.0 specification

2020-08-29 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=3179

Basile-z  changed:

   What|Removed |Added

   Keywords||iasm
 CC||b2.t...@gmx.com

--


[Issue 20207] (inline asm) DMD (x64) assembles code that contains both REX and high byte of a general purpouse register

2020-08-29 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=20207

Basile-z  changed:

   What|Removed |Added

   Keywords||iasm
 CC||b2.t...@gmx.com

--


[Issue 16045] Unable to loading global variables in inline assembly with -fPIC

2020-08-29 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=16045

Basile-z  changed:

   What|Removed |Added

   Keywords||iasm
 CC||b2.t...@gmx.com

--


[Issue 16274] The curses of debugging: short argument passed in 16-bit register, against ABI

2020-08-29 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=16274

--- Comment #4 from Walter Bright  ---
Curiously, I implemented init_pair() and it turns out that gcc sign extends
each parameter before using it.

So this problem does depend on what's going on with init_pair's implementation.

--


[Issue 16274] The curses of debugging: short argument passed in 16-bit register, against ABI

2020-08-29 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=16274

--- Comment #3 from Walter Bright  ---
gcc, however, does indeed set the upper 16 bits to zero. I suppose dmd should
behave the same way, regardless of the spec.

--


[Issue 16274] The curses of debugging: short argument passed in 16-bit register, against ABI

2020-08-29 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=16274

--- Comment #2 from Walter Bright  ---
A smaller version:

  extern(C) int init_pair(short pair, short f, short b);
  void test() { init_pair(1, 2, 3); }

which generates:

  _D4testQfFZv:
pushRBP
mov RBP,RSP
mov 8D,3
mov DX,2
mov CX,1
sub RSP,020h
callinit_pair
add RSP,020h
pop RBP
ret

Indeed, you are correct in that the upper 16 bits of the register is not set.
But I believe this correct code generation. The problem may be in the
implementation of init_pair(), which is assuming the upper 16 bits are zero.

--


[Issue 12635] Accepts Invalid Segment Prefix on Branch Instruction

2020-08-29 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=12635

Rainer Schuetze  changed:

   What|Removed |Added

 CC||r.sagita...@gmx.de

--- Comment #2 from Rainer Schuetze  ---
I suspect this refers to PR 3483 and this change:
https://github.com/dlang/dmd/pull/3483/files#diff-751ccd146d8d1ff90869fb80fee8ac58R1392

--


[Issue 21047] Linker error: GOT load reloc does not point to a movq instruction

2020-08-29 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=21047

Walter Bright  changed:

   What|Removed |Added

   Keywords||backend

--


[Issue 20688] Wrong code when linking to C complex number functions

2020-08-29 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=20688

Walter Bright  changed:

   What|Removed |Added

   Keywords||backend
 CC||bugzi...@digitalmars.com

--


[Issue 20803] [REG2.071.0] Objects are destroyed too early with -inline

2020-08-29 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=20803

Walter Bright  changed:

   What|Removed |Added

   Keywords||backend
 CC||bugzi...@digitalmars.com

--


[Issue 20716] Wrong code/ABI for extern(C++) interface method that returns non-POD

2020-08-29 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=20716

Walter Bright  changed:

   What|Removed |Added

   Keywords||backend
 CC||bugzi...@digitalmars.com

--


[Issue 20154] bad closure if local variables have larger alignment requirements

2020-08-29 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=20154

Walter Bright  changed:

   What|Removed |Added

   Keywords||backend

--


[Issue 19846] Identity function causes code returning byte[0] to not be executed

2020-08-29 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=19846

Walter Bright  changed:

   What|Removed |Added

   Keywords||backend
 CC||bugzi...@digitalmars.com

--


[Issue 19841] Wrong ABI for C++ functions taking a struct by value

2020-08-29 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=19841

Walter Bright  changed:

   What|Removed |Added

   Keywords||backend
 CC||bugzi...@digitalmars.com

--


[Issue 19662] x86_64: Different code output when compiling with inline/boundscheck on/off

2020-08-29 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=19662

Walter Bright  changed:

   What|Removed |Added

   Keywords||backend
 CC||bugzi...@digitalmars.com

--


[Issue 19384] [Codegen] Address of stack temporary is returned

2020-08-29 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=19384

Walter Bright  changed:

   What|Removed |Added

   Keywords||backend
 CC||bugzi...@digitalmars.com

--


[Issue 19179] extern(C++) small-struct by-val uses wrong ABI

2020-08-29 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=19179

Walter Bright  changed:

   What|Removed |Added

   Keywords||backend
 CC||bugzi...@digitalmars.com

--


[Issue 18826] [inline asm] Wrongcode for mov

2020-08-29 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=18826

Walter Bright  changed:

   What|Removed |Added

   Keywords||backend
 CC||bugzi...@digitalmars.com

--


[Issue 18412] [REG2.077.0] immutable array in library becomes null when referenced in static constructor

2020-08-29 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=18412

Walter Bright  changed:

   What|Removed |Added

   Keywords||backend
 CC||bugzi...@digitalmars.com

--


[Issue 17965] Unexplained usage of the FPU while function result already in right XMM registers

2020-08-29 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=17965

Walter Bright  changed:

   What|Removed |Added

   Keywords||backend
 CC||bugzi...@digitalmars.com

--


[Issue 17436] Weird `cast(double) i != cast(double) i` on 32-bit hosts

2020-08-29 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=17436

Walter Bright  changed:

   What|Removed |Added

   Keywords||backend
 CC||bugzi...@digitalmars.com

--


[Issue 16317] Wrong binop evaluation/load order when optimizing

2020-08-29 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=16317

Walter Bright  changed:

   What|Removed |Added

   Keywords||backend

--


[Issue 16274] The curses of debugging: short argument passed in 16-bit register, against ABI

2020-08-29 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=16274

Walter Bright  changed:

   What|Removed |Added

   Keywords||backend
 CC||bugzi...@digitalmars.com

--


[Issue 16268] Wrong optimization in code with integer overflow

2020-08-29 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=16268

Walter Bright  changed:

   What|Removed |Added

   Keywords||backend
 CC||bugzi...@digitalmars.com

--


[Issue 15921] Win64: wrong codegen with array of structs slicing

2020-08-29 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=15921

Walter Bright  changed:

   What|Removed |Added

   Keywords||backend
 CC||bugzi...@digitalmars.com

--


[Issue 14896] x64 synchronized problem when using -O

2020-08-29 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=14896

Walter Bright  changed:

   What|Removed |Added

   Keywords||backend
 CC||bugzi...@digitalmars.com

--


[Issue 14708] destructor for temporary not called during stack unwinding

2020-08-29 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=14708

Walter Bright  changed:

   What|Removed |Added

   Keywords||backend
 CC||bugzi...@digitalmars.com

--


[Issue 14692] SIGSEGV during SHA.put

2020-08-29 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=14692

Walter Bright  changed:

   What|Removed |Added

   Keywords||backend
 CC||bugzi...@digitalmars.com

--


[Issue 14203] Return of floating point values from extern(C++) member functions does not match dmc

2020-08-29 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=14203

Walter Bright  changed:

   What|Removed |Added

   Keywords||backend
 CC||bugzi...@digitalmars.com

--


[Issue 13957] 64 bit C ABI not followed for passing structs with floating+integer types

2020-08-29 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=13957

Walter Bright  changed:

   What|Removed |Added

   Keywords||backend

--


[Issue 13769] Wrong argument passing for variadic functions in 64 bits

2020-08-29 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=13769

Walter Bright  changed:

   What|Removed |Added

   Keywords||backend
 CC||bugzi...@digitalmars.com

--


[Issue 13548] wrong sqrt

2020-08-29 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=13548

Walter Bright  changed:

   What|Removed |Added

   Keywords||backend
 CC||bugzi...@digitalmars.com

--


[Issue 12878] inline asm memory operand always uses 64-bit addressing

2020-08-29 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=12878

Walter Bright  changed:

   What|Removed |Added

   Keywords||backend

--


[Issue 12635] Accepts Invalid Segment Prefix on Branch Instruction

2020-08-29 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=12635

Walter Bright  changed:

   What|Removed |Added

   Keywords||backend

--


[Issue 12361] Coverage doesn't work on the functions mixin-ed from another module

2020-08-29 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=12361

Walter Bright  changed:

   What|Removed |Added

   Keywords||backend
 CC||bugzi...@digitalmars.com

--


[Issue 11646] [snn] `malloc` is unstable for large allocations

2020-08-29 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=11646

Walter Bright  changed:

   What|Removed |Added

   Keywords||backend
 CC||bugzi...@digitalmars.com

--


[Issue 11435] -O optimization flag causes invalid 32 bit codegen

2020-08-29 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=11435

Walter Bright  changed:

   What|Removed |Added

   Keywords||backend
 CC||bugzi...@digitalmars.com

--


[Issue 11106] Chaos on struct with multidimentional static array initialization from its element

2020-08-29 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=11106

Walter Bright  changed:

   What|Removed |Added

   Keywords||backend
 CC||bugzi...@digitalmars.com

--


[Issue 11049] array bounds error uses module file name rather than file name modified by #line directive

2020-08-29 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=11049

Walter Bright  changed:

   What|Removed |Added

   Keywords||backend

--


[Issue 10123] Can't subtract positive number from length of array of struct with disabled default construction

2020-08-29 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=10123
Issue 10123 depends on issue 10124, which changed state.

Issue 10124 Summary: Array length increases on subtraction of a big number 
instead of throwing RangeError
https://issues.dlang.org/show_bug.cgi?id=10124

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |WONTFIX

--


[Issue 10664] Win64: exception handling does not work with COMDAT folding

2020-08-29 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=10664

Walter Bright  changed:

   What|Removed |Added

   Keywords||backend

--


[Issue 10124] Array length increases on subtraction of a big number instead of throwing RangeError

2020-08-29 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=10124

Walter Bright  changed:

   What|Removed |Added

   Keywords||backend
 Status|NEW |RESOLVED
 CC||bugzi...@digitalmars.com
 Resolution|--- |WONTFIX

--- Comment #5 from Walter Bright  ---
This is an artifact of 2's complement arithmetic. Instrumenting the code to
detect integer arithmetic overflows will have a large performance penalty, so
is not done.

--


[Issue 10070] Unexpected exception-related program crash

2020-08-29 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=10070

Walter Bright  changed:

   What|Removed |Added

   Keywords||backend
 CC||bugzi...@digitalmars.com

--


[Issue 9643] [64 bit] Incorrect cdouble passing for varags

2020-08-29 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=9643

Walter Bright  changed:

   What|Removed |Added

   Keywords||backend
 CC||bugzi...@digitalmars.com

--


[Issue 6705] Bad codegen when passing fields as template alias params

2020-08-29 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=6705

Walter Bright  changed:

   What|Removed |Added

   Keywords||backend

--


[Issue 5711] Accessing local variable of a function in which an inner class is instantiated trashes this.outer

2020-08-29 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=5711

Walter Bright  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 CC||bugzi...@digitalmars.com
 Resolution|--- |WORKSFORME

--- Comment #2 from Walter Bright  ---
Works fine now.

--


[Issue 3713] Tail call optimization not enabled with the ?: operator

2020-08-29 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=3713

Walter Bright  changed:

   What|Removed |Added

   Keywords||backend
 CC||bugzi...@digitalmars.com

--


[Issue 5570] 64 bit C ABI not followed for passing structs and complex numbers as function parameters

2020-08-29 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=5570

Walter Bright  changed:

   What|Removed |Added

   Keywords||backend

--