[Issue 1117] ddoc generates corrupted docs if code examples contain attributes with colons

2020-05-18 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=1117

--- Comment #6 from Dlang Bot  ---
dlang/dub pull request #1946 "Make the testsuite re-runnable on OSX" was merged
into master:

- ad164ef26ce226e269352fe828727632c4f4b40e by Geod24:
  testsuite: Make issue1117 test re-runnable

  It's the little things in life, like being able to re-run your test-suite
  on your own machine, that makes the greatest joy.

https://github.com/dlang/dub/pull/1946

--


[Issue 1091] Wrong size reserved for critical sections

2020-05-18 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=1091

--- Comment #3 from Dlang Bot  ---
dlang/dub pull request #1946 "Make the testsuite re-runnable on OSX" was merged
into master:

- d51ae6b8bccea6d91c0c18e16c5326d83de56b44 by Geod24:
  testsuite: Make test for issue1091 re-runnable

  After the initial run, one couldn't run this test again as the expected
message
  'building configuration' would not be printed anymore.

https://github.com/dlang/dub/pull/1946

--


[Issue 20825] the filename of the error messages generated by dmd build.d script miss the "src/" part of the path

2020-05-18 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=20825

Dlang Bot  changed:

   What|Removed |Added

 Resolution|WONTFIX |FIXED

--- Comment #2 from Dlang Bot  ---
dlang/dmd pull request #11157 "Fix issue 20825: paths in error messages from
build.d should be click…" was merged into master:

- 3931e7e23dab87522d081cdc5a0c140995177fdc by MoonlightSentinel:
  Fix issue 20825: paths in error messages from build.d should be clickable

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

--


[Issue 313] [module] Fully qualified names bypass private imports

2020-05-18 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=313

Witold Baryluk  changed:

   What|Removed |Added

 CC||witold.barylu...@gmail.com

--


[Issue 20838] on modern (x86_64) CPUs, dmd emit cmpxchg8b instead of CMPXCHG16B

2020-05-18 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=20838

--- Comment #13 from mw  ---
> you need to manually take care of required 16-bytes alignment:
> align(16) shared(N) n; // or `align(2 * size_t.sizeof)`

Thank you again!

(I'm a newbie to D, not sure where is the best place to continue discuss this?
pls let me know.)


BUT: can the DMD compiler (after seeing the 'cas' call) take care of this
alignment? either silently, or issue an warning message to the programmer?

Can I log another bug for this suggestion of DMD compiler improvement?

The current behavior that I just discovered is definitely a puzzle for a D
newbie like me. With a smarter compiler, it will help new users.

--


[Issue 20838] on modern (x86_64) CPUs, dmd emit cmpxchg8b instead of CMPXCHG16B

2020-05-18 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=20838

--- Comment #12 from kinke  ---
(In reply to mw from comment #11)
> Can you try if you can reproduce this segfault on a local Linux box?

We're abusing DMD's bug tracker, but anyway: you need to manually take care of
required 16-bytes alignment:

align(16) shared(N) n; // or `align(2 * size_t.sizeof)`

--


[Issue 20842] Structs with disabled default/copy ctors can't be initialized

2020-05-18 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=20842

Dlang Bot  changed:

   What|Removed |Added

   Keywords||pull

--- Comment #1 from Dlang Bot  ---
@pbackus created dlang/dmd pull request #11159 "Fix Issue 20842 - Structs with
disabled default/copy ctors can't be i…" fixing this issue:

- Fix Issue 20842 - Structs with disabled default/copy ctors can't be
initialized

  A struct must now have at least one non-@disabled constructor to be
  ineligible for brace initialization.

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

--


[Issue 20838] on modern (x86_64) CPUs, dmd emit cmpxchg8b instead of CMPXCHG16B

2020-05-18 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=20838

--- Comment #11 from mw  ---
> this is solely an issue with your 'workflow' involving obj2asm.

Thank you. It's indeed the problem of obj2asm, with gnu's tool objdump:


$ ldc2 -m64 c.d
$ objdump -S --disassemble c > c.asm
$ grep -i cmpxch c.asm
f5b3:   f0 48 0f c7 0e  lock cmpxchg16b (%rsi)
   1ecc3:   f0 48 0f b1 3a  lock cmpxchg %rdi,(%rdx)
   1ed32:   f0 40 0f b0 3a  lock cmpxchg %dil,(%rdx)
   1ed42:   66 f0 0f b1 3a  lock cmpxchg %di,(%rdx)
   30563:   48 8d 15 ba ea 01 00lea0x1eaba(%rip),%rdx#
4f024 <_D4core5cpuid13_hasCmpxchg8byb>
   30573:   48 8d 15 ab ea 01 00lea0x1eaab(%rip),%rdx#
4f025 <_D4core5cpuid14_hasCmpxchg16byb>
   30da6:   f0 48 0f b1 3c ce   lock cmpxchg %rdi,(%rsi,%rcx,8)


I found the cmpxchg16b instruction.

But I'm not sure what the other 'cmpxchg' is. Can some asm expert help explain?


BTW: I find another issue with LDC: with this code on
https://d.godbolt.org/z/HesA24
i.e. remove the import std.stdio and writeln


$ cat c.d
//import std.stdio;
import core.atomic;

struct N {
  N* prev;
  N* next;
}

shared(N) n;

void main() {
  cas(&n, n, n);
  //writeln(size_t.sizeof*2, N.sizeof);
}

$ ldc2 -m64 c.d
$ ./c
Segmentation fault (core dumped)

$ ldc2 --version
LDC - the LLVM D compiler (1.20.0):
  based on DMD v2.090.1 and LLVM 9.0.1
  built with LDC - the LLVM D compiler (1.20.0)
  Default target: x86_64-unknown-linux-gnu
  Host CPU: skylake
  http://dlang.org - http://wiki.dlang.org/LDC


Although on https://d.godbolt.org/z/HesA24
the "Output" dropdown has an option "Run the compiled binary", I select that,
but didn't see the result.


With import std.stdio and writeln, the LDC output behave normally (no
segfault):

$ ldc2 -m64 c.d
$ ./c
1616



Can you try if you can reproduce this segfault on a local Linux box?

--


[Issue 20842] New: Structs with disabled default/copy ctors can't be initialized

2020-05-18 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=20842

  Issue ID: 20842
   Summary: Structs with disabled default/copy ctors can't be
initialized
   Product: D
   Version: D2
  Hardware: x86_64
OS: Linux
Status: NEW
  Severity: normal
  Priority: P1
 Component: dmd
  Assignee: nob...@puremagic.com
  Reporter: snarwin+bugzi...@gmail.com

The following program fails to compile with DMD v2.092.0:

---
struct A
{
int i;
@disable this(ref A);
}

A a = { i: 123 };

struct B
{
int i;
@disable this();
}

B b = { i: 123 };
---

The compiler gives the following output:

---
onlineapp.d(7): Error: struct `A` has constructors, cannot use `{ initializers
}`, use `A( initializers )` instead
onlineapp.d(15): Error: struct `B` has constructors, cannot use `{ initializers
}`, use `B( initializers )` instead
---

The expected behavior is for @disabled copy and default constructors to forbid
only copy initialization and default initialization, respectively, rather than
forbidding all initialization.

--


[Issue 20838] on modern (x86_64) CPUs, dmd emit cmpxchg8b instead of CMPXCHG16B

2020-05-18 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=20838

--- Comment #10 from kinke  ---
(In reply to mw from comment #7)
> What else should I check?

Wrt. LDC, I'm almost certain this is solely an issue with your 'workflow'
involving obj2asm. - Godbolt runs on Linux (but you can inspect the produced
assembly for any target using LDC's -mtriple option).

--


[Issue 20841] New: Website: update the outdated GDC download link.

2020-05-18 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=20841

  Issue ID: 20841
   Summary: Website: update the outdated GDC download link.
   Product: D
   Version: D2
  Hardware: Other
OS: Other
Status: NEW
  Severity: normal
  Priority: P1
 Component: dlang.org
  Assignee: nob...@puremagic.com
  Reporter: min...@gmail.com

On the page:

https://dlang.org/download.html

The GDC download link direct to:

https://gdcproject.org/downloads

Where the information is very outdated, still back to 2016!

E.g. I searched Google for gdc-10_10.1.0-1_amd64.deb

even this mirror site is better:

https://mirror.qlnet.ch/debian/pool/main/g/gcc-10/

--


[Issue 20838] on modern (x86_64) CPUs, dmd emit cmpxchg8b instead of CMPXCHG16B

2020-05-18 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=20838

--- Comment #8 from mw  ---
And for GDC:


$ gdc-10 -m64 -c c.d
$ obj2asm c.o > c.o.asm
$ grep -i xch  c.o.asm
extrn   __atomic_compare_exchange
call  __atomic_compare_exchange@PLT32



On this page:  https://d.godbolt.org/z/HesA24

I changed the compiler to "gdc 9.2.0", and searched the window, and search for
'xch':

mov rsi, rax
mov edi, 16
call__atomic_compare_exchange
mov BYTE PTR [rbp-1], al
.loc 3 1413 9
movzx   eax, BYTE PTR [rbp-1]


I'm not an asm guy, can someone help to read where is this
__atomic_compare_exchange? and confirm it's calling the correct CMPXCHG16B?


Thanks.

--


[Issue 20838] on modern (x86_64) CPUs, dmd emit cmpxchg8b instead of CMPXCHG16B

2020-05-18 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=20838

--- Comment #9 from mw  ---
Oh,

$ gdc-10 --version
gdc-10 (Debian 10.1.0-1) 10.1.0
Copyright (C) 2020 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

--


[Issue 20838] on modern (x86_64) CPUs, dmd emit cmpxchg8b instead of CMPXCHG16B

2020-05-18 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=20838

--- Comment #7 from mw  ---
Hi kinke,

> so no idea how your results came about

I downloaded directly from:

https://github.com/ldc-developers/ldc/releases/download/v1.21.0/ldc2-1.21.0-linux-x86_64.tar.xz


And I just downloaded 1.20, which is on the d.godbolt.org page you mentioned,
but the result is the same:


$ wget
https://github.com/ldc-developers/ldc/releases/download/v1.20.0/ldc2-1.20.0-linux-x86_64.tar.xz

$ ldc2 -m64 -c c.d
$ obj2asm c.o > c.o.asm
$ grep -i xchg  c.o.asm
cmpxchg8b   [RSI]
cmpxchg8b   [RSI]
cmpxchg8b   [RSI]
cmpxchg8b   [RSI]
cmpxchg8b   [RSI]
.data._D100TypeInfo_S3ldc10intrinsics__T13CmpXchgResultTS4core8internal6atomic__T11_AtomicTypeTS1c1NZ5UCentZQCq6__initZ
segment
_D100TypeInfo_S3ldc10intrinsics__T13CmpXchgResultTS4core8internal6atomic__T11_AtomicTypeTS1c1NZ5UCentZQCq6__initZ:
.data._D100TypeInfo_S3ldc10intrinsics__T13CmpXchgResultTS4core8internal6atomic__T11_AtomicTypeTS1c1NZ5UCentZQCq6__initZ
ends

$ ldc2 --version
LDC - the LLVM D compiler (1.20.0):
  based on DMD v2.090.1 and LLVM 9.0.1
  built with LDC - the LLVM D compiler (1.20.0)
  Default target: x86_64-unknown-linux-gnu
  Host CPU: skylake
  http://dlang.org - http://wiki.dlang.org/LDC

$ uname -a
Linux titan 4.15.0-99-generic #100-Ubuntu SMP Wed Apr 22 20:32:56 UTC 2020
x86_64 x86_64 x86_64 GNU/Linux



What else should I check?

Or, can try my step on a Linux box?

--


[Issue 20840] No deprecation when using template from deprecated selective import

2020-05-18 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=20840

Dlang Bot  changed:

   What|Removed |Added

   Keywords||pull

--- Comment #1 from Dlang Bot  ---
@MoonlightSentinel created dlang/dmd pull request #11158 "Fix Issue 20840 - No
deprecation for template from deprecated selecti…" fixing this issue:

- Fix Issue 20840 - No deprecation for template from deprecated selective
import

  Selective imports are lowered to an AliasDeclarations which were discarded
when
  resolving the actual TemplateDeclaration. So make sure to check the AD as
well.

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

--


[Issue 20840] No deprecation when using template from deprecated selective import

2020-05-18 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=20840

moonlightsenti...@disroot.org changed:

   What|Removed |Added

Summary|No deprecation when using   |No deprecation when using
   |symbol from deprecated  |template from deprecated
   |selective import|selective import

--


[Issue 20840] New: No deprecation when using symbol from deprecated selective import

2020-05-18 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=20840

  Issue ID: 20840
   Summary: No deprecation when using symbol from deprecated
selective import
   Product: D
   Version: D2
  Hardware: All
OS: All
Status: NEW
  Severity: normal
  Priority: P1
 Component: dmd
  Assignee: nob...@puremagic.com
  Reporter: moonlightsenti...@disroot.org

dmd fails to issue deprecations for deprecated selective imports of certain
symbols, e.g. as found in this PR (https://github.com/dlang/phobos/pull/7487).

Reduced test case:

=
module a;

import b;

alias Types = AliasSeq!(int); // Should issue deprecation

=

module b;

deprecated("Please import std.meta.AliasSeq directly!")
public import std.meta : AliasSeq;
=

--


[Issue 20838] on modern (x86_64) CPUs, dmd emit cmpxchg8b instead of CMPXCHG16B

2020-05-18 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=20838

kinke  changed:

   What|Removed |Added

 CC||ki...@gmx.net

--- Comment #6 from kinke  ---
(In reply to mw from comment #5)
> Want to file a bug against LDC ?

No need, cmpxchg16 is used for all x86_64 CPUs: https://d.godbolt.org/z/HesA24

For the few old CPUs not supporting it, it can be disabled via `-mattr=-cx16`
(but then it doesn't fall back to cmpxchg8 anway, so no idea how your results
came about).

--


[Issue 15631] gdb: Parent's scope not considered for symbol lookup

2020-05-18 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=15631

Mathias LANG  changed:

   What|Removed |Added

 CC||uplink.co...@googlemail.com

--- Comment #2 from Mathias LANG  ---
*** Issue 20839 has been marked as a duplicate of this issue. ***

--


[Issue 20839] [dwarf] inherited fields not shwon

2020-05-18 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=20839

Mathias LANG  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 CC||pro.mathias.l...@gmail.com
 Resolution|--- |DUPLICATE

--- Comment #2 from Mathias LANG  ---
Reported this a few years ago too. The best solution for me ended up using LDC
tho ;)

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

--


[Issue 20839] [dwarf] inherited fields not shwon

2020-05-18 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=20839

--- Comment #1 from uplink.co...@googlemail.com ---
In the following example: 

class Base
{
   int x = 12;
}

class Child : Base
{
int y = 34;
}


void main()
{
Base b = new Base();
Child c = new Child();

int break_here = 1;
}


the child class `Child` does not have a member `x` according to debuginfo
This is because a `DW_TAG_inheritance` is missing.

--


[Issue 20839] New: [dwarf] inherited fields not shwon

2020-05-18 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=20839

  Issue ID: 20839
   Summary: [dwarf] inherited fields not shwon
   Product: D
   Version: D2
  Hardware: x86_64
OS: Linux
Status: NEW
  Severity: major
  Priority: P1
 Component: dmd
  Assignee: nob...@puremagic.com
  Reporter: uplink.co...@googlemail.com

--


[Issue 18604] in parameter storage class should be deprecated

2020-05-18 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=18604

Mathias LANG  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 CC||pro.mathias.l...@gmail.com
 Resolution|--- |WONTFIX

--- Comment #8 from Mathias LANG  ---
`in` has been restored to be `scope const`, albeit with a flag, so WONTFIX.

--


[Issue 16014] Concatenated strings don't work in deprecation messages on module statements

2020-05-18 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=16014

Mathias LANG  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 CC||pro.mathias.l...@gmail.com
 Resolution|--- |DUPLICATE

--- Comment #6 from Mathias LANG  ---
Sometime I look at the timing, and I think we're doing a really bad job at
marketing our awesome features. The fix for this was merged in February 2016,
so 3 months before this bug report was open. Fixed by:
https://github.com/dlang/dmd/pull/5302
Marking as duplicate of the original issue.

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

--


[Issue 12954] deprecated doesn't work with concatenated strings or anything else but a string literal

2020-05-18 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=12954

Mathias LANG  changed:

   What|Removed |Added

 CC||j...@jackstouffer.com

--- Comment #6 from Mathias LANG  ---
*** Issue 16014 has been marked as a duplicate of this issue. ***

--


[Issue 14278] cpptod still refers to deprecated typedef keyword

2020-05-18 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=14278

Mathias LANG  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 CC||pro.mathias.l...@gmail.com
 Resolution|--- |FIXED

--- Comment #1 from Mathias LANG  ---
You must have had an old copy because that sentence was removed in 2013:
https://github.com/dlang/dlang.org/pull/276/files#diff-8e38c567543da103fbf9d9e01d9d370dL1064

--


[Issue 10320] Warning for old-style operator overloading methods definition

2020-05-18 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=10320

Mathias LANG  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 CC||pro.mathias.l...@gmail.com
 Resolution|--- |FIXED

--- Comment #4 from Mathias LANG  ---
Deprecated in https://github.com/dlang/dmd/pull/10725

--


[Issue 10318] Built-in array sort usage warning, then deprecation, and finally removal

2020-05-18 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=10318

Mathias LANG  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 CC||pro.mathias.l...@gmail.com
 Resolution|--- |FIXED

--- Comment #13 from Mathias LANG  ---
Removed in 2017 (2.075): https://github.com/dlang/dmd/pull/6827

--


[Issue 20836] std.math: reorder declarations from most visible to least

2020-05-18 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=20836

Dlang Bot  changed:

   What|Removed |Added

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

--- Comment #2 from Dlang Bot  ---
dlang/phobos pull request #7485 "fix Issue 20836 - std.math: reorder
declarations from most visible to least" was merged into master:

- c9327ac06032283788b7ad62364cc85d0ff314cd by Iain Buclaw:
  fix Issue 20836 - std.math: reorder declarations from most visible to least

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

--