[Issue 1117] ddoc generates corrupted docs if code examples contain attributes with colons
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
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
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
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
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
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
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
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
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
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.
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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 --