[Issue 15910] Prevent mismatch of VERSION information in dmd releases
https://issues.dlang.org/show_bug.cgi?id=15910 Martin Nowakchanged: What|Removed |Added CC||c...@dawg.eu --- Comment #1 from Martin Nowak --- > For the second release in a row (2.070.0 followed by 2.071.0), dmd has been > released with the VERSION file not updated to match the release version That's not entirely correct b/c the downloadable packages contain the correct VERSION file, it's only that the tagged git commits have an incorrect VERSION file. Now we could validate that the VERSION file contains the to be build tag, but this will be a constant nuisance, e.g. deleting already created tags, changing the VERSION from 2.071.0-b1 to 2.071.0-b2, retag, and build. I'd instead suggest that any build script using the git repo or tags, should get the VERSION from git or write the VERSION file when downloading a tar bundle from github. VERSION can also be set through make -f posix.mak VERSION=2.071.0. --
[Issue 11356] isASCII for strings
https://issues.dlang.org/show_bug.cgi?id=11356 Walter Brightchanged: What|Removed |Added Status|NEW |RESOLVED CC||bugzi...@digitalmars.com Resolution|--- |WONTFIX --- Comment #5 from Walter Bright --- See https://github.com/D-Programming-Language/phobos/pull/4153 --
[Issue 13392] class + alias this + cast(void*) == overzealous cast
https://issues.dlang.org/show_bug.cgi?id=13392 ag0ae...@gmail.com changed: What|Removed |Added Keywords||wrong-code CC||ag0ae...@gmail.com --
[Issue 15912] Anonymous class with missing method results in linker error
https://issues.dlang.org/show_bug.cgi?id=15912 ag0ae...@gmail.com changed: What|Removed |Added Status|NEW |RESOLVED CC||ag0ae...@gmail.com Resolution|--- |INVALID --- Comment #1 from ag0ae...@gmail.com --- (In reply to andy.pj.hanson from comment #0) > This code successfully compiles, but fails to link: > > abstract class A { > void x(); > } > > void main() { > new class A {}; > } The same happens with a named class (undefined reference to A.x): abstract class A {void x();} class B : A {} void main() {new B;} This is expected. x is not abstract here. It's supposed to be implemented externally. To make it a compile error, make x abstract: abstract class A { abstract void x(); } void main() { new class A {}; /* Error: cannot create instance of abstract class __anonclass1 */ } Closing as invalid. Feel free to reopen if you think I'm missing something. --
[Issue 15912] New: Anonymous class with missing method results in linker error
https://issues.dlang.org/show_bug.cgi?id=15912 Issue ID: 15912 Summary: Anonymous class with missing method results in linker error Product: D Version: D2 Hardware: x86_64 OS: Linux Status: NEW Severity: normal Priority: P1 Component: dmd Assignee: nob...@puremagic.com Reporter: andy.pj.han...@gmail.com This code successfully compiles, but fails to link: abstract class A { void x(); } void main() { new class A {}; } The error is: app.o:(.data._D3app4mainFZ13__anonclass516__vtblZ+0x28): undefined reference to `_D3app1A1xMFZv' The error message doesn't mention what causes the error, so it would be nice to detect these problems at compile-time. This might be related to issue 13438. --
[Issue 15735] std.algorithm.iteration.splitter returns empty range
https://issues.dlang.org/show_bug.cgi?id=15735 Jon Degenhardtchanged: What|Removed |Added CC||jrdemail2000-dl...@yahoo.co ||m --
[Issue 14816] improve dt_t data type for faster appending (tail list or array)
https://issues.dlang.org/show_bug.cgi?id=14816 Walter Brightchanged: What|Removed |Added CC||bugzi...@digitalmars.com --- Comment #3 from Walter Bright --- This is largely resolved by the DtBuilder changes. --
[Issue 15864] chmgen triggers exception in std.regex
https://issues.dlang.org/show_bug.cgi?id=15864 --- Comment #5 from Dmitry Olshansky--- https://github.com/D-Programming-Language/phobos/pull/4180 --
[Issue 15402] allow private access to package symbols
https://issues.dlang.org/show_bug.cgi?id=15402 --- Comment #4 from github-bugzi...@puremagic.com --- Commits pushed to stable at https://github.com/D-Programming-Language/dmd https://github.com/D-Programming-Language/dmd/commit/c424690156a6f2b4f402415c45e780833f2f2df2 fix Issue 15402 - allow private access to package symbols https://github.com/D-Programming-Language/dmd/commit/e36364035fb1cd689df86f599f8473e1bef10ab5 Merge pull request #5642 from D-Programming-Language/fix15402 fix Issue 15402 - allow private access to package symbols --
[Issue 15864] chmgen triggers exception in std.regex
https://issues.dlang.org/show_bug.cgi?id=15864 Dmitry Olshanskychanged: What|Removed |Added Keywords||pull --- Comment #4 from Dmitry Olshansky --- https://github.com/D-Programming-Language/phobos/pull/4181 --
[Issue 12100] __GENTYPE to generate ever different types
https://issues.dlang.org/show_bug.cgi?id=12100 --- Comment #14 from Simen Kjaeraas--- A bit of reasoning behind the choices made in the PR above: (In reply to bearophile_hugs from comment #12) > VC++ and GCC have "__COUNTER__" __COUNTER__ breaks when used with separate compilation, as discussed above. Also: (In reply to bearophile_hugs from comment #6) > I am asking for a integer that is incremented every time by 1, and that > is exported as a range by every pre-compiled module to avoid duplications. So... how do the other modules know about this range? One'd have to include the other compiled modules on the command line when compiling one module, from what I can see. If not, the compiler won't know of the used values, and chaos would ensue. For my PR, __GENSYM__ returns a string with a 'G' prefix*, followed by the mangled name of the containing scope, followed by a scope-local counter: module bar; struct Ham(string gensym = __GENSYM__) { enum s = gensym; Eggs!() e; } struct Eggs(string gensym = __GENSYM__) { enum s = gensym; } module foo; import bar; struct S { static assert(__GENSYM__ == "G3foo1S1"); static assert(__GENSYM__ == "G3foo1S2"); } void baz() { static assert(__GENSYM__ == "G_D3foo3bazFZv1"); static assert(__GENSYM__ == "G_D3foo3bazFZv2"); } static assert(__GENSYM__ == "G3foo1"); static assert(__GENSYM__ == "G3foo2"); void main() { static assert(__GENSYM__ == "G_Dmain1"); static assert(__GENSYM__ == "G_Dmain2"); static assert(Ham!().s == "G_Dmain3"); static assert(Ham!().s == "G_Dmain4"); static assert(Ham!().e.s == "G3bar31__T3HamVAyaa8_475f446d61696e35Z3Ham1"); static assert(Ham!().e.s == "G3bar31__T3HamVAyaa8_475f446d61696e36Z3Ham1"); // Note that this is not identical to the above (5Z3Ham1 vs 6Z3Ham1) } The mangled names should be fairly unique, and I don't think there's a case where the order of instantiation would be different within a single scope, but I'm prepared to be proven wrong on this. So that should take care of separate compilation. It's possible that this scheme can return values that are no valid identifiers (if mangleof contains invalid characters). This is currently simply ignored. * The 'G' prefix is used so that __GENSYM__ should return a valid identifier. The exact character is once again chosen for LISP compatibility. --
[Issue 15911] New: undefined __Unwind_GetIPInfo for x86_64
https://issues.dlang.org/show_bug.cgi?id=15911 Issue ID: 15911 Summary: undefined __Unwind_GetIPInfo for x86_64 Product: D Version: D2 Hardware: x86_64 OS: Mac OS X Status: NEW Severity: major Priority: P1 Component: druntime Assignee: nob...@puremagic.com Reporter: c...@dawg.eu Undefined symbols for architecture x86_64: __Unwind_GetIPInfo, referenced from: ___dmd_personality_v0 in libphobos2.a(dwarfeh_5c8_811.o) ld: symbol(s) not found for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation) Apparently comes from compiling idgen.d with 2.071.0. --
[Issue 15838] Many Win32 API callback functions miss extern(Windows)
https://issues.dlang.org/show_bug.cgi?id=15838 --- Comment #2 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/699dab51b73c37ccf3e397cffb34c2c49198f7e6 Fix issue 15838 Many Win32 API callback functions miss extern(Windows) Add extern (Windows) to aliases and struct fields. https://github.com/D-Programming-Language/druntime/commit/ce29bfc31385a988555a0ba1ab335c81c5173b03 Merge pull request #1525 from qchikara/pr_win32_callbacks_linkeage Fix issue 15838 Many Win32 API callback functions miss extern(Windows) --
[Issue 15838] Many Win32 API callback functions miss extern(Windows)
https://issues.dlang.org/show_bug.cgi?id=15838 github-bugzi...@puremagic.com changed: What|Removed |Added Status|NEW |RESOLVED Resolution|--- |FIXED --
[Issue 15910] New: Prevent mismatch of VERSION information in dmd releases
https://issues.dlang.org/show_bug.cgi?id=15910 Issue ID: 15910 Summary: Prevent mismatch of VERSION information in dmd releases Product: D Version: D2 Hardware: x86_64 OS: Linux Status: NEW Severity: enhancement Priority: P1 Component: installer Assignee: nob...@puremagic.com Reporter: joseph.wakel...@webdrake.net For the second release in a row (2.070.0 followed by 2.071.0), dmd has been released with the VERSION file not updated to match the release version: http://forum.dlang.org/post/sesqprbrrdzkcvdvx...@forum.dlang.org http://forum.dlang.org/post/cplapztlpphcvosjc...@forum.dlang.org Among the consequences are that anyone building directly from source will end up with a wrong libdruntime library filename. The fact that this is a recurring problem suggests that the release procedure should be revised to make this impossible. A factor here may be that the release script overwrites the VERSION file, meaning that mismatches between git tags and the VERSION file will be hidden: https://github.com/D-Programming-Language/dmd/pull/5382#issuecomment-177545916 https://github.com/D-Programming-Language/installer/blob/67480ddd9a75170fe359a823225dfd60ca5027fd/create_dmd_release/build_all.d#L436-L446 Assuming that the VERSION file is still desired for e.g. users building from tarballs instead of git clones, this suggests that perhaps the release script should validate and require matching VERSION information instead of overwriting the file ... ? --
[Issue 12897] std.json.toJSON doesn't translate unicode chars(>=0x80) to "\uXXXX"
https://issues.dlang.org/show_bug.cgi?id=12897 github-bugzi...@puremagic.com changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution|--- |FIXED --
[Issue 12897] std.json.toJSON doesn't translate unicode chars(>=0x80) to "\uXXXX"
https://issues.dlang.org/show_bug.cgi?id=12897 --- Comment #4 from github-bugzi...@puremagic.com --- Commit pushed to master at https://github.com/D-Programming-Language/phobos https://github.com/D-Programming-Language/phobos/commit/b5cd354a05033ade13ae376377bec590bef62212 Merge pull request #4106 from BBasile/issue-12897 fix issue 12897 - toJSON, add the escapeNonAsciiChars option --
[Issue 15372] DMD emits wrong mangling for extern(C++) free function templates
https://issues.dlang.org/show_bug.cgi?id=15372 --- 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/8f03d2745efe0c04c10cb37192c1989f0bef789d Issue 15372: RESOLVED FIXED https://github.com/D-Programming-Language/dlang.org/commit/3bbcd41077e7ee63734399521235157bacd678df Merge pull request #1259 from Bolpat/patch-1 Remove note about Issue 15372 because it was fixed. --