[Issue 11461] `Error`s are not thrown as `pure nothrow` functions are optimized out with -O -release
https://d.puremagic.com/issues/show_bug.cgi?id=11461 --- Comment #3 from Martin Nowak c...@dawg.eu 2013-11-15 00:09:19 PST --- Interesting btw, such a function will either never or always throw an Error. -- Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 8525] optimizer loops infinitely
https://d.puremagic.com/issues/show_bug.cgi?id=8525 --- Comment #3 from Walter Bright bugzi...@digitalmars.com 2013-11-15 00:12:00 PST --- https://github.com/D-Programming-Language/dmd/pull/2774 -- Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 11034] ICE: Assertion failed: (!scope), function toObjFile, file toobj.c, line 366.
https://d.puremagic.com/issues/show_bug.cgi?id=11034 Kenji Hara k.hara...@gmail.com changed: What|Removed |Added Keywords||pull --- Comment #2 from Kenji Hara k.hara...@gmail.com 2013-11-15 00:25:20 PST --- (In reply to comment #1) Adding: Module::dprogress = 1; Module::runDeferredSemantic(); to line 1577 in mars.c resolves the forward ref problem. But the bizarre thing is with or without that change, the std.range import results in errors, caused by the unrelated fwd refs. I'm baffled at the moment. The root cause is that current forward reference check for class declarations is strongly associated with class instance size. https://github.com/D-Programming-Language/dmd/pull/2775 -- Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 8650] SLice opOpAssign SLice with overlap does not throw
https://d.puremagic.com/issues/show_bug.cgi?id=8650 --- Comment #10 from Martin Nowak c...@dawg.eu 2013-11-15 00:49:44 PST --- (In reply to comment #8) IMHO, debug/release builds of druntime (or any library) are the wrong direction for contract enforcement. They pre/post conditions should be visible to call sites and executed based on the call site's compilation settings. For _all_ code, not just druntime or phobos. You're right, any contract that is part of the API needs to be visible (or at least callable) for the caller. -- Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 10074] segfault in dmd
https://d.puremagic.com/issues/show_bug.cgi?id=10074 Kenji Hara k.hara...@gmail.com changed: What|Removed |Added CC||daniel...@bigpond.com --- Comment #6 from Kenji Hara k.hara...@gmail.com 2013-11-15 00:47:11 PST --- *** Issue 11090 has been marked as a duplicate of this issue. *** -- Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 11090] ICE Template recursive instantiation causes Segfault
https://d.puremagic.com/issues/show_bug.cgi?id=11090 Kenji Hara k.hara...@gmail.com changed: What|Removed |Added Status|NEW |RESOLVED Resolution||DUPLICATE --- Comment #1 from Kenji Hara k.hara...@gmail.com 2013-11-15 00:47:10 PST --- Fixed in 2.064 *** This issue has been marked as a duplicate of issue 10074 *** -- Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 11461] `Error`s are not thrown as `pure nothrow` functions are optimized out with -O -release
https://d.puremagic.com/issues/show_bug.cgi?id=11461 monarchdo...@gmail.com changed: What|Removed |Added CC||monarchdo...@gmail.com --- Comment #4 from monarchdo...@gmail.com 2013-11-15 01:23:58 PST --- (In reply to comment #2) (In reply to comment #1) Well, if a function has no side effect and does not produce a result or the result isn't used, there is no point in calling it. It's pretty harsh to demand that the compiler always calls such functions only to support the minor noreturn use-case. Minor or no it is documented `pure` functions can throw and the compiler already consider `pure` but not `nothrow` functions as doing this (i.e. they aren't optimized out). So `nothrow` must be treated the same way as `nothrow` just means no recoverable `Exception`s are thrown. Breaking language changes are welcome but in a separate enhancement issue. Currently `onOutOfMemoryError` is no-op because of this and the issue should be fixed. I don't know... an Error isn't really considered as observable program behavior, is it? If a function is (either strongly or weakly) pure, takes no reference arguments, and is nothrow, then it calling it will not have observable side effect, and can (and IMO should) be optimized out. This can be workaround simply by forcing the function to look like it can have observable side effects, as so: // void f(void* = null) pure nothrow { throw new Error(); } void main() { f(); } // -- Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 11461] `Error`s are not thrown as `pure nothrow` functions are optimized out with -O -release
https://d.puremagic.com/issues/show_bug.cgi?id=11461 --- Comment #5 from Martin Nowak c...@dawg.eu 2013-11-15 01:35:56 PST --- (In reply to comment #3) Interesting btw, such a function will either never or always throw an Error. The fix is fairly simple, we need a way to annotate noreturn functions. -- Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 8525] optimizer loops infinitely
https://d.puremagic.com/issues/show_bug.cgi?id=8525 --- Comment #4 from github-bugzi...@puremagic.com 2013-11-15 03:00:15 PST --- Commits pushed to master at https://github.com/D-Programming-Language/dmd https://github.com/D-Programming-Language/dmd/commit/9ad67cf518b7bb5747a9f9595d71c394a39c4196 fix Issue 8525 - optimizer loops infinitely https://github.com/D-Programming-Language/dmd/commit/8f635c55a0ee52bcbff193d27a6503855e656a0c Merge pull request #2774 from WalterBright/fix8525 fix Issue 8525 - optimizer loops infinitely -- Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 8650] SLice opOpAssign SLice with overlap does not throw
https://d.puremagic.com/issues/show_bug.cgi?id=8650 --- Comment #11 from github-bugzi...@puremagic.com 2013-11-15 03:57:37 PST --- Commit pushed to master at https://github.com/D-Programming-Language/druntime https://github.com/D-Programming-Language/druntime/commit/a6aa6ee66dcbe3f77b4e0c816e02d8f32040dede Fix Issue 8650 - SLice opOpAssign SLice with overlap does not throw Issue URL: http://d.puremagic.com/issues/show_bug.cgi?id=8650 -- Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 11461] `Error`s are not thrown as `pure nothrow` functions are optimized out with -O -release
https://d.puremagic.com/issues/show_bug.cgi?id=11461 --- Comment #6 from github-bugzi...@puremagic.com 2013-11-15 03:57:30 PST --- Commit pushed to master at https://github.com/D-Programming-Language/druntime https://github.com/D-Programming-Language/druntime/commit/e68e2459bd9a977338837a7e784041de56b68516 Add issue 11461 workaround. Issue URL: https://d.puremagic.com/issues/show_bug.cgi?id=11461 -- Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 11103] w and d suffix for char literals too
https://d.puremagic.com/issues/show_bug.cgi?id=11103 yebblies yebbl...@gmail.com changed: What|Removed |Added CC||yebbl...@gmail.com --- Comment #2 from yebblies yebbl...@gmail.com 2013-11-15 23:18:19 EST --- Well, I implemented it. It was pretty easy, but I'm really not sure if it's worth doing after all. https://github.com/yebblies/dmd/tree/issue11103 -- Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 11103] w and d suffix for char literals too
https://d.puremagic.com/issues/show_bug.cgi?id=11103 --- Comment #3 from bearophile_h...@eml.cc 2013-11-15 04:26:43 PST --- (In reply to comment #2) Well, I implemented it. It was pretty easy, but I'm really not sure if it's worth doing after all. https://github.com/yebblies/dmd/tree/issue11103 Thanks to a patch from Kenji we'll be able to write: import std.algorithm: map, joiner; import std.string: text; void main() { string r = [1, 2] .map!(x = [1, 2].map!(y = dchar('*'))) .joiner(_) .text; } But having the same string suffixes is shorter, better and more uniform with the string syntax: .map!(x = [1, 2].map!(y = '*'d)) -- Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 11519] New: fixtiming issue in core.thread unittest
https://d.puremagic.com/issues/show_bug.cgi?id=11519 Summary: fixtiming issue in core.thread unittest Product: D Version: unspecified Platform: All OS/Version: All Status: NEW Severity: normal Priority: P4 Component: druntime AssignedTo: nob...@puremagic.com ReportedBy: c...@dawg.eu --- Comment #0 from Martin Nowak c...@dawg.eu 2013-11-15 04:35:40 PST --- This will need a second Semaphore like most of the other tests. https://github.com/D-Programming-Language/druntime/blob/74506d433a174f5ecc89ec268426c809aed25ba8/src/core/thread.d#L2630 -- Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 11520] New: [bionic] qsort is missing on linux/bionic
https://d.puremagic.com/issues/show_bug.cgi?id=11520 Summary: [bionic] qsort is missing on linux/bionic Product: D Version: unspecified Platform: All OS/Version: All Status: NEW Severity: normal Priority: P2 Component: druntime AssignedTo: nob...@puremagic.com ReportedBy: c...@dawg.eu --- Comment #0 from Martin Nowak c...@dawg.eu 2013-11-15 04:43:33 PST --- Druntime could easily implement it's own qsort. https://github.com/ldc-developers/ldc/issues/490#issuecomment-28356710 -- Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 11521] New: Switch using same name variable leads to Access Violation
https://d.puremagic.com/issues/show_bug.cgi?id=11521 Summary: Switch using same name variable leads to Access Violation Product: D Version: D2 Platform: All OS/Version: All Status: NEW Severity: normal Priority: P2 Component: DMD AssignedTo: nob...@puremagic.com ReportedBy: temta...@gmail.com --- Comment #0 from Temtaime temta...@gmail.com 2013-11-15 06:01:31 PST --- import std.algorithm; void main() { auto arr = [ 1, 3, 4, 2, 3, 8, 2 ]; int dummy; switch(0) { case 1: auto f = (int a, int b) { return a - dummy b; }; sort!f(arr); break; default: auto f = (int a, int b) { return a - dummy b; }; sort!f(arr); } } This code causes AV, renaming second f to f2 runs successful. -- Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 2547] Array Ops should check length, at least when bounds checking is on
https://d.puremagic.com/issues/show_bug.cgi?id=2547 Denis Shelomovskij verylonglogin@gmail.com changed: What|Removed |Added Status|NEW |RESOLVED CC||verylonglogin@gmail.com Resolution||FIXED --- Comment #9 from Denis Shelomovskij verylonglogin@gmail.com 2013-11-15 20:43:35 MSK --- Fixed in pull https://github.com/D-Programming-Language/druntime/pull/661 -- Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 11175] format prints null for all objects inheriting IUnknown
https://d.puremagic.com/issues/show_bug.cgi?id=11175 yebblies yebbl...@gmail.com changed: What|Removed |Added CC||yebbl...@gmail.com --- Comment #2 from yebblies yebbl...@gmail.com 2013-11-16 03:57:12 EST --- (In reply to comment #1) I don't even see any special code handling in Phobos that would cause this. It seems like a compiler issue? Does D still derive from Object? If not, that's probably the answer. -- Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 11504] [CTFE] JSONValue cannot make in CTFE
https://d.puremagic.com/issues/show_bug.cgi?id=11504 --- Comment #4 from Andrej Mitrovic andrej.mitrov...@gmail.com 2013-11-15 10:24:30 PST --- (In reply to comment #2) The reason why the code mentioned above was OK in the past is a thing by the bugs of the compilers. (SeeAlso: Issue11427 std.json was refactored a while ago and it might be the cause of this regression. But I still don't understand what the problem is with this code *right now*. Can anyone try to explain what SHOO meant in plain English? -- Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 11461] `Error`s are not thrown as `pure nothrow` functions are optimized out with -O -release
https://d.puremagic.com/issues/show_bug.cgi?id=11461 --- Comment #7 from github-bugzi...@puremagic.com 2013-11-15 10:33:56 PST --- Commit pushed to master at https://github.com/D-Programming-Language/druntime https://github.com/D-Programming-Language/druntime/commit/0422e58d1bd6c86063f73b9ca372e5e16afd64b0 Add issue 11461 workaround. Issue URL: https://d.puremagic.com/issues/show_bug.cgi?id=11461 -- Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 8650] SLice opOpAssign SLice with overlap does not throw
https://d.puremagic.com/issues/show_bug.cgi?id=8650 Stewart Gordon s...@iname.com changed: What|Removed |Added CC||s...@iname.com --- Comment #12 from Stewart Gordon s...@iname.com 2013-11-15 10:30:18 PST --- (In reply to comment #8) IMHO, debug/release builds By debug do you mean debug or non-release? of druntime (or any library) are the wrong direction for contract enforcement. Then release a build that has the in contracts but is otherwise a release build. They pre/post conditions should be visible to call sites and executed based on the call site's compilation settings. For _all_ code, not just druntime or phobos. This has been asked for on many occasions. But Walter doesn't seem to like this idea, so I filed issue 9482 and issue 9483 as an alternative way of dealing with the same problem. -- Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 11461] `Error`s are not thrown as `pure nothrow` functions are optimized out with -O -release
https://d.puremagic.com/issues/show_bug.cgi?id=11461 Temtaime temta...@gmail.com changed: What|Removed |Added CC||temta...@gmail.com --- Comment #8 from Temtaime temta...@gmail.com 2013-11-15 10:38:43 PST --- Hi, guys. Maybe i'm too stupid, but how nothrow function can throw ? -- Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 8525] optimizer loops infinitely
https://d.puremagic.com/issues/show_bug.cgi?id=8525 --- Comment #5 from github-bugzi...@puremagic.com 2013-11-15 11:49:07 PST --- Commit pushed to dmd-1.x at https://github.com/D-Programming-Language/dmd https://github.com/D-Programming-Language/dmd/commit/5efd1c82b425992da07c57c929028ab3a0f65e8e Merge pull request #2774 from WalterBright/fix8525 fix Issue 8525 - optimizer loops infinitely -- Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 11461] `Error`s are not thrown as `pure nothrow` functions are optimized out with -O -release
https://d.puremagic.com/issues/show_bug.cgi?id=11461 --- Comment #9 from monarchdo...@gmail.com 2013-11-15 11:53:06 PST --- (In reply to comment #8) Hi, guys. Maybe i'm too stupid, but how nothrow function can throw ? D defines both Exception and Error, which derive from Throwable. Exception, is what you know from C++: The standard thing that gets thrown around to notify things like database/io problems: Things that happen and need to be dealt with. They unwind the stack, destroy things on the stack, etc... Error is an entire other beast: They are C++'s assert in more powerful: They represent a critical error of the program state: corruption, out of memory, failed assertions. They represent something you *cannot* recover from, and are telling you the program needs to halt. Unlike an Exception, Error will blast through the call stack, bypassing destructors, bypassing nothrow function, bypassing catch(Exception)... They are not meant to happen general, and shouldn't be handled in the general sense of the term. So long story short, an Error can be thrown from a nothrow function, because an Error doesn't trigger stack cleanup, which means there is no need to generate _Exceptio_ handling code. = nothrow means will not throw _Exceptions_. I'd link some references, but the best I know of is TDPL. -- Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 8525] optimizer loops infinitely
https://d.puremagic.com/issues/show_bug.cgi?id=8525 Walter Bright bugzi...@digitalmars.com changed: What|Removed |Added Status|NEW |RESOLVED Version|D2 |D1 D2 Resolution||FIXED OS/Version|Other |FreeBSD -- Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 11461] `Error`s are not thrown as `pure nothrow` functions are optimized out with -O -release
https://d.puremagic.com/issues/show_bug.cgi?id=11461 --- Comment #10 from Temtaime temta...@gmail.com 2013-11-15 12:33:55 PST --- Clear. Thanks very much for explanation. -- Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 11522] New: mixing template mixins of template functions creates issues for dmd
https://d.puremagic.com/issues/show_bug.cgi?id=11522 Summary: mixing template mixins of template functions creates issues for dmd Product: D Version: D2 Platform: x86 OS/Version: Windows Status: NEW Severity: normal Priority: P2 Component: DMD AssignedTo: nob...@puremagic.com ReportedBy: maidenp...@hotmail.com --- Comment #0 from Phil Lavoie maidenp...@hotmail.com 2013-11-15 13:36:22 PST --- mixin template innerMixin() { void someFunc( string s )() if( s == tata ) { } } mixin template outerMixin() { //If you comment out this function, it compiles and work. void someFunc( string s )() if( s == toto ) { } mixin innerMixin; } void main( string[] args ) { mixin outerMixin; static assert( __traits( compiles, mixin( someFunc!\tata\() ) ) ); //Does not pass. } Shouldn't it work? Version is 2.064 -- Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 11522] mixing template mixins of template functions creates issues for dmd
https://d.puremagic.com/issues/show_bug.cgi?id=11522 --- Comment #1 from Phil Lavoie maidenp...@hotmail.com 2013-11-15 13:42:10 PST --- (In reply to comment #0) mixin template innerMixin() { void someFunc( string s )() if( s == tata ) { } } mixin template outerMixin() { //If you comment out this function, it compiles and work. void someFunc( string s )() if( s == toto ) { } mixin innerMixin; } void main( string[] args ) { mixin outerMixin; static assert( __traits( compiles, mixin( someFunc!\tata\() ) ) ); //Does not pass. } Shouldn't it work? Version is 2.064 K, if you move the outer someFunc into its own mixin template, like such: mixin template otherInnerMixin() { void someFunc( string s )() if( s == toto ) { } } and change outerMixin for this: mixin template outerMixin() { mixin innerMixin; mixin otherInnerMixin; } Then it works. -- Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 11522] mixing template mixins of template functions creates issues for dmd
https://d.puremagic.com/issues/show_bug.cgi?id=11522 --- Comment #2 from Phil Lavoie maidenp...@hotmail.com 2013-11-15 13:50:22 PST --- (In reply to comment #1) (In reply to comment #0) mixin template innerMixin() { void someFunc( string s )() if( s == tata ) { } } mixin template outerMixin() { //If you comment out this function, it compiles and work. void someFunc( string s )() if( s == toto ) { } mixin innerMixin; } void main( string[] args ) { mixin outerMixin; static assert( __traits( compiles, mixin( someFunc!\tata\() ) ) ); //Does not pass. } Shouldn't it work? Version is 2.064 K, if you move the outer someFunc into its own mixin template, like such: mixin template otherInnerMixin() { void someFunc( string s )() if( s == toto ) { } } and change outerMixin for this: mixin template outerMixin() { mixin innerMixin; mixin otherInnerMixin; } Then it works. Scratch that, it's working for this short example but not in my real world problem. -- Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 11034] ICE: Assertion failed: (!scope), function toObjFile, file toobj.c, line 366.
https://d.puremagic.com/issues/show_bug.cgi?id=11034 Walter Bright bugzi...@digitalmars.com changed: What|Removed |Added Status|NEW |RESOLVED Resolution||FIXED -- Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 11417] rotate with immediate not recognized by optimizer
https://d.puremagic.com/issues/show_bug.cgi?id=11417 --- Comment #2 from github-bugzi...@puremagic.com 2013-11-15 14:42:46 PST --- Commits pushed to master at https://github.com/D-Programming-Language/dmd https://github.com/D-Programming-Language/dmd/commit/6cdeae745a816d68c13dbdf7db06dd6c05e32f7f Fix Issue 11417 - rotate with immediate not recognized by optimizer https://github.com/D-Programming-Language/dmd/commit/964188a54b363574adfcbf00847944b2cd713ec4 Merge pull request #2772 from yebblies/issue11417 Issue 11417 - rotate with immediate not recognized by optimizer -- Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 8596] Indeterministic assertion failure in rehash
https://d.puremagic.com/issues/show_bug.cgi?id=8596 --- Comment #27 from Walter Bright bugzi...@digitalmars.com 2013-11-15 14:59:28 PST --- Without a reproducible test case, this issue is really dead in the water. -- Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 11417] rotate with immediate not recognized by optimizer
https://d.puremagic.com/issues/show_bug.cgi?id=11417 --- Comment #3 from github-bugzi...@puremagic.com 2013-11-15 15:01:45 PST --- Commit pushed to dmd-1.x at https://github.com/D-Programming-Language/dmd https://github.com/D-Programming-Language/dmd/commit/a8693d0a053a8c3ec88712956905e5d3c731dc3e Merge pull request #2772 from yebblies/issue11417 Issue 11417 - rotate with immediate not recognized by optimizer -- Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 8596] Indeterministic assertion failure in rehash
https://d.puremagic.com/issues/show_bug.cgi?id=8596 --- Comment #28 from deadalnix deadal...@gmail.com 2013-11-15 15:03:35 PST --- (In reply to comment #27) Without a reproducible test case, this issue is really dead in the water. I assume you know what indeterministic means. Sadly these are very hard issue to solve. I haven't seen it triggered for a long time now. It may be solve, or my code evolved to not trigger the error anymore. -- Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 11417] rotate with immediate not recognized by optimizer
https://d.puremagic.com/issues/show_bug.cgi?id=11417 Walter Bright bugzi...@digitalmars.com changed: What|Removed |Added Status|NEW |RESOLVED Version|D2 |D1 D2 Resolution||FIXED -- Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 11523] New: pragma(lib x) doesn't have any effect in a static library
https://d.puremagic.com/issues/show_bug.cgi?id=11523 Summary: pragma(lib x) doesn't have any effect in a static library Product: D Version: D2 Platform: x86_64 OS/Version: Linux Status: NEW Severity: minor Priority: P2 Component: DMD AssignedTo: nob...@puremagic.com ReportedBy: flamaros.xav...@gmail.com --- Comment #0 from Xavier Bigand flamaros.xav...@gmail.com 2013-11-15 15:30:15 PST --- A pragma(lib, x) putted in a module that isn't not directly use by the client application doesn't make the dependency linked into the generated static library. The work around is to report the pragma(lib, x) declaration in the main.d module. PS: I also think that the documentation on pragma(lib, x) miss to explain the format that x must have on each platform. I am always confuse on the necessity to have the extension or not, and the lib prefix on linux. -- Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 1955] debug info for temp variables
https://d.puremagic.com/issues/show_bug.cgi?id=1955 Andrei Alexandrescu and...@erdani.com changed: What|Removed |Added CC||and...@erdani.com --- Comment #2 from Andrei Alexandrescu and...@erdani.com 2013-11-15 18:02:48 PST --- Is this still relevant? -- Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 704] destructors are called even if the constructor throws an exception
https://d.puremagic.com/issues/show_bug.cgi?id=704 Andrei Alexandrescu and...@erdani.com changed: What|Removed |Added CC||and...@erdani.com --- Comment #7 from Andrei Alexandrescu and...@erdani.com 2013-11-15 18:58:06 PST --- On the other hand we don't throw if a struct's ctor throws. So this is an inconsistency.I think it's fair in D to consider a throwing constructor as abandoning all construction of the object. -- Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 309] std.boxer incorrectly handles interface instances (major problem in dmd reflection?)
https://d.puremagic.com/issues/show_bug.cgi?id=309 Andrei Alexandrescu and...@erdani.com changed: What|Removed |Added Status|REOPENED|RESOLVED Resolution||WONTFIX --- Comment #4 from Andrei Alexandrescu and...@erdani.com 2013-11-15 19:05:03 PST --- D1 is not supported anymore. -- Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 11524] New: str.strip being shadowed by std.algorithm.strip
https://d.puremagic.com/issues/show_bug.cgi?id=11524 Summary: str.strip being shadowed by std.algorithm.strip Product: D Version: D2 Platform: All OS/Version: All Status: NEW Severity: normal Priority: P2 Component: Phobos AssignedTo: nob...@puremagic.com ReportedBy: h...@fugal.net --- Comment #0 from Hans Fugal h...@fugal.net 2013-11-15 19:19:10 PST --- import std.string; import std.stdio; // OK unittest { string foo = foo ; writeln(foo.strip); } /* Not OK strip.d(21): Error: template std.algorithm.strip does not match any function template declaration. Candidates are: /usr/share/dmd/src/phobos/std/algorithm.d(7122): std.algorithm.strip(Range, E)(Range range, E element) if (isBidirectionalRange!Range is(typeof(range.front == element) : bool)) /usr/share/dmd/src/phobos/std/algorithm.d(7129): std.algorithm.strip(alias pred, Range)(Range range) if (isBidirectionalRange!Range is(typeof(pred(range.back)) : bool)) strip.d(21): Error: template std.algorithm.strip(Range, E)(Range range, E element) if (isBidirectionalRange!Range is(typeof(range.front == element) : bool)) cannot deduce template function from argument types !()(string) */ unittest { import std.algorithm; string bar = bar ; writeln(bar.strip); } /* if I move import std.algorithm; outside of the unittest, it works fine. */ -- Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 235] goto scope: cannot goto forward into different try block level
https://d.puremagic.com/issues/show_bug.cgi?id=235 Andrei Alexandrescu and...@erdani.com changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution||FIXED --- Comment #11 from Andrei Alexandrescu and...@erdani.com 2013-11-15 19:24:22 PST --- Just tried it now, works as expected. -- Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 11508] [REG 2.064] Wrong code with -O on x86_64 for char comparisons
https://d.puremagic.com/issues/show_bug.cgi?id=11508 tchaje...@gmail.com changed: What|Removed |Added CC||tchaje...@gmail.com --- Comment #1 from tchaje...@gmail.com 2013-11-15 19:20:32 PST --- I wasn't able to isolate the issue in the compiler, but it looks like starting at https://github.com/D-Programming-Language/dmd/commit/fd999804a0d79fcbbfac39191d4e8f4ba7872467 an optimization was added for sequences of OR operations that is doing something strange to this code. Just prior to this commit the isWordChar function looked like this (in earlier versions there was no optimization and the code just did a straightforward sequence of cmp and je): 0050 _D4dbug10isWordCharFaZb: 50:55 push %rbp 51:48 8b ec mov%rsp,%rbp 54:48 83 ec 10 sub$0x10,%rsp 58:89 7d f8 mov%edi,-0x8(%rbp) 5b:0f b6 45 f8 movzbl -0x8(%rbp),%eax 5f:83 c0 d5 add$0xffd5,%eax 62:83 f8 34 cmp$0x34,%eax 65:77 0aja 71 _D4dbug10isWordCharFaZb+0x21 67:b9 0d 00 00 00 mov$0xd,%ecx 6c:0f a3 c1 bt %eax,%ecx 6f:72 04jb 75 _D4dbug10isWordCharFaZb+0x25 71:31 c0xor%eax,%eax 73:eb 05jmp7a _D4dbug10isWordCharFaZb+0x2a 75:b8 01 00 00 00 mov$0x1,%eax 7a:48 8b e5 mov%rbp,%rsp 7d:5d pop%rbp 7e:c3 retq While afterward it looks like (but only on X86_64): 70:55 push %rbp 71:48 8b ec mov%rsp,%rbp 74:48 83 ec 10 sub$0x10,%rsp 78:89 7d f8 mov%edi,-0x8(%rbp) 7b:0f b6 45 f8 movzbl -0x8(%rbp),%eax 7f:83 c0 d5 add$0xffd5,%eax 82:83 f8 34 cmp$0x34,%eax 85:77 0fja 96 _D4dbug10isWordCharFaZb+0x26 87:48 b9 0d 00 00 00 00 movabs $0x1d,%rcx 8e:00 10 00 91:0f a3 c1 bt %eax,%ecx 94:72 04jb 9a _D4dbug10isWordCharFaZb+0x2a 96:31 c0xor%eax,%eax 98:eb 05jmp9f _D4dbug10isWordCharFaZb+0x2f 9a:b8 01 00 00 00 mov$0x1,%eax 9f:48 8b e5 mov%rbp,%rsp a2:5d pop%rbp a3:c3 retq I don't understand the codebase well enough to see how to fix the issue, but hope this helps! -- Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 275] Undefined identifier in instances of templates with forward mixins
https://d.puremagic.com/issues/show_bug.cgi?id=275 Andrei Alexandrescu and...@erdani.com changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution||FIXED -- Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 11479] [REG 2.064] DDoc regression?
https://d.puremagic.com/issues/show_bug.cgi?id=11479 --- Comment #1 from github-bugzi...@puremagic.com 2013-11-15 20:02:13 PST --- Commit pushed to master at https://github.com/D-Programming-Language/phobos https://github.com/D-Programming-Language/phobos/commit/d11d14628aafa957e35ae5f1d59130c005b58bf6 fixup issue 11479 and enum -- auto in examples -- Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 888] -cov and _ModuleInfo linking bugs
https://d.puremagic.com/issues/show_bug.cgi?id=888 Andrei Alexandrescu and...@erdani.com changed: What|Removed |Added Status|NEW |RESOLVED CC||and...@erdani.com Resolution||WORKSFORME --- Comment #9 from Andrei Alexandrescu and...@erdani.com 2013-11-15 20:30:30 PST --- Please reopen if necessary. -- Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 900] changing import order causes type mismatch
https://d.puremagic.com/issues/show_bug.cgi?id=900 Andrei Alexandrescu and...@erdani.com changed: What|Removed |Added Status|REOPENED|RESOLVED CC||and...@erdani.com Resolution||FIXED --- Comment #10 from Andrei Alexandrescu and...@erdani.com 2013-11-15 20:34:29 PST --- This seems to have been fixed, possibly a while ago. -- Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 946] (D1 only) Circular reference undetected in some cases
https://d.puremagic.com/issues/show_bug.cgi?id=946 Andrei Alexandrescu and...@erdani.com changed: What|Removed |Added Status|NEW |RESOLVED CC||and...@erdani.com Resolution||WONTFIX --- Comment #3 from Andrei Alexandrescu and...@erdani.com 2013-11-15 20:35:21 PST --- Closing because D1 is no longer supported. -- Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 1360] GC emits HLT when GetThreadContext fails after CreateRemoteThread.
https://d.puremagic.com/issues/show_bug.cgi?id=1360 Andrei Alexandrescu and...@erdani.com changed: What|Removed |Added CC||and...@erdani.com --- Comment #7 from Andrei Alexandrescu and...@erdani.com 2013-11-15 20:50:48 PST --- Is this still a problem? -- Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 1687] extern (C++) interface and vtbl
https://d.puremagic.com/issues/show_bug.cgi?id=1687 Andrei Alexandrescu and...@erdani.com changed: What|Removed |Added CC||and...@erdani.com --- Comment #4 from Andrei Alexandrescu and...@erdani.com 2013-11-15 21:03:49 PST --- This segfaults: extern (C++) interface A { void foo(); void bar(); } extern (C++) class B : A { void foo() { } void bar() { } } void main() { A a = new B; a.foo(); } It actually segfaults even without the interface and the call. -- Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 3517] Allocators proposal
https://d.puremagic.com/issues/show_bug.cgi?id=3517 Andrei Alexandrescu and...@erdani.com changed: What|Removed |Added Status|NEW |ASSIGNED CC||and...@erdani.com AssignedTo|nob...@puremagic.com|and...@erdani.com --- Comment #1 from Andrei Alexandrescu and...@erdani.com 2013-11-15 21:05:11 PST --- Taking this over. -- Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 1957] 'new' may return same memory to two threads
https://d.puremagic.com/issues/show_bug.cgi?id=1957 Andrei Alexandrescu and...@erdani.com changed: What|Removed |Added Status|NEW |RESOLVED CC||and...@erdani.com Resolution||INVALID --- Comment #2 from Andrei Alexandrescu and...@erdani.com 2013-11-15 21:14:50 PST --- I'll preemptively close because it has no supporting code demonstrating the issue. Please reopen if still relevant. -- Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 2162] Access violation when threads run closures
https://d.puremagic.com/issues/show_bug.cgi?id=2162 Andrei Alexandrescu and...@erdani.com changed: What|Removed |Added Status|NEW |RESOLVED CC||and...@erdani.com Resolution||FIXED -- Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 2764] Skip link if main not found
https://d.puremagic.com/issues/show_bug.cgi?id=2764 Andrei Alexandrescu and...@erdani.com changed: What|Removed |Added CC||and...@erdani.com Severity|normal |enhancement --- Comment #4 from Andrei Alexandrescu and...@erdani.com 2013-11-15 21:24:44 PST --- downgrading to enhancement -- Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 11508] [REG 2.064] Wrong code with -O on x86_64 for char comparisons
https://d.puremagic.com/issues/show_bug.cgi?id=11508 yebblies yebbl...@gmail.com changed: What|Removed |Added Keywords||pull CC||yebbl...@gmail.com --- Comment #2 from yebblies yebbl...@gmail.com 2013-11-16 16:22:21 EST --- (In reply to comment #1) 87:48 b9 0d 00 00 00 00 movabs $0x1d,%rcx 8e:00 10 00 91:0f a3 c1 bt %eax,%ecx The error is here https://github.com/D-Programming-Language/dmd/pull/2776 -- Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 1687] extern (C++) interface and vtbl
https://d.puremagic.com/issues/show_bug.cgi?id=1687 yebblies yebbl...@gmail.com changed: What|Removed |Added CC||yebbl...@gmail.com --- Comment #5 from yebblies yebbl...@gmail.com 2013-11-16 16:42:33 EST --- I'm pretty sure this bug was fixed by https://github.com/D-Programming-Language/dmd/pull/2441 https://github.com/D-Programming-Language/dmd/pull/2441/files#diff-51c17721512749ee0a457d576c82eb2eR638 This code = extern (C++) interface A { void foo(); void bar(); } void main() { A a; a.foo(); } Generates: __Dmain PROC NEAR ; COMDEF __Dmain xor eax, eax ; _ 31. C0 // a = null mov ecx, eax ; 0002 _ 89. C1 mov edx, dword ptr [eax] ; 0004 _ 8B. 10 // edx = a.__vptr[0] calldword ptr [edx] ; 0006 _ FF. 12 // edx() xor eax, eax ; 0008 _ 31. C0 ret ; 000A _ C3 __Dmain ENDP ie foo is called from vtbl index 0 (In reply to comment #4) This segfaults: extern (C++) interface A { void foo(); void bar(); } extern (C++) class B : A { void foo() { } void bar() { } } void main() { A a = new B; a.foo(); } It actually segfaults even without the interface and the call. It does? What platform? Are you using git head or a release? -- Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 1687] extern (C++) interface and vtbl
https://d.puremagic.com/issues/show_bug.cgi?id=1687 --- Comment #6 from Andrei Alexandrescu and...@erdani.com 2013-11-15 22:12:18 PST --- Ah. I was using DMD64 D Compiler v2.064-devel-acc0cb0. OK to close then? -- Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 11445] adding double[string] causes crash
https://d.puremagic.com/issues/show_bug.cgi?id=11445 --- Comment #2 from github-bugzi...@puremagic.com 2013-11-15 22:14:37 PST --- Commits pushed to master at https://github.com/D-Programming-Language/dmd https://github.com/D-Programming-Language/dmd/commit/1e49b6a428352d4af24ed4430fabe78a701e4944 Fix Issue 11445 - adding double[string] causes crash https://github.com/D-Programming-Language/dmd/commit/978757826845d4a382335c8d6c98685c8f5cd7fe Merge pull request #2773 from yebblies/issue11445 Issue 11445 - adding double[string] causes crash -- Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 8664] Compiler causes stack overflow with recursive typedef and option -g
https://d.puremagic.com/issues/show_bug.cgi?id=8664 Walter Bright bugzi...@digitalmars.com changed: What|Removed |Added CC||bugzi...@digitalmars.com --- Comment #1 from Walter Bright bugzi...@digitalmars.com 2013-11-15 22:52:27 PST --- https://github.com/D-Programming-Language/dmd/pull/2777 -- Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 11445] adding double[string] causes crash
https://d.puremagic.com/issues/show_bug.cgi?id=11445 Kenji Hara k.hara...@gmail.com changed: What|Removed |Added Status|NEW |RESOLVED Resolution||FIXED -- Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 1687] extern (C++) interface and vtbl
https://d.puremagic.com/issues/show_bug.cgi?id=1687 --- Comment #7 from yebblies yebbl...@gmail.com 2013-11-16 17:59:25 EST --- (In reply to comment #6) Ah. I was using DMD64 D Compiler v2.064-devel-acc0cb0. OK to close then? Can you try head on your machine? That commit is fairly recent - there have been no changes I'm aware of to this code since then. The vtable access looks correct for win64 codegen. It's quite possible there's a non-windows problem with extern(C++) classes lurking somewhere in there... -- Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 11317] glue.c:1218: virtual unsigned int Type::totym(): Assertion `0' failed.
https://d.puremagic.com/issues/show_bug.cgi?id=11317 --- Comment #3 from Kenji Hara k.hara...@gmail.com 2013-11-15 23:25:26 PST --- Merged pull request: https://github.com/D-Programming-Language/dmd/pull/2766 -- Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---