[Issue 19937] object._d_assert_fail linker error if compiling with -checkaction=context

2020-02-23 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=19937

--- Comment #5 from Mathias LANG  ---
@Seb: Thanks for the pointer. Unfortunately in the Vibe.d case it is nastier,
because the symbol takes a `ref` and a non-ref. Turns out `assert(x > y)` and
`assert(x > 0)` will generate different symbol (the former's second argument is
`ref` while the later is not, being a rvalue).

--


[Issue 19937] object._d_assert_fail linker error if compiling with -checkaction=context

2020-02-23 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=19937

Mathias LANG  changed:

   What|Removed |Added

 CC||pro.mathias.l...@gmail.com

--- Comment #4 from Mathias LANG  ---
I'm seeing this with anything that involves Vibe.d as well, with DMD v2.090.1.

--


[Issue 19937] object._d_assert_fail linker error if compiling with -checkaction=context

2020-02-23 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=19937

Mathias LANG  changed:

   What|Removed |Added

   Hardware|x86_64  |All
 OS|Linux   |All
   Severity|enhancement |major

--


[Issue 20592] [GCC ASM] [ICE] dmd/iasmgcc.d(332): Assertion failure

2020-02-23 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=20592

Dlang Bot  changed:

   What|Removed |Added

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

--- Comment #2 from Dlang Bot  ---
dlang/dmd pull request #10818 "fix Issue 20592 - [ICE] dmd/iasmgcc.d(332):
Assertion failure" was merged into master:

- 449332f9db118b3e23161f97a4d4076afe335c4b by Iain Buclaw:
  fix Issue 20592 - [ICE] dmd/iasmgcc.d(332): Assertion failure

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

--


[Issue 20600] C++ header output `-HC` can't write size_t correctly

2020-02-23 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=20600

--- Comment #2 from Manu  ---
I'm not sure how what you're saying relates to size_t?
I notice that when I use size_t in code, the type seems to be lost; is it just
an alias for a sized integer? It needs to retain the fact that it was specified
as size_t in the AST somehow.

--


[Issue 20603] New: 'cannot use non-constant CTFE pointer in an initializer' in recursive structure with overlap

2020-02-23 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=20603

  Issue ID: 20603
   Summary: 'cannot use non-constant CTFE pointer in an
initializer' in recursive structure with overlap
   Product: D
   Version: D2
  Hardware: All
OS: All
Status: NEW
  Severity: normal
  Priority: P1
 Component: dmd
  Assignee: nob...@puremagic.com
  Reporter: dkor...@live.nl

This does not compile:

```
struct Base {
union {
int overlap;
immutable(Sub)* sub;
}

this(Sub) {
sub = new Sub;
}
}

struct Sub {
Base base;
}

immutable c0 = Base(Sub.init);
```

Error: cannot use non-constant CTFE pointer in an initializer Base(,
(Base(0, __void)))

If you swap the order of the `overlap` and `sub` field, it compiles.
If you change the field in `Sub` to be of a different type than `Base`, it
compiles too.
The exact limitations of CTFE and pointers to the data segment are not clear to
me, but the above behavior is inconsistent and unclear.

--


[Issue 11268] Cannot use non-constant CTFE pointer in an initializer

2020-02-23 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=11268

Dennis  changed:

   What|Removed |Added

   See Also||https://issues.dlang.org/sh
   ||ow_bug.cgi?id=20603

--


[Issue 20602] New: [REG2.086] ICE on wrong code

2020-02-23 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=20602

  Issue ID: 20602
   Summary: [REG2.086] ICE on wrong code
   Product: D
   Version: D2
  Hardware: All
OS: All
Status: NEW
  Severity: regression
  Priority: P1
 Component: dmd
  Assignee: nob...@puremagic.com
  Reporter: johanenge...@weka.io

Before 2.086 this code would simply error. But now it crashes the compiler.
```
import std;

auto ggg(Func)(Func func) { func(); }

nogc foo()() { }

void someOp(T)() {
try { }
catch foo;
try ggg(() => msg);
catch boo;
}

struct S(T) {
T slice() inout { someOp!int(); }
void opAssign()(U) {}
alias slice this;
}

struct ClusterInfo {
@UDA() UUID guid;
@UDA() S!(char) name;
}
```

The original code triggering the crash was much more complex, but the compiler
crashes at the same point. An assert is triggered; with LDC it is this assert:
https://github.com/ldc-developers/ldc/blob/d7b4b7db1cc69b3c3e356eeaf3c136a71fa2f516/dmd/expressionsem.d#L1669

--


[Issue 20602] [REG2.086] ICE on wrong code

2020-02-23 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=20602

johanenge...@weka.io changed:

   What|Removed |Added

   Keywords||ice-on-invalid-code,
   ||industry

--


[Issue 20598] AssertError@dmd/optimize.d(692): Assertion failure

2020-02-23 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=20598

Ketmar Dark  changed:

   What|Removed |Added

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

--


[Issue 20597] [REG2.080] Wrong closure GC allocation with dip1000

2020-02-23 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=20597

Ketmar Dark  changed:

   What|Removed |Added

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

--


[Issue 18716] [ICE] type const(char)[] can not be mapped to C++

2020-02-23 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=18716

Dlang Bot  changed:

   What|Removed |Added

   Keywords||pull

--- Comment #2 from Dlang Bot  ---
@jacob-carlborg updated dlang/dmd pull request #8120 "Fix issue 18716: type
`const(char)[]` can not be mapped to C++" fixing this issue:

- Fix issue 18716: type `const(char)[]` can not be mapped to C++

  D arrays don't have any corresponding type in C++. Instead we mangle
  it as a templated struct with the name `__dslice`, i.e.
  `struct __dslice(T)`, where `T` is the element type of the array. For
  an array of ints it would be mangled as the following type:
  `__dslice!int`.

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

--


[Issue 20600] C++ header output `-HC` can't write size_t correctly

2020-02-23 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=20600

Jacob Carlborg  changed:

   What|Removed |Added

 CC||d...@me.com

--- Comment #1 from Jacob Carlborg  ---
It looks like `core.stdc.config.cpp_size_t` is supposed to be used to get the
correct size and mangling on all platforms. The compiler specially recognizes
`__c_long` and a couple of more symbols related to C and C++ interoperability,
see [1] for all of them.

[1]
https://github.com/dlang/dmd/blob/89d0cd492a5284ab67f665f3014b73905aecb4e2/src/dmd/id.d#L126-L131

--


[Issue 20601] New: [Oh No! Page Not Found]

2020-02-23 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=20601

  Issue ID: 20601
   Summary: [Oh No! Page Not Found]
   Product: D
   Version: D2
  Hardware: All
   URL: http://dlang.org/
OS: All
Status: NEW
  Severity: normal
  Priority: P3
 Component: dlang.org
  Assignee: nob...@puremagic.com
  Reporter: m...@qtrac.eu

Not found:
https://dlang.org/phobos/core_thread.html

Not found (linked from https://dlang.org/phobos/core_time.html Duration:
https://dlang.org/phobos/core_thread.html#.Thread.sleep

--