[Issue 13401] code cleanup: removing c-style array declarations in druntime

2014-09-04 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=13401

hst...@quickfur.ath.cx changed:

   What|Removed |Added

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

--


[Issue 13402] code cleanup: removing c-style array declarations in phobos

2014-09-04 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=13402

hst...@quickfur.ath.cx changed:

   What|Removed |Added

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

--


[Issue 13419] code cleanup in std.uni: removing "comma expressions"

2014-09-04 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=13419

hst...@quickfur.ath.cx changed:

   What|Removed |Added

   Keywords||pull
 CC||hst...@quickfur.ath.cx

--- Comment #1 from hst...@quickfur.ath.cx ---
The comma expressions are being used to induce the compiler to inline the
functions. Technically, this really should be a compiler enhancement bug
(should not need to use comma expression to trigger inlining).

But anyway, somebody already submitted a PR for this:

https://github.com/D-Programming-Language/phobos/pull/2485

--


[Issue 13382] [e2ir] compare string to int - leads to ICE in e2ir.c 1902

2014-09-04 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=13382

hst...@quickfur.ath.cx changed:

   What|Removed |Added

 CC||hst...@quickfur.ath.cx
   Severity|normal  |critical

--


[Issue 13424] Initialization of delegate to do-nothing default causes segfault at runtime

2014-09-04 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=13424

Daniel Čejchan  changed:

   What|Removed |Added

 CC||czda...@gmail.com

--- Comment #1 from Daniel Čejchan  ---
Please provide some test-case code example. :)

--


[Issue 13424] New: Initialization of delegate to do-nothing default causes segfault at runtime

2014-09-04 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=13424

  Issue ID: 13424
   Summary: Initialization of delegate to do-nothing default
causes segfault at runtime
   Product: D
   Version: D2
  Hardware: x86
OS: Linux
Status: NEW
  Severity: critical
  Priority: P1
 Component: DMD
  Assignee: nob...@puremagic.com
  Reporter: hst...@quickfur.ath.cx

I have a struct of delegates that I'd like to default to do-nothing stubs:
--
struct S {
void delegate(dchar ch) onChar = (dchar) {};
... /* other delegate variables similarly initialized */
}
--

It compiles, but crashes at runtime. Looking at the assembly code, it appears
to be attempting to call an invalid pointer.

--


[Issue 13424] Initialization of delegate to do-nothing default causes segfault at runtime

2014-09-04 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=13424

hst...@quickfur.ath.cx changed:

   What|Removed |Added

   Keywords||wrong-code

--


[Issue 13423] New: Allow covariant assignment of lambda to delegate variable

2014-09-04 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=13423

  Issue ID: 13423
   Summary: Allow covariant assignment of lambda to delegate
variable
   Product: D
   Version: D2
  Hardware: x86
OS: Linux
Status: NEW
  Severity: enhancement
  Priority: P1
 Component: DMD
  Assignee: nob...@puremagic.com
  Reporter: hst...@quickfur.ath.cx

Code:
--
void main() {
void delegate(char) dg = (dchar) {};
}
--

Compiler output (2.067alpha):
--
test.d(2): Error: cannot implicitly convert expression (__lambda1) of type void
delegate(dchar _param_0) pure nothrow @nogc @safe to void delegate(char)
test.d(2): Error: cannot implicitly convert expression (__lambda1) of type void
delegate(dchar _param_0) pure nothrow @nogc @safe to void delegate(char)
--

There is no possible harm that can come from calling a pure nothrow @nogc @safe
delegate via an impure/throwing/allocating/unsafe delegate pointer, so this
assignment should be allowed. (Obviously, though, assigning in the other
direction cannot be allowed.)

--


[Issue 4890] GC.collect() deadlocks multithreaded program.

2014-09-04 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=4890

--- Comment #15 from Sean Kelly  ---
Okay, I can't reproduce this using the provided code on Oracle Linux 64-bit. 
If someone has a reliable repro, please let me know.

--


[Issue 13421] disallow __gshared members without static

2014-09-04 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=13421

--- Comment #6 from Ketmar Dark  ---
specs clearly says:

> __gshared may also be applied to member variables and local variables.
> In these cases, __gshared is equivalent to static, except that the
> variable is shared by all threads rather than being thread local.
http://dlang.org/attribute.html#gshared

so "static __gshared" is a tautology, and i believe that it should be error
instead of warning. but error'ing it can break some code, so let's warn for
now.

--


[Issue 10165] No syntax to create thread-local shared variables

2014-09-04 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=10165

--- Comment #8 from github-bugzi...@puremagic.com ---
Commits pushed to master at https://github.com/D-Programming-Language/phobos

https://github.com/D-Programming-Language/phobos/commit/4924d9ad240ef3b7ae4a099bad8b6e928e697069
Fix issue 10165 (rework of PR #1302)

http://issues.dlang.org/show_bug.cgi?id=10165
Issue 10165: No syntax to create thread-local shared variables

Adds `UnqualRef` templated alias/struct that is similar to Rebindable but
strips away all qualifiers completely (including shared)

https://github.com/D-Programming-Language/phobos/commit/3dda37428fe49ce76e5e8a6aa120054f836a1024
Merge pull request #2342 from Dicebot/ref-unqual

Fix issue 10165 (rework of PR #1302)

--


[Issue 13421] disallow __gshared members without static

2014-09-04 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=13421

--- Comment #5 from Marc Schütz  ---
`static __gshared` is currently indeed redundant, but my point is that this
isn't obvious. I would expect it to work analogously to a shared member: You
can have static and non-static ones of those. As I see it, __gshared merely
means "make it shared, but don't complain about unsynchronized access".

Therefore I can't agree that it implies "one instance". It's IMO better to make
it explicit.

--


[Issue 4890] GC.collect() deadlocks multithreaded program.

2014-09-04 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=4890

--- Comment #14 from Sean Kelly  ---
It's likely as I said.  The way GC collections work is different on different
platforms.  Both Windows and OSX use a kernel call to suspend threads and
inspect their stacks.  On other Unix platforms (like Linux), the suspending is
done via signals, and signal handlers are VERY restrictive in what can safely
be done inside them.  And either way, having one thread try to allocate
something from the GC inside this suspend handler is a guaranteed deadlock.  If
this is really what's going on I'm amazed that D on Linux works at all.  Maybe
it really is something else...

I'm setting up a new Linux VM and so should hopefully be able to repro this
shortly.

--


[Issue 4890] GC.collect() deadlocks multithreaded program.

2014-09-04 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=4890

--- Comment #13 from andrea.9...@gmail.com ---
Just tested, the bug is not present on Windows (DMD 2.066)

--


[Issue 4890] GC.collect() deadlocks multithreaded program.

2014-09-04 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=4890

--- Comment #12 from Sean Kelly  ---
Um... I may be wrong in what I just said.  It looks like someone added a
delegate call within the signal handler for coordinating collections on Linux. 
There's a decent chance that a dynamic stack frame is being allocated by the GC
within that signal handler, which would be Very Bad.

--


[Issue 4890] GC.collect() deadlocks multithreaded program.

2014-09-04 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=4890

--- Comment #11 from Sean Kelly  ---
My initial guess is that this has something to do with the changes for critical
regions, as the algorithm for collection before that seemed quite solid.  I'll
try for a repro on my end though.  What would be really useful from whoever
encounters this is to trap it in a debugger and include stack traces of all
relevant threads.  Something has to be blocked on a lock or signal somewhere,
but without knowing which one there's little that can be done.

--


[Issue 6343] std.math.nextPow2

2014-09-04 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=6343

--- Comment #3 from Manu  ---
I figured it was more useful to comment on this existing patch, which is more
comprehensive than my hacks...

--


[Issue 13377] core/sys/posix/syslog.d is in druntime/src but not in druntime/src/import

2014-09-04 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=13377

--- Comment #3 from github-bugzi...@puremagic.com ---
Commit pushed to master at https://github.com/D-Programming-Language/druntime

https://github.com/D-Programming-Language/druntime/commit/ae1d2071b49f5105dfe4dc3c27dc6a7d859b00fa
Merge pull request #938 from sinkuu/missing_import

Issue 13377 - core/sys/posix/syslog.d is in druntime/src but not in
druntime/src/import

--


[Issue 6343] std.math.nextPow2

2014-09-04 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=6343

yebblies  changed:

   What|Removed |Added

 CC||yebbl...@gmail.com

--- Comment #2 from yebblies  ---
(In reply to Manu from comment #1)
> I would also like something like this...
> I've needed it on at least 3 occasions, and each time I check to see if it's
> in the std lib, disappointed it's not, then write my own.

Next time, make a pull request?

--


[Issue 4890] GC.collect() deadlocks multithreaded program.

2014-09-04 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=4890

andrea.9...@gmail.com changed:

   What|Removed |Added

   Keywords||industry
 Status|RESOLVED|REOPENED
 CC||andrea.9...@gmail.com
 Resolution|FIXED   |---
   Severity|normal  |regression

--- Comment #10 from andrea.9...@gmail.com ---
This bug is present in DMD 2.066 on Arch Linux 3.14.17-1-lts x86_64 (GNU libc
2.19).
The code posted originally still deadlocks (and even with j.sleep uncommented,
it never prints a "." which means GC.collect never returns):

import core.thread, core.memory, std.stdio;

class Job : Thread {
 this() {
   super(&run);
 }

 private void run() {
   while (true) write("*");
 }
}

void main() {
 Job j = new Job;
 j.start();

 //j.sleep(dur!"msecs"(1));

 GC.collect();

 while(true) write(".");
}

--


[Issue 13377] core/sys/posix/syslog.d is in druntime/src but not in druntime/src/import

2014-09-04 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=13377

Kenji Hara  changed:

   What|Removed |Added

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

--- Comment #2 from Kenji Hara  ---
(In reply to Kevin L from comment #1)
> I think this pull request will do the job: 
> https://github.com/D-Programming-Language/druntime/pull/945

The PR was merged.

https://github.com/D-Programming-Language/druntime/commit/1c4f4bd554fc02847ad3856e85fb6dd9406e50a1

--


[Issue 13323] UDA applied to import statement causes compilation to fail without error

2014-09-04 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=13323

--- Comment #4 from github-bugzi...@puremagic.com ---
Commit pushed to 2.066 at https://github.com/D-Programming-Language/dmd

https://github.com/D-Programming-Language/dmd/commit/b3ffa9311dfd99b41447399d634cd249261585e8
Merge pull request #3910 from 9rnsr/fix13323

Issue 13323 - UDA applied to import statement causes compilation to fail
without error

--


[Issue 13415] [REG2.066] '-inline' causes wrong enclosing scope pointer for nested function called from templated struct

2014-09-04 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=13415

--- Comment #4 from github-bugzi...@puremagic.com ---
Commit pushed to 2.066 at https://github.com/D-Programming-Language/dmd

https://github.com/D-Programming-Language/dmd/commit/50392a446e7cff03d68edcaed8d472b1772566f5
Merge pull request #3942 from 9rnsr/fix13415

[REG2.066] Issue 13415 - '-inline' causes wrong enclosing scope pointer for
nested function called from templated struct

--


[Issue 13413] dmd does not follow symlink when searching for dmd.conf

2014-09-04 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=13413

--- Comment #3 from github-bugzi...@puremagic.com ---
Commit pushed to 2.066 at https://github.com/D-Programming-Language/dmd

https://github.com/D-Programming-Language/dmd/commit/ad6cd779573a8f2591eaccd7fbacd54cf861661b
Merge pull request #3941 from MartinNowak/fix13413

fix Issue 13413 - dmd does not follow symlink when searching for dmd.conf

--


[Issue 13383] wrong code with -O with ints, longs and bitwise operations

2014-09-04 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=13383

--- Comment #4 from github-bugzi...@puremagic.com ---
Commit pushed to 2.066 at https://github.com/D-Programming-Language/dmd

https://github.com/D-Programming-Language/dmd/commit/d1a3b4e624971de83456d1b1e2a84dc480e54e94
Merge pull request #3934 from yebblies/issue13383

Issue 13383 - wrong code with -O with ints, longs and bitwise operations

--


[Issue 13421] disallow __gshared members without static

2014-09-04 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=13421

--- Comment #4 from Ketmar Dark  ---
Created attachment 1415
  --> https://issues.dlang.org/attachment.cgi?id=1415&action=edit
phobos code cleanup

--


[Issue 13421] disallow __gshared members without static

2014-09-04 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=13421

--- Comment #2 from Ketmar Dark  ---
Created attachment 1413
  --> https://issues.dlang.org/attachment.cgi?id=1413&action=edit
warns on "static __gshared" variables

something like this, heh

--


[Issue 13421] disallow __gshared members without static

2014-09-04 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=13421

--- Comment #3 from Ketmar Dark  ---
Created attachment 1414
  --> https://issues.dlang.org/attachment.cgi?id=1414&action=edit
druntime code cleanup

--


[Issue 13421] disallow __gshared members without static

2014-09-04 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=13421

Ketmar Dark  changed:

   What|Removed |Added

 CC||ket...@ketmar.no-ip.org

--- Comment #1 from Ketmar Dark  ---
after some thinking i started to believe that we should make exactly the
opposite: warn about 'static __gshared' members. '__gshared' implies "one
instance", so 'static __gshared' is excessive and meaningless.

--


[Issue 13422] New: std.ascii has isAlphaNum but std.uni doesn't

2014-09-04 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=13422

  Issue ID: 13422
   Summary: std.ascii has isAlphaNum but std.uni doesn't
   Product: D
   Version: D2
  Hardware: x86_64
OS: Windows
Status: NEW
  Severity: enhancement
  Priority: P1
 Component: Phobos
  Assignee: nob...@puremagic.com
  Reporter: turkey...@gmail.com

std.ascii and std.uni both have isAlpha, and it'd be nice if they both had
isAlphaNum as well.

--


[Issue 13421] New: disallow __gshared members without static

2014-09-04 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=13421

  Issue ID: 13421
   Summary: disallow __gshared members without static
   Product: D
   Version: D2
  Hardware: All
OS: All
Status: NEW
  Severity: enhancement
  Priority: P1
 Component: DMD
  Assignee: nob...@puremagic.com
  Reporter: schue...@gmx.net
CC: briancsch...@gmail.com

It's surprising that __gshared members are implicitly static. Example:

http://forum.dlang.org/thread/dkqsqyatiwbwyrojp...@forum.dlang.org

__gshared members without an explicit `static` should be deprecated with an
appropriate message and later disallowed.

(This would also be an excellent candidate for Brian's dfix.)

--