[Issue 18223] New: std.experimental.allocator uninitializedFillDefault could use memset

2018-01-10 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=18223

  Issue ID: 18223
   Summary: std.experimental.allocator uninitializedFillDefault
could use memset
   Product: D
   Version: D2
  Hardware: All
OS: All
Status: NEW
  Severity: enhancement
  Priority: P1
 Component: phobos
  Assignee: nob...@puremagic.com
  Reporter: n8sh.second...@hotmail.com

Current function in std.experimental.allocator.package:
```
private T[] uninitializedFillDefault(T)(T[] array) nothrow
{
T t = T.init;
fillWithMemcpy(array, t);
return array;
}
```

When we can statically determine that the representation of T.init consists of
nothing but zeroes we could instead use memset. char and wchar could also be
special-cased.

--


[Issue 18222] New: Illegal instruction for test_cdvecfill_1

2018-01-10 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=18222

  Issue ID: 18222
   Summary: Illegal instruction for test_cdvecfill_1
   Product: D
   Version: D2
  Hardware: x86_64
OS: Linux
Status: NEW
  Severity: normal
  Priority: P1
 Component: dmd
  Assignee: nob...@puremagic.com
  Reporter: thomas.ma...@gmail.com

I get the following when I run the dmd-testsuite of ldc 1.7.0 on NixOS:

> 790: sh: line 1: 36610 Illegal instruction 
> /build/ldc-1.7.0-src/build/dmd-testsuite/runnable/test_cdvecfill_1 > 
> /build/ldc-1.7.0-src/build/dmd-testsuite/a0519aad7a20f86b87a15113f878a3d1815937849f5527e5ac5dbbdc24e22f05
>  2>&1
790:  ... runnable/test_cdvecfill.d  -O (-mcpu=avx -mcpu=avx2)
-conf=/build/ldc-1.7.0-src/build/bin/ldc2.conf -O 
790: Test failed.  The logged output:
790: /build/ldc-1.7.0-src/build/bin/ldmd2 -conf= -m64 -Irunnable -O 
-od/build/ldc-1.7.0-src/build/dmd-testsuite/runnable
-of/build/ldc-1.7.0-src/build/dmd-testsuite/runnable/test_cdvecfill_0
runnable/test_cdvecfill.d
790: /build/ldc-1.7.0-src/build/dmd-testsuite/runnable/test_cdvecfill_0
790: 
790: /build/ldc-1.7.0-src/build/bin/ldmd2 -conf= -m64 -Irunnable -O -mcpu=avx
-od/build/ldc-1.7.0-src/build/dmd-testsuite/runnable
-of/build/ldc-1.7.0-src/build/dmd-testsuite/runnable/test_cdvecfill_1
runnable/test_cdvecfill.d
790: /build/ldc-1.7.0-src/build/dmd-testsuite/runnable/test_cdvecfill_1
790: 
790: 
790: ==
790: Test failed: expected rc == 0, exited with rc == 132

See https://hydra.nixos.org/build/67414474/nixlog/1 for the full log.
I built this package yesterday on my system without any problems though it only
happens on these hydra builds.
It works on MacOS X.

--


[Issue 18188] rdmd ignores dependency in 'static this()'

2018-01-10 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=18188

Seb  changed:

   What|Removed |Added

 CC||greensunn...@gmail.com

--- Comment #2 from Seb  ---
BTW are you aware of https://github.com/dlang/dmd/pull/7099 and
https://github.com/dlang/tools/pull/271 ?
It could as a side-effect fix your bug.

--


[Issue 18188] rdmd ignores dependency in 'static this()'

2018-01-10 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=18188

--- Comment #1 from Dragos Carp  ---
The problem is caused by `dmd -v` output, that is parsed and used by rdmd.

$ dmd -v -o- foo.d
predefs   DigitalMars Posix linux ELFv1 LittleEndian D_Version2 all D_SIMD
D_InlineAsm_X86_64 X86_64 CRuntime_Glibc D_LP64 D_PIC assert D_HardFloat
binarydmd
version   v2.078.0
config/etc/dmd.conf
parse foo
importall foo
importobject(/usr/include/dmd/druntime/import/object.d)
semantic  foo
entry main  foo.d
semantic2 foo
semantic3 foo
importbar   (bar.d)

Calling dmd with -deps option fixes the problem:

$ dmd -v -o- foo.d -deps=/dev/null
predefs   DigitalMars Posix linux ELFv1 LittleEndian D_Version2 all D_SIMD
D_InlineAsm_X86_64 X86_64 CRuntime_Glibc D_LP64 D_PIC assert D_HardFloat
binarydmd
version   v2.078.0
config/etc/dmd.conf
parse foo
importall foo
importobject(/usr/include/dmd/druntime/import/object.d)
semantic  foo
entry main  foo.d
semantic2 foo
semantic3 foo
importbar   (bar.d)
importbaz   (baz.d)

Consequently rdmd command also functions when -deps option is added:

$ rdmd --build-only --chatty -deps=/dev/null foo.d
mkdirRecurse /tmp/.rdmd-500
mkdirRecurse /tmp/.rdmd-500/rdmd-foo.d-2D7BE73D8EB3145BDB8A563EF51C3756
lock /tmp/.rdmd-500/rdmd-foo.d-2D7BE73D8EB3145BDB8A563EF51C3756/rdmd.lock
mkdirRecurse /tmp/.rdmd-500/rdmd-foo.d-2D7BE73D8EB3145BDB8A563EF51C3756/objs
stat /tmp/.rdmd-500/rdmd-foo.d-2D7BE73D8EB3145BDB8A563EF51C3756/rdmd.deps
spawn ["/usr/bin/dmd", "-deps=/dev/null", "-v", "-o-", "foo.d", "-I."]
read /tmp/.rdmd-500/rdmd-foo.d-2D7BE73D8EB3145BDB8A563EF51C3756/rdmd.deps
which /usr/bin/dmd
stat /etc/dmd.conf
stat /tmp/.rdmd-500/rdmd-foo.d-2D7BE73D8EB3145BDB8A563EF51C3756/.built
stat ./foo
stat foo.d
stat foo.d
stat /etc/dmd.conf
stat baz.d
stat bar.d
stat /usr/bin/dmd
stat ./foo
spawn ["/usr/bin/dmd", "-deps=/dev/null", "-of./foo.tmp",
"-od/tmp/.rdmd-500/rdmd-foo.d-2D7BE73D8EB3145BDB8A563EF51C3756/objs", "-I.",
"foo.d", "baz.d", "bar.d"]
stat /tmp/.rdmd-500/rdmd-foo.d-2D7BE73D8EB3145BDB8A563EF51C3756/objs
rmdirRecurse /tmp/.rdmd-500/rdmd-foo.d-2D7BE73D8EB3145BDB8A563EF51C3756/objs
mv ./foo.tmp ./foo
touch /tmp/.rdmd-500/rdmd-foo.d-2D7BE73D8EB3145BDB8A563EF51C3756/.built

--


[Issue 18221] New: DMD64 2.078.0 compile time explodes with -inline for mir-algorithm

2018-01-10 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=18221

  Issue ID: 18221
   Summary: DMD64 2.078.0 compile time explodes with -inline for
mir-algorithm
   Product: D
   Version: D2
  Hardware: x86
OS: All
Status: NEW
  Severity: regression
  Priority: P1
 Component: dmd
  Assignee: nob...@puremagic.com
  Reporter: timothee.co...@gmail.com

details: http://forum.dlang.org/post/gevcbtueeiscqipqm...@forum.dlang.org
as reported by Nathan S.

--


[Issue 17819] static foreach segfaults on __traits(allMembers)

2018-01-10 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=17819

Jean-Louis Leroy  changed:

   What|Removed |Added

 CC||j...@leroy.nyc

--


[Issue 17819] static foreach segfaults on __traits(allMembers)

2018-01-10 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=17819

--- Comment #1 from Jean-Louis Leroy  ---
The bug is still present in 2.078.

--


[Issue 18220] Allow rt_trapexceptions to be set from the CLI

2018-01-10 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=18220

Seb  changed:

   What|Removed |Added

Summary|Allow trapexception to be   |Allow rt_trapexceptions to
   |set from the CLI|be set from the CLI

--


[Issue 18220] New: Allow trapexception to be set from the CLI

2018-01-10 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=18220

  Issue ID: 18220
   Summary: Allow trapexception to be set from the CLI
   Product: D
   Version: D2
  Hardware: x86_64
OS: Linux
Status: NEW
  Severity: enhancement
  Priority: P1
 Component: druntime
  Assignee: nob...@puremagic.com
  Reporter: greensunn...@gmail.com

http://arsdnet.net/this-week-in-d/2016-aug-07.html

> Hopefully, druntime will expose this variable in a more easier way in the 
> future. Currently, on Windows, it is automatically set if a debugger is 
> detected, but on Linux, debugger detection is quite a bit harder and hackier, 
> so it might not happen any time soon. Druntime could (and should!) also 
> potentially offer it as a command line switch, like it does with GC profiling 
> now.

> DRUNTIME DEVS: if you read this, make it happen!

--


[Issue 13632] Second argument for std.string.strip

2018-01-10 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=13632

--- Comment #2 from Aravinda  ---
(In reply to Seb from comment #1)
> @Aravinda VK: thanks a lot for taking this. Please don't forget to add a
> link to your PR here. Otherwise people in the future will have a hard time
> finding or even being aware of it:
> 
> https://github.com/dlang/phobos/pull/6023

Noted. This is my first patch/bug in D lang community. I will make sure to add
PR link in future. Thanks.

--


[Issue 13632] Second argument for std.string.strip

2018-01-10 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=13632

Seb  changed:

   What|Removed |Added

   Keywords||pull
 CC||greensunn...@gmail.com

--- Comment #1 from Seb  ---
@Aravinda VK: thanks a lot for taking this. Please don't forget to add a link
to your PR here. Otherwise people in the future will have a hard time finding
or even being aware of it:

https://github.com/dlang/phobos/pull/6023

--


[Issue 18219] Private import inside struct leaks symbols when used as VarDeclaration types

2018-01-10 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=18219

--- Comment #1 from RazvanN  ---
PR: https://github.com/dlang/dmd/pull/7668

--


[Issue 17961] std.uni does not compile with -unittest -dip1000

2018-01-10 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=17961

Carsten Blüggel  changed:

   What|Removed |Added

 CC||chi...@posteo.net

--- Comment #7 from Carsten Blüggel  ---
Although -dip1000 is not ready, it's complaint seems to be justified in at
least 1 of 2 spots here:
The complaints originate in the function immediately preceding the reported
error line:  ref intersect()(dchar ch)
(1) There are 2 assignments to this: this = This.init...
that raise the error, IMO legitimately: reference to local variable __tmp...
assigned to non-scope parameter this.
This could be calmed down using instead: data.length(0); I hope it's an
equivalent for This.init in this case.
(2) The other one (same error msg) stems from this.byInterval in the foreach
loop and seems to be questionable.

In the end, this works with -dip1000 enabled:

ref intersect()(dchar ch)
{
scope arr = data;
foreach (i; Intervals!(typeof(data))(arr))
if (i.a <= ch && ch < i.b)
{
data.length(0);
return this.add(ch, ch+1);
}
data.length(0);
return this;
}

If there are no objections, I'll file a PR Fix issue 17961 - ...

--


[Issue 13632] Second argument for std.string.strip

2018-01-10 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=13632

Aravinda  changed:

   What|Removed |Added

 Status|NEW |ASSIGNED
 CC||hallimanearav...@gmail.com
   Assignee|nob...@puremagic.com|hallimanearav...@gmail.com

--


[Issue 18219] New: Private import inside struct leaks symbols when used as VarDeclaration types

2018-01-10 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=18219

  Issue ID: 18219
   Summary: Private import inside struct leaks symbols when used
as VarDeclaration types
   Product: D
   Version: D2
  Hardware: x86_64
OS: Linux
Status: NEW
  Severity: normal
  Priority: P1
 Component: dmd
  Assignee: nob...@puremagic.com
  Reporter: razvan.nitu1...@gmail.com

// a.d
class Foobar
{
int a;
this(int a)
{   
this.a = a;
}   
static int smeth()
{   
return 1;
}   
}
void fun() {}

// b.d
struct AST 
{
import a;
}

// c.d
void main()
{
import b;
AST.Foobar t;// compiles
AST.Foobar.smeth();  // does not compile
AST.fun();   // does not compile   
}

`AST.Foobar t` should not compile.

--