[Issue 13105] Stack overflow in Fibers running druntime unittests

2015-07-07 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=13105

Rainer Schuetze  changed:

   What|Removed |Added

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

--


[Issue 13105] Stack overflow in Fibers running druntime unittests

2015-07-07 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=13105

--- Comment #3 from Rainer Schuetze  ---
> Is this still a problem?

The affected tests are currently disabled because of issue 13821. If I enable
them I don't see any problems, though my system might have changed in the
meantime.

> I also get a stack overflow with the fiber unittests for Win64 
> if I create a druntime debug build and a collection runs from within 
> the fiber. The recursive calls for GC scanning are too deep then (50).

This is gone aswell as the GC doesn't recurse anymore.

> So how about increasing the default fiber stack size to 64kB - GUARD_PAGE

That sounds good. If memory resources are low or you want a lot of fibers,
multiple fibers could rather share the same 64k block, though.

--


[Issue 2235] false unreachable statement in constructor (-w only, D1 only)

2015-07-07 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=2235

Kenji Hara  changed:

   What|Removed |Added

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

--- Comment #3 from Kenji Hara  ---
D1 is retired.

--


[Issue 13531] Destructor attributes don't take member destructor attributes into account

2015-07-07 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=13531

Kenji Hara  changed:

   What|Removed |Added

   Keywords||diagnostic

--


[Issue 13302] Inline ASM grammar is not left-associative

2015-07-07 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=13302

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

https://github.com/D-Programming-Language/dlang.org/commit/a6f09a274afc0698d3ef033f1343a248b0ec1367
Issue 13302 - Inline ASM grammar is not left-associative

https://github.com/D-Programming-Language/dlang.org/commit/cc6362dd9e618d880a2c6486dbe6fa4c2bc3c992
Merge pull request #859 from Hackerpilot/issue-13302

Issue 13302 - Inline ASM grammar is not left-associative

--


[Issue 13327] Specification of anonymous enum with one member is missed

2015-07-07 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=13327

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

https://github.com/D-Programming-Language/dlang.org/commit/a44766a7e3515f16a77a8a0beba067c70c9a6ce6
Issue 13327 - Clarify manifest constant grammar

https://github.com/D-Programming-Language/dlang.org/commit/72efc23e7b05b56fb31ef0b066e9cebed5d35af4
Merge pull request #858 from Hackerpilot/issue-13327

Issue 13327 - Clarify manifest constant grammar

--


[Issue 14786] New: The built-in exponentiation operator ^^ sometimes returns a value with the wrong sign.

2015-07-07 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=14786

  Issue ID: 14786
   Summary: The built-in exponentiation operator ^^ sometimes
returns a value with the wrong sign.
   Product: D
   Version: D2
  Hardware: x86_64
OS: Linux
Status: NEW
  Severity: minor
  Priority: P1
 Component: druntime
  Assignee: nob...@puremagic.com
  Reporter: thomas.bock...@gmail.com

Negative one raised to any odd power should yield negative one.

However, when using 80-bit real arithmetic, -1 raised to a power greater than
2^^63 and less than 2^^64 yields +1.

This is despite the fact that integers in this range can still (just barely) be
represented without loss of precision by an 80-bit real; even and odd can still
be distinguished.

** Test case that currently fails **
void main(string[] args)
{
real b = -1;
real e = long.max;
e += 2;
assert(e % 2 == 1);
real r = b ^^ e;
assert(r == 1);  // Passes, but shouldn't
assert(r == -1); // Fails, but shouldn't

e = ulong.max;
assert(e % 2 == 1);
r = b ^^ e;
assert(r == 1);  // Passes, but shouldn't
assert(r == -1); // Fails, but shouldn't
}

I have marked this as a D runtime issue since it fails with all of DMD, GDC,
and LDC. However, I couldn't actually find where the ^^ is defined in my quick
search, so I don't know what the fix should look like. I suppose it might even
be a hardware errata in my FPU (Xeon E3-1225 v3)...

--


[Issue 14785] New: Some corner cases are not handled properly by core.checkedint.

2015-07-07 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=14785

  Issue ID: 14785
   Summary: Some corner cases are not handled properly by
core.checkedint.
   Product: D
   Version: D2
  Hardware: x86_64
OS: Linux
Status: NEW
  Severity: normal
  Priority: P1
 Component: druntime
  Assignee: nob...@puremagic.com
  Reporter: thomas.bock...@gmail.com

** Test cases that currently fail **

import core.checkedint;
void main(string[] args)
{
bool overflow = false;
assert(subs(-1L, long.min, overflow) == long.max);
assert(!overflow); // Assertion failure

overflow = false;
assert(muls(-1L, long.min, overflow) == long.min); // FPE
assert(overflow);
}

** Proposed fix **

long subs(long x, long y, ref bool overflow)
{
long r = cast(ulong)x - cast(ulong)y;
if (x <  0 && y >= 0 && r >= 0 ||
x >= 0 && y <  0 && (r <  0 || y == long.min))
overflow = true;
return r;
}

long muls(long x, long y, ref bool overflow)
{
long r = cast(ulong)x * cast(ulong)y;
enum not0or1 = ~1L;
if((x & not0or1) && ((r == y)? r : (r / x) != y))
overflow = true;
return r;
}

--


[Issue 14529] Bug in Regex case insensitive match

2015-07-07 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=14529

David Soria Parra  changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution|--- |FIXED

--


[Issue 14767] Support CTFE of BigInt

2015-07-07 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=14767

--- Comment #3 from Paul D. Anderson  ---
I changed the hardware setting from x86_64 to x86.

Paul

--


[Issue 14767] Support CTFE of BigInt

2015-07-07 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=14767

Paul D. Anderson  changed:

   What|Removed |Added

   Hardware|x86_64  |x86

--- Comment #2 from Paul D. Anderson  ---
Could we add a version or a compiler flag that would force use the
.biguintnoasm version for the x86 also? That seems like an innocuous change
that could be easily implemented.

Paul

--


[Issue 14522] Postfix array declaration examples should be removed from arrays.html

2015-07-07 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=14522

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

https://github.com/D-Programming-Language/dlang.org/commit/2403104de1b2249ebddacf11e3a988c5b5ed77d0
Fix issue 14522

https://github.com/D-Programming-Language/dlang.org/commit/5b0cb31a064d8c705f774421e7248d12db9b3f80
Merge pull request #985 from nomad-software/issue_14522

Issue 14522 - Postfix array declaration examples should be removed from
arrays.html

--


[Issue 14522] Postfix array declaration examples should be removed from arrays.html

2015-07-07 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=14522

github-bugzi...@puremagic.com changed:

   What|Removed |Added

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

--


[Issue 14579] [SPEC] No specification on modifiers in TypeDelegate symbols

2015-07-07 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=14579

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

https://github.com/D-Programming-Language/dlang.org/commit/5cf9d84051e3e6537392985a5bddeef8d804dc62
fix Issue 14579 - [SPEC] No specification on modifiers in TypeDelegate symbols

https://github.com/D-Programming-Language/dlang.org/commit/0995b3119457a6ac410d2cd8c45f9317fd4201a7
Merge pull request #996 from 9rnsr/fix14579

Issue 14579 - [SPEC] No specification on modifiers in TypeDelegate symbols

--


[Issue 14579] [SPEC] No specification on modifiers in TypeDelegate symbols

2015-07-07 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=14579

github-bugzi...@puremagic.com changed:

   What|Removed |Added

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

--


[Issue 12072] Regex article needs update

2015-07-07 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=12072

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

https://github.com/D-Programming-Language/dlang.org/commit/36d532bc55d67dc50b7b6a65a08da6739e471c03
Fix issue 12072 ; act on the review feedback

--


[Issue 12072] Regex article needs update

2015-07-07 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=12072

github-bugzi...@puremagic.com changed:

   What|Removed |Added

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

--


[Issue 14784] New: Variant and Proxy don't get along

2015-07-07 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=14784

  Issue ID: 14784
   Summary: Variant and Proxy don't get along
   Product: D
   Version: D2
  Hardware: x86_64
OS: Linux
Status: NEW
  Severity: normal
  Priority: P1
 Component: phobos
  Assignee: nob...@puremagic.com
  Reporter: r...@rcorre.net

Created attachment 1530
  --> https://issues.dlang.org/attachment.cgi?id=1530&action=edit
Test case for using Variant and Proxy

If a struct forwards access to a member via Proxy, assignment to a Variant
fails:

-

import std.typecons, std.variant;

struct Foo { int f; }

struct Bar {
  private Foo foo;
  mixin Proxy!foo;

  int b;
}

unittest {
  Bar b;
  Variant v = b;
}

-
/usr/include/dlang/dmd/std/typecons.d(4432): Error: e2ir: cannot cast this.foo
of type Foo to type string

Using `alias this` instead of Proxy alleviates the issue (but I must make foo
non-private for alias this, hence my desire to use Proxy).

--


[Issue 14783] New: Overlapping Arrays with Binary Operations on Itself

2015-07-07 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=14783

  Issue ID: 14783
   Summary: Overlapping Arrays with Binary Operations on Itself
   Product: D
   Version: D2
  Hardware: All
OS: All
Status: NEW
  Severity: enhancement
  Priority: P1
 Component: dmd
  Assignee: nob...@puremagic.com
  Reporter: john.michael.h...@gmail.com

The code below will not compile (on DMD 2.067.1) due to an overlapping array
error. 

void main()
{
int[] x = [0, 1, 2];
x[] *= x[];
}

Neither will it compile with x[] += x[];. 

Normally an overlapping error is when you try to do something like
x[1..$] *= x[0..$-1];
However, in this case, there is exact matching. The compiler should be able to
detect when it is a case like this and handle it appropriately.

Original discussion here:
http://forum.dlang.org/thread/xplooifwemzdtyigc...@forum.dlang.org

--


[Issue 14782] New: Internal error: backend/cod1.c

2015-07-07 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=14782

  Issue ID: 14782
   Summary: Internal error: backend/cod1.c
   Product: D
   Version: D2
  Hardware: x86_64
OS: Linux
Status: NEW
  Severity: normal
  Priority: P1
 Component: dmd
  Assignee: nob...@puremagic.com
  Reporter: yazan.dab...@gmail.com

struct Foo
{
void* a;
int b;
}

int fun()
{
return 0;
}

auto process(fun...)()
{
Foo[fun.length] a;
return a;
}

void main()
{
Foo[1] output = process!fun();
}

--

Compiling the above using dmd 2.067.1 produces: `Internal error: backend/cod1.c
1713`
Compiling using dmd 2.068.0-b1 produces: `Internal error: backend/cod1.c 1711`

No flags are necessary to reproduce.

--


[Issue 14771] Hidden @nogc violation around closure creation

2015-07-07 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=14771

--- Comment #1 from Kenji Hara  ---
Issue 5730 is also related with the closure handling timing.

--


[Issue 5730] __traits(compiles) does not handle "variable has scoped destruction, cannot build closure" error correctly

2015-07-07 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=5730

Kenji Hara  changed:

   What|Removed |Added

   Hardware|Other   |All
 OS|Linux   |All

--- Comment #5 from Kenji Hara  ---
(In reply to Max Samukha from comment #2)
> No, no. The bug is not about the impossibility to build a closure. It is
> about __traits(compiles) not handling the compilation error properly. It
> should suppress the error and evaluate to false.  

Today, a delegate literal in __traits(compiles) does not make the outer
function closure, because the delegate is just a thing only in compile time.

I'd provide better example code:

struct S
{
~this() {}
}

void main()
{
enum r = __traits(compiles, {
auto madeClosure()
{
S s;
auto dg = { auto s1 = s; };
return dg;
}
});
static assert(!r);  // line 1
}

The madeClosure function will be made a closure, because the dg that refers
local variable s will escape from that. Then the "has scoped destruction..."
error needs to be captured by the __traits(compile) and r should be false.

--


[Issue 14781] impure delegate to pure function context should be able to modify context

2015-07-07 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=14781

--- Comment #1 from Kenji Hara  ---
Thanks.

--


[Issue 7516] Postblit not called for structs returned from a ternary operator

2015-07-07 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=7516

Kenji Hara  changed:

   What|Removed |Added

   Keywords||pull

--- Comment #6 from Kenji Hara  ---
https://github.com/D-Programming-Language/dmd/pull/4805

--


[Issue 9148] 'pure' is broken

2015-07-07 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=9148

--- Comment #22 from Steven Schveighoffer  ---
(In reply to Kenji Hara from comment #21)

> Oh, it sounds very reasonable. Could you please open a new issue to fix the
> current unnecessarily tight behavior?

https://issues.dlang.org/show_bug.cgi?id=14781

--


[Issue 14781] New: impure delegate to pure function context should be able to modify context

2015-07-07 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=14781

  Issue ID: 14781
   Summary: impure delegate to pure function context should be
able to modify context
   Product: D
   Version: D2
  Hardware: All
OS: All
Status: NEW
  Severity: enhancement
  Priority: P1
 Component: dmd
  Assignee: nob...@puremagic.com
  Reporter: schvei...@yahoo.com

In a followup to issue 9148, which made this illegal:

int impureFuncCall() { static int g; return g; }
auto foo(out int delegate() pure pureDg) pure {
int x;
auto bar()() {
impureFuncCall();
x = 1;  // Error: impure function 'bar' cannot access variable 'x'
// declared in enclosing pure function 'foo'
}

pureDg = &(bar!());

int dg() pure { return x;}
return &dg;
}


This should be allowed. This doesn't violate purity of the returned delegate
because the context pointer is mutable -- it's weak pure.

This is similar to how a class can have pure and impure functions both
accessing the same data.

--


[Issue 14780] Non-intuitive behavior for pointers to aggregates defining opSlice

2015-07-07 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=14780

Steven Schveighoffer  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 CC||schvei...@yahoo.com
 Resolution|--- |INVALID

--- Comment #2 from Steven Schveighoffer  ---
Yeah, this definitely isn't valid. You need a wrapper around the pointer to
properly forward.

--


[Issue 9148] 'pure' is broken

2015-07-07 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=9148

--- Comment #21 from Kenji Hara  ---
> It's not that much different from a class with two
> member functions, one pure and one not pure.

Oh, it sounds very reasonable. Could you please open a new issue to fix the
current unnecessarily tight behavior?

--


[Issue 14780] Non-intuitive behavior for pointers to aggregates defining opSlice

2015-07-07 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=14780

ag0ae...@gmail.com changed:

   What|Removed |Added

 CC||ag0ae...@gmail.com

--- Comment #1 from ag0ae...@gmail.com ---
Currently, operator overloads don't go through pointers. I.e., this isn't
unique to opSlice.

Only letting opSlice go through pointers would be silly, in my opinion. Doing
it for all operators would be quite a change and should be well thought out.

--


[Issue 14746] [REG2.068a] Behavior change with struct destructor and alias this

2015-07-07 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=14746

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

https://github.com/D-Programming-Language/druntime/commit/1a2290b1c36f8cdf66a9c4ce388b6a4b38ff9735
fix Issue 14746 - Behavior change with struct destructor and alias this

https://github.com/D-Programming-Language/druntime/commit/2f087248923ad77014259a52695f3abda076c206
Merge pull request #1312 from 9rnsr/fix14746

https://github.com/D-Programming-Language/druntime/commit/c8518f5b62ae501ea740bc1b1996230c9927c70f
fix Issue 14746 for postblitRecurse as well

https://github.com/D-Programming-Language/druntime/commit/e0f2ca65b719fcc94dbd484bb9a8a0fe219ef806
Merge pull request #1313 from MartinNowak/fix14746

--


[Issue 14178] C++ linux name mangling does not handle standard abbreviations for const types

2015-07-07 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=14178

--- Comment #5 from Guillaume Chatelet  ---
I expect it to take quite some time for me to have it right.
This might be worth submitting you fix meanwhile.

--


[Issue 14778] ddoc doesnt generate code for enum in template struct

2015-07-07 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=14778

Kenji Hara  changed:

   What|Removed |Added

   Keywords||ddoc, pull
   Hardware|x86_64  |All
 OS|Linux   |All

--- Comment #1 from Kenji Hara  ---
https://github.com/D-Programming-Language/dmd/pull/4802

--


[Issue 788] Compiler rejects hex floats in the format: HexPrefix HexDigits . HexDigits(opt) with binary-exponent-part required

2015-07-07 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=788

--- Comment #4 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/fda62efe0f526e8272dfcc47a4cc7c68f5419569
Ignore real pad in core.internal.convert unittest

Change unittest to ignore any pad bytes in a floating point type because
those bits are undefined. Fixes test part of ldc issue #788.

--


[Issue 14178] C++ linux name mangling does not handle standard abbreviations for const types

2015-07-07 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=14178

--- Comment #4 from David Soria Parra  ---
I have a hacky implementation for that particular issue, but if you rewritting
the mangeling code it might hold off.

--


[Issue 14588] [REG2.067] undefined reference error while linking with -debug option to a static library.

2015-07-07 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=14588

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

https://github.com/D-Programming-Language/dmd/commit/f67af18cd4f4c69eff63a72618e7ba5cc031753d
Merge pull request #4787 from 9rnsr/fix14588

[REG2.067] Issue 14588 - undefined reference error while linking with -debug
option to a static library

--


[Issue 14754] [REG2.068b1] 64bit wrong code with -inline

2015-07-07 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=14754

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

https://github.com/D-Programming-Language/dmd/commit/22e27f5d84dc39d005106303986d91525e2834bf
Merge pull request #4795 from 9rnsr/fix14754

[REG2.068b1] Issue 14754 - 64bit wrong code with -inline

--


[Issue 14753] pragma(inline) hides the alias "string"

2015-07-07 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=14753

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

https://github.com/D-Programming-Language/dmd/commit/cbab6d6303783a22ee65a5a1e777a50d038133fa
Merge pull request #4793 from 9rnsr/fix14753

Issue 14753 - pragma(inline) hides the alias "string"

--


[Issue 14779] incorrect addressing of arguments in require/in-contract

2015-07-07 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=14779

Kenji Hara  changed:

   What|Removed |Added

   Keywords||pull
   Hardware|x86_64  |All
 OS|Linux   |All

--- Comment #2 from Kenji Hara  ---
https://github.com/D-Programming-Language/dmd/pull/4803

--


[Issue 14178] C++ linux name mangling does not handle standard abbreviations for const types

2015-07-07 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=14178

--- Comment #3 from Guillaume Chatelet  ---
Many things are broken with the current implementation : template
substitutions, abbreviations. I'm rewriting the mangling code but it's quite
complicated.

The test suite is pretty incomplete too, this is the first thing I want to fix.

--


[Issue 14178] C++ linux name mangling does not handle standard abbreviations for const types

2015-07-07 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=14178

David Soria Parra  changed:

   What|Removed |Added

 CC||d...@experimentalworks.net

--- Comment #2 from David Soria Parra  ---
I think we aren't handling the optional CV-qualifier [0] correctly.

[0] http://mentorembedded.github.io/cxx-abi/abi.html#mangle.type

--


[Issue 14750] druntime/test/coverage was added to druntime, but not to the MANIFEST - zip file broken again

2015-07-07 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=14750

--- Comment #6 from Martin Nowak  ---
(In reply to Walter Bright from comment #5)
> It fails because the files necessary are not there. What's the point of
> having a MANIFEST if it is only a subset of the manifest?

Exactly, let's delete MANIFEST. The question is why you need it or the zip
rule.
We could replace the rule with
git archive --format=zip HEAD > druntime.zip
or
zip druntime.zip $(git ls-files)
depending on whether or not modified working dir files should end up in the
zip.

--


[Issue 14780] New: Non-intuitive behavior for pointers to aggregates defining opSlice

2015-07-07 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=14780

  Issue ID: 14780
   Summary: Non-intuitive behavior for pointers to aggregates
defining opSlice
   Product: D
   Version: D2
  Hardware: All
OS: All
Status: NEW
  Severity: enhancement
  Priority: P1
 Component: dmd
  Assignee: nob...@puremagic.com
  Reporter: briancsch...@gmail.com

```
struct HasOpSlice
{
int opSlice() { return 10; }
}

void main()
{
HasOpSlice* pointer;
int i = pointer[];
}
```

test.d(9): Error: need upper and lower bound to slice pointer

I'd like for this to Just Work(tm). I don't have any good ideas for how to make
this behave consistently in the case that there's an opSlice that takes two
arguments.

--


[Issue 14779] incorrect addressing of arguments in require/in-contract

2015-07-07 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=14779

--- Comment #1 from Kenji Hara  ---
Introduced in:
https://github.com/D-Programming-Language/dmd/pull/4788

And, I found a long-standing wrong-code issue with out-contract, which the root
issue would be same with.

class Foo
{
final @property void value(int val)
  //in  { assert(val == 0); }
out { assert(val == 0); }   // assertion fails
body
{
}
}

void main()
{
auto foo = new Foo();
foo.value = 0;
}

--


[Issue 9133] std.datetime: Cannot implicitly convert const(SysTime) to SysTime

2015-07-07 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=9133

Jonathan M Davis  changed:

   What|Removed |Added

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

--- Comment #2 from Jonathan M Davis  ---
I don't know when this was fixed, but it works with the current dmd master.

--


[Issue 13105] Stack overflow in Fibers running druntime unittests

2015-07-07 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=13105

--- Comment #2 from Martin Nowak  ---
Is this still a problem?

--


[Issue 14779] New: incorrect addressing of arguments in require/in-contract

2015-07-07 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=14779

  Issue ID: 14779
   Summary: incorrect addressing of arguments in
require/in-contract
   Product: D
   Version: D2
  Hardware: x86_64
OS: Linux
Status: NEW
  Keywords: wrong-code
  Severity: regression
  Priority: P1
 Component: dmd
  Assignee: nob...@puremagic.com
  Reporter: c...@dawg.eu

cat > bug.d << CODE
class Foo
{
final @property void value(int val)
in
{
assert(val == 0);
}
body
{
}
}

void main()
{
auto foo = new Foo();
foo.value = 0;
}
CODE

dmd -run bug


core.exception.AssertError@bug.d(6): Assertion failure


Seems like the addressing the require function (in contract) is wrong.
This only affects master, not 2.068.0-b1.

Old ASM:

mov qword ptr [rbp-10H], rdi; 0008 _ 48: 89. 7D, F0
mov dword ptr [rbp-8H], esi ; 000C _ 89. 75, F8
lea rdi, [rbp-10H]  ; 000F _ 48: 8D. 7D, F0
call_D3bug3Foo5valueMFNdiZ9__requireMFZv; 0013 _ E8,
(rel)

_D3bug3Foo5valueMFNdiZ9__requireMFZv PROC
pushrbp ;  _ 55
mov rbp, rsp; 0001 _ 48: 8B. EC
sub rsp, 16 ; 0004 _ 48: 83. EC, 10
cmp dword ptr [rdi+8H], 0   ; 0008 _ 83. 7F, 08, 00

New ASM:

mov qword ptr [rbp-10H], rdi; 0008 _ 48: 89. 7D, F0
mov dword ptr [rbp-8H], esi ; 000C _ 89. 75, F8
call_D3bug3Foo5valueMFNdiZ9__requireMFZv; 000F _ E8,
(rel)

_D3bug3Foo5valueMFNdiZ9__requireMFZv PROC
pushrbp ;  _ 55
mov rbp, rsp; 0001 _ 48: 8B. EC
sub rsp, 16 ; 0004 _ 48: 83. EC, 10
mov qword ptr [rbp-8H], rdi ; 0008 _ 48: 89. 7D, F8
cmp dword ptr [rbp], 0  ; 000C _ 83. 7D, 00, 00

--