[Issue 14020] [ICE] generateEmptyFunction(C, func...) is unsupported parameter for C++ template, from typecons.BlackHole

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

Iain Buclaw  changed:

   What|Removed |Added

 CC||ibuc...@gdcproject.org

--- Comment #1 from Iain Buclaw  ---
Error is now:

Internal Compiler Error: C++ generateEmptyFunction(C, func...) template alias
parameter is not supported


The compiler exits gracefully, but the diagnostic means it should have been
caught earlier.

--


[Issue 13667] ICE with inout and alias this

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

Iain Buclaw  changed:

   What|Removed |Added

 CC||ibuc...@gdcproject.org

--- Comment #1 from Iain Buclaw  ---
More specifically, stack overflow.

--


[Issue 6523] Vector slice assign of a struct with opAssign

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

Iain Buclaw  changed:

   What|Removed |Added

 Status|RESOLVED|REOPENED
 Resolution|DUPLICATE   |---

--- Comment #2 from Iain Buclaw  ---
Oops, wrong bug.

--


[Issue 9327] alias this declaration and unknown identifiers lead to segmentation fault

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

Iain Buclaw  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 CC||ibuc...@gdcproject.org
 Resolution|--- |DUPLICATE

--- Comment #2 from Iain Buclaw  ---
Fixed by https://github.com/dlang/dmd/pull/6969

*** This issue has been marked as a duplicate of issue 17380 ***

--


[Issue 17380] Compiler segfaults on undefined symbol

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

Iain Buclaw  changed:

   What|Removed |Added

 CC||tvwhit...@gmail.com

--- Comment #7 from Iain Buclaw  ---
*** Issue 9327 has been marked as a duplicate of this issue. ***

--


[Issue 6523] Vector slice assign of a struct with opAssign

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

Iain Buclaw  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 CC||ibuc...@gdcproject.org
 Resolution|--- |DUPLICATE

--- Comment #1 from Iain Buclaw  ---
Fixed by https://github.com/dlang/dmd/pull/6969

*** This issue has been marked as a duplicate of issue 17380 ***

--


[Issue 17380] Compiler segfaults on undefined symbol

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

Iain Buclaw  changed:

   What|Removed |Added

 CC||bearophile_h...@eml.cc

--- Comment #6 from Iain Buclaw  ---
*** Issue 6523 has been marked as a duplicate of this issue. ***

--


[Issue 6401] infinite loop with -inline in gflow.c:accumaecpx

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

--- Comment #6 from Iain Buclaw  ---
Somewhat reduced test:
---
enum LIBRARY
{
GTK
}

struct Linker
{
static void link(T)(ref T funct, string symbol, LIBRARY[] libraries ...)
{
}
}

static this()
{
static foreach(i; 0 .. 10_000)
Linker.link(somefunc, "somefunc", LIBRARY.GTK);
}

void function() c_somefunc;
alias c_somefunc  somefunc;
---

To prove that this isn't too much of a contrived test, I checked the compile
times of other compilers.

dmd -O -release -inline | 3 minutes 12 seconds.
gdc -O2 -frelease   | 6 seconds.
ldc -O2 -release| 8 seconds.


Actually, the dmd compiler segfaults, I assume because I managed to hit a stack
overflow.

--


[Issue 13919] typeof(T.init[].front.init) crashes compiler for T = std.container.Array!int

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

Nathan S.  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 CC||n8sh.second...@hotmail.com
 Resolution|--- |WORKSFORME

--- Comment #2 from Nathan S.  ---
Verified working with DMD v2.082.0.

--


[Issue 13687] Virtual call in the interface's precondition is dispatched to the wrong vtbl entry

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

Nathan S.  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 CC||n8sh.second...@hotmail.com
 Resolution|--- |WORKSFORME

--- Comment #1 from Nathan S.  ---
Tested with DMD 2.082.0. Program output was "42" as desired.

--


[Issue 13549] Local functions don't take outer function attributes

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

Nathan S.  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 CC||n8sh.second...@hotmail.com
 Resolution|--- |WORKSFORME

--- Comment #2 from Nathan S.  ---
Tested with DMD 2.082.0. Example code compiles without error.

--


[Issue 13466] Refused Tuple.Types syntax in some cases

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

Nathan S.  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 CC||n8sh.second...@hotmail.com
 Resolution|--- |WORKSFORME

--- Comment #1 from Nathan S.  ---
Tested with DMD 2.082.0. Example code compiles without error.

--


[Issue 13453] Allow appending string literal to any width string

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

Nathan S.  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 CC||n8sh.second...@hotmail.com
 Resolution|--- |WORKSFORME

--- Comment #1 from Nathan S.  ---
Tested with DMD 2.082.0. The feature works as desired.

--


[Issue 13051] Cannot use function literal inside struct initializer

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

Jonathan Marler  changed:

   What|Removed |Added

 Resolution|WORKSFORME  |FIXED

--- Comment #3 from Jonathan Marler  ---
Thanks for checking Nathan.  I just tried this as well, works on dmd 2.082, but
not 2.079, so something must have come in between those 2 version to fix this.

--


[Issue 13318] Error: cannot have e.tuple

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

Nathan S.  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 CC||n8sh.second...@hotmail.com
 Resolution|--- |WORKSFORME

--- Comment #1 from Nathan S.  ---
Working as of DMD v2.082.0.

--


[Issue 6401] infinite loop with -inline in gflow.c:accumaecpx

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

--- Comment #5 from Iain Buclaw  ---
I can't reproduce an infinite loop, but...

$ time ../../generated/linux/release/64/dmd -v -release -O -inline -m64 -Isrc
-c src/gtkc/gtk.d 
real1m38.327s
user1m37.710s
sys 0m0.512s


Getting close to two minutes compilation time.

--


[Issue 6401] infinite loop with -inline in gflow.c:accumaecpx

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

Iain Buclaw  changed:

   What|Removed |Added

 CC||ibuc...@gdcproject.org

--- Comment #4 from Iain Buclaw  ---
Some notes for Walter.

The bottleneck is the `static this()` in gtk.d starting line 36.

This function itself is over 3800 lines long.

Notable problematic functions.

1. dmd/backend/gflow.d: initDNunambigVectors()

This function is a massive bottleneck, as you're effectively doing:
---
// In initDNunambigVectors()
foreach (uint i; 0 .. go.deftop)
{
   // In fillInDNunambig()
   foreach (uint i; 0 .. go.deftop)
   {
  // ...
   }
}
---

In the unreduced test, go.deftop = 25144.  You are also calling this function
twice in dmd/backend/go.d:optfunc.  The main entrypoint being constprop().


2. dmd/backend/gother.d: accumda()

Suffers from a similar problem.  It is recursively called 25144 times in the
OTbinary path.


3. dmd/backend/gflow.d: accumaecpx():

Likewise, it is recursively called

- 56572 times in the first iteration (before accumda).
- 28286 times in a second iteration (after accumda).


4. dmd/backend/gdag.d: aewalk():

Likewise, it is recursively called 50287 times.

--


[Issue 13106] Auto ref error when using argument tuple in non-template function

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

Nathan S.  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 CC||n8sh.second...@hotmail.com
 Resolution|--- |INVALID

--- Comment #1 from Nathan S.  ---
This isn't related to tuples. This won't compile because only function
templates may have `auto ref` parameters.
https://dlang.org/spec/template.html#auto-ref-parameters

--


[Issue 13051] Cannot use function literal inside struct initializer

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

Nathan S.  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 CC||n8sh.second...@hotmail.com
 Resolution|--- |WORKSFORME

--- Comment #2 from Nathan S.  ---
Tested the code in the bug report. It compiles fine.

--


[Issue 8859] Solaris port of the toolchain

2018-10-10 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=8859
Issue 8859 depends on issue 13048, which changed state.

Issue 13048 Summary: Solaris no longer needs -mt during linking
https://issues.dlang.org/show_bug.cgi?id=13048

   What|Removed |Added

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

--


[Issue 13048] Solaris no longer needs -mt during linking

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

Nathan S.  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 CC||n8sh.second...@hotmail.com
 Resolution|--- |FIXED

--- Comment #2 from Nathan S.  ---
Fixed by PR #3718 but not auto-closed.

--


[Issue 18089] AArch64: Need Quadruple float support in CTFE hashOf / core.internal.convert.parse

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

Nathan S.  changed:

   What|Removed |Added

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

--


[Issue 18089] AArch64: Need Quadruple float support in CTFE hashOf / core.internal.convert.parse

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

Nathan S.  changed:

   What|Removed |Added

 CC||n8sh.second...@hotmail.com

--- Comment #4 from Nathan S.  ---
Fixed by https://github.com/dlang/druntime/pull/2257

--


[Issue 19298] C preprocessor directive is not supported - confusing warning message

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

Vladimir Panteleev  changed:

   What|Removed |Added

   Keywords||diagnostic

--


[Issue 19298] New: C preprocessor directive is not supported - confusing warning message

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

  Issue ID: 19298
   Summary: C preprocessor directive is not supported - confusing
warning message
   Product: D
   Version: D2
  Hardware: All
OS: All
Status: NEW
  Severity: normal
  Priority: P1
 Component: dmd
  Assignee: nob...@puremagic.com
  Reporter: freeslav...@gmail.com

Having a file

/**
 * ---
# Comment
 * ---
*/

void main()
{

}

Trying to get documentation as
dmd -o- -w -Dddocs main.d

Leads to the warning

(1): Warning: C preprocessor directive #Comment is not supported

I understand that it's supposed to be a valid D code inside DDoc comment, but
dmd should at least report the file name where error happened. Also the meaning
of the number in parentheses is not obvious.

I found a similar issue https://issues.dlang.org/show_bug.cgi?id=18836 marked
as solved but dmd needs improvements on reporting this error: report the file
name and position of so-called directive in the code, so users could find the
cause of warning.

--


[Issue 6777] alias this disables casting for classes

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

--- Comment #13 from Steven Schveighoffer  ---
(In reply to Walter Bright from comment #12)
> The problem comes from the idea that having an alias this means that
> operations not supported by the class get forwarded to the alias this. Since
> opCast() can override what explicit casts do for a class reference, the
> alias this needs to be respected (even if it doesn't provide an opCast(), it
> still can be cast).

But the only mechanism to use dynamic casting is to cast to the requested type.
This is expected functionality in the class instance, and in my opinion,
default functionality should override any alias this functionality.

Same thing with cast(void *). This is expected functionality.

I don't know of any other mechanism that overrides existing functionality from
an alias this'd type, especially when that functionality is not intentionally
specified.

For example, I would be really surprised if you had:

struct S
{
   int x;
}

struct T
{
   int y;
   S s;
   alias s this;
}

auto t = T(5, S(2));

and this failed because it's trying to call the S implicit constructor instead
of the T implicit constructor.

--


[Issue 19297] JSONValue of signed and unsigned equal values is not equal

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

FeepingCreature  changed:

   What|Removed |Added

   Severity|enhancement |normal

--


[Issue 19297] New: JSONValue of signed and unsigned equal values is not equal

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

  Issue ID: 19297
   Summary: JSONValue of signed and unsigned equal values is not
equal
   Product: D
   Version: D2
  Hardware: x86_64
OS: Linux
Status: NEW
  Severity: enhancement
  Priority: P1
 Component: phobos
  Assignee: nob...@puremagic.com
  Reporter: default_357-l...@yahoo.de

Repro:

assert(JSONValue([].length) == JSONValue(0));

JSONValue treats them as two different types because one is signed and one is
unsigned. Which is of course nonsense and against spec. JSON doesn't even have
unsigned types; strictly speaking you're supposed to just use doubles for ints,
like JS does. But if there have to be integers in JSONValue, they should work
with doubles, and they *certainly* should work with *themselves*.

--


[Issue 18015] [Reg 2.075] link failure unknown [0] section `' in group [.group]

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

--- Comment #7 from Ludovit Lucenic  ---
Hello guys,

if this is of any help, I found out, that commenting out
> align(8)
from before the definition of
> struct Json
in vibe.d's vibe.data.json module fixes the linkage.

Anyway, value of align(1,2,4) will just work; values from 8 through 128 break
the linkage.


---
Correction to above comments (dash instead of dot):
`> dub fetch vibe-d --version=0.7.32`

--


[Issue 19296] ICE on Unknown member type in struct returned from function

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

Simen Kjaeraas  changed:

   What|Removed |Added

   Keywords||ice
 CC||simen.kja...@gmail.com
Summary|CTFE internal error:|ICE on Unknown member type
   |ErrorExp|in struct returned from
   ||function

--- Comment #1 from Simen Kjaeraas  ---
Reduced:

S[] arr = [s()];

S s() {
return S.init;
}

struct S {
UnknownType fail;
}

--


[Issue 19296] New: CTFE internal error: ErrorExp

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

  Issue ID: 19296
   Summary: CTFE internal error: ErrorExp
   Product: D
   Version: D2
  Hardware: x86_64
OS: Windows
Status: NEW
  Severity: major
  Priority: P1
 Component: dmd
  Assignee: nob...@puremagic.com
  Reporter: mrsmit...@yandex.ru

Non-reduced code
https://gist.github.com/MrSmith33/d8b2ecdbab7b16aa1f1238959e8b78a0



Error: CTFE internal error: ErrorExp in `D:\bug_dmd.d(2932)`

---
ERROR: This is a compiler bug.
Please report it via https://issues.dlang.org/enter_bug.cgi
with, preferably, a reduced, reproducible example and the information below.
DustMite (https://github.com/CyberShadow/DustMite/wiki) can help with the
reduction.
---
DMD v2.082.0

predefs   DigitalMars Windows LittleEndian D_Version2 all D_SIMD
D_InlineAsm_X86_64 X86_64 Win64 CRuntime_Microsoft D_LP64 unittest assert
D_ModuleInfo D_Exceptions D_TypeInfo D_HardFloat
binaryC:\Soft\dmd2\windows\bin\dmd.exe
version   v2.082.0

configC:\Soft\dmd2\windows\bin\sc.ini
DFLAGS-IC:\Soft\dmd2\windows\bin\..\..\src\phobos
-IC:\Soft\dmd2\windows\bin\..\..\src\druntime\import -L/OPT:NOICF
---

object.Error@(0): Illegal Instruction

0x004483DC
0x004B2662
0x00406B8E
0x00593561
0x004488B1
0x005786E2
0x004E227C
0x00682FC7
0x0045CC1F
0x77E82309 in RtlRandom
0x00582D31
0x77E77614 in RtlAllocateHeap

--