[Issue 8505] New: Threadgroups fails using DMD 2.060
http://d.puremagic.com/issues/show_bug.cgi?id=8505 Summary: Threadgroups fails using DMD 2.060 Product: D Version: D2 Platform: x86_64 OS/Version: Linux Status: NEW Severity: blocker Priority: P2 Component: DMD AssignedTo: nob...@puremagic.com ReportedBy: rus...@winder.org.uk --- Comment #0 from Russel Winder 2012-08-04 03:45:27 PDT --- Created an attachment (id=1133) Source code for the example showing the problem. The attached code compiles and runs as expected using gdc on Debian Unstable: gdc -I. -O3 -c -o pi_d_threadsGlobalState_threadGroup.o pi_d_threadsGlobalState_threadGroup.d gdc -I. -O3 -c -o output_d.o output_d.d gdc -o pi_d_threadsGlobalState_threadGroup pi_d_threadsGlobalState_threadGroup.o output_d.o ./pi_d_threadsGlobalState_threadGroup pi_d_threadsGlobalState_threadGroup.d, task count: 1 π = 3.141592653589970752 iteration count = 10 elapse time = 8.610002 number of processors = 8 pi_d_threadsGlobalState_threadGroup.d, task count: 2 π = 3.141592653589901030 iteration count = 10 elapse time = 4.307193 number of processors = 8 pi_d_threadsGlobalState_threadGroup.d, task count: 8 π = 3.141592653589769135 iteration count = 10 elapse time = 1.126820 number of processors = 8 pi_d_threadsGlobalState_threadGroup.d, task count: 32 π = 3.141592653589757145 iteration count = 10 elapse time = 1.103556 number of processors = 8 Using dmd 2.060 installed using the deb on the DLang downloads website: rdmd pi_d_threadsGlobalState_threadGroup.d pi_d_threadsGlobalState_threadGroup.d, task count: 1 π = 3.706147513366483626 iteration count = 10 elapse time = 11.192674 number of processors = 8 pi_d_threadsGlobalState_threadGroup.d, task count: 2 π = 0.00 iteration count = 10 elapse time = 0.000162 number of processors = 8 pi_d_threadsGlobalState_threadGroup.d, task count: 8 π = 3.093593503818492962 iteration count = 10 elapse time = 1.446934 number of processors = 8 pi_d_threadsGlobalState_threadGroup.d, task count: 32 π = 2.126965177696329423 iteration count = 10 elapse time = 1.436152 number of processors = 8 -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 8505] Threadgroups fails using DMD 2.060
http://d.puremagic.com/issues/show_bug.cgi?id=8505 --- Comment #1 from Russel Winder 2012-08-04 04:26:20 PDT --- I downgraded to dmd 2.059 using the deb from the FTP site and the problem goes away, so this is very definitely a problem introduce in the 2.059 → 2.060 upgrade. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 8505] Threadgroups fails using DMD 2.060
http://d.puremagic.com/issues/show_bug.cgi?id=8505 --- Comment #2 from Russel Winder 2012-08-04 04:28:40 PDT --- Result using 2.059 (sorry should have put this on previous comment): rdmd -O -release pi_d_threadsGlobalState_threadGroup.d pi_d_threadsGlobalState_threadGroup.d, task count: 1 π = 3.141592653589970752 iteration count = 10 elapse time = 8.608373 number of processors = 8 pi_d_threadsGlobalState_threadGroup.d, task count: 2 π = 3.141592653589901030 iteration count = 10 elapse time = 4.307447 number of processors = 8 pi_d_threadsGlobalState_threadGroup.d, task count: 8 π = 3.141592653589768691 iteration count = 10 elapse time = 1.103842 number of processors = 8 pi_d_threadsGlobalState_threadGroup.d, task count: 32 π = 3.141592653589756257 iteration count = 10 elapse time = 1.117225 number of processors = 8 -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 8506] New: segault when using map with template delegate
http://d.puremagic.com/issues/show_bug.cgi?id=8506 Summary: segault when using map with template delegate Product: D Version: D2 Platform: All OS/Version: All Status: NEW Severity: normal Priority: P2 Component: druntime AssignedTo: nob...@puremagic.com ReportedBy: deadal...@gmail.com --- Comment #0 from deadalnix 2012-08-04 04:54:03 PDT --- import std.algorithm; import std.array; class A { B[] b; } class B {} void main() { A a; a.b = a.b.map!(b => b)().array(); } This code segfault in invariant._d_invariant with dmd 2.060 . This ork fine with (B b) { return b; } as delegate. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 8507] New: (Regression 2.060) rdmd hangs and mutex failures
http://d.puremagic.com/issues/show_bug.cgi?id=8507 Summary: (Regression 2.060) rdmd hangs and mutex failures Product: D Version: D2 Platform: x86_64 OS/Version: Linux Status: NEW Severity: critical Priority: P2 Component: DMD AssignedTo: nob...@puremagic.com ReportedBy: a...@lycus.org --- Comment #0 from Alex R�nne Petersen 2012-08-04 16:58:03 CEST --- (There's no rdmd component, so...) I don't know if this bug exists on other platforms, but on Linux (x86_64) the rdmd in 2.060 eventually hangs (and in some cases even crashes due to mutex failures). Given a test.d like this: import std.stdio; void main() { writeln("Hello World"); } Try running: for x in {0..}; do echo iteration $x; rdmd test.d; done This should yield several mutex errors, and eventually make one of the rdmd invocations hang. This is a bit of a pain since my program's test suite relies on rdmd to run the suite. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 2409] property is not called
http://d.puremagic.com/issues/show_bug.cgi?id=2409 Adam D. Ruppe changed: What|Removed |Added CC||destructiona...@gmail.com --- Comment #2 from Adam D. Ruppe 2012-08-04 09:38:06 PDT --- Now that there's the @property decoration, I think it's about time we make this actually work right. It's been wrong a long time. I think whenever the compiler sees an expression that is an @property, it should immediately rewrite it into the function call, so address of, call, etc. all go on the return value. Functions without @property can remain the way they are now. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 8402] Lambda argument's default value is not taken into account
http://d.puremagic.com/issues/show_bug.cgi?id=8402 Kenji Hara changed: What|Removed |Added Status|NEW |RESOLVED Resolution||DUPLICATE --- Comment #6 from Kenji Hara 2012-08-04 10:12:29 PDT --- This issue is a part of bug 3866. *** This issue has been marked as a duplicate of issue 3866 *** -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 8402] Lambda argument's default value is not taken into account
http://d.puremagic.com/issues/show_bug.cgi?id=8402 --- Comment #5 from Kenji Hara 2012-08-04 10:11:15 PDT --- (In reply to comment #0) > The following code does not compile (x.d): > > void main() > { > auto fn = (int x = 0) => x + 1; > fn(); > } > > with message: "x.d(4): Error: expected 1 function arguments, not 0" > However, calling fn() with an explicit argument works fine as usual. The function pointer `fn` is not a lambda itself, so cannot have default argument. If it is allowed: auto fn = (int x = 0) => x + 1; fn(); // returns 1 fn = (int x = 1) => x + 1; fn(); // returns 1 or 2? What is returned by the 2nd call of fn? I cannot imagine it. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 3866] anonymous delegate with default parameters cross-talks to another anonymous delegate
http://d.puremagic.com/issues/show_bug.cgi?id=3866 Kenji Hara changed: What|Removed |Added CC||kolo...@bk.ru --- Comment #11 from Kenji Hara 2012-08-04 10:12:29 PDT --- *** Issue 8402 has been marked as a duplicate of this issue. *** -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 8506] segault when using map with template delegate
http://d.puremagic.com/issues/show_bug.cgi?id=8506 --- Comment #1 from Kenji Hara 2012-08-04 10:22:27 PDT --- (In reply to comment #0) > import std.algorithm; > import std.array; > > class A { > B[] b; > } > > class B {} > > void main() { > A a; > > a.b = a.b.map!(b => b)().array(); > } > > This code segfault in invariant._d_invariant with dmd 2.060 . This ork fine > with (B b) { return b; } as delegate. The variable a is class, and initialized with null, then this code never works. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 8506] segault when using map with template delegate
http://d.puremagic.com/issues/show_bug.cgi?id=8506 --- Comment #2 from deadalnix 2012-08-04 10:57:04 PDT --- (In reply to comment #1) > (In reply to comment #0) > > import std.algorithm; > > import std.array; > > > > class A { > > B[] b; > > } > > > > class B {} > > > > void main() { > > A a; > > > > a.b = a.b.map!(b => b)().array(); > > } > > > > This code segfault in invariant._d_invariant with dmd 2.060 . This ork fine > > with (B b) { return b; } as delegate. > > The variable a is class, and initialized with null, then this code never > works. Ooops, it seems I failed to reduce the bug to a simple case (I actually introduced a new problem of my own, you are right). And if I initialize a, the segfault don't occur. This bug report is invalid, I'll create a new one with some help of dustmite. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 8499] ICE on undefined identifier
http://d.puremagic.com/issues/show_bug.cgi?id=8499 --- Comment #1 from Kenji Hara 2012-08-04 11:51:56 PDT --- Reduced test case: struct Variant { @property T get(T)() { struct X {} // necessary } } void main() { (Variant()).get!(typeof(() => i)); } -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 8377] Unexpected OPTLINK Termination at EIP=004106BE
http://d.puremagic.com/issues/show_bug.cgi?id=8377 zerg changed: What|Removed |Added CC||sergey.chelombi...@gmail.co ||m --- Comment #5 from zerg 2012-08-04 13:31:50 PDT --- I'm facing the same problem with DMD 2.060 when taking address of constant from module that was compiled into static library. It seems to be directly related to number (or total size, probably) of constants in that module. Looks like having too many constants causes bad code generation. DMD 2.059 - no such problem. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 8508] New: std.traits.isSomeString no longer works with enums
http://d.puremagic.com/issues/show_bug.cgi?id=8508 Summary: std.traits.isSomeString no longer works with enums Product: D Version: unspecified Platform: All OS/Version: All Status: NEW Severity: regression Priority: P2 Component: Phobos AssignedTo: nob...@puremagic.com ReportedBy: jmdavisp...@gmx.com --- Comment #0 from Jonathan M Davis 2012-08-04 14:20:31 PDT --- This code passes with 2.059 but fails with 2.060: import std.traits; enum E : string { a = "hello" } static assert(isSomeString!(typeof(E.a))); void main() { } It's commit https://github.com/D-Programming-Language/phobos/commit/52462bec6ea846f30e8dac309d63ccb4101e8f0c which broke this. Kenji Hara argues that enums should be treated as strongly typed by std.traits, but the language itself doesn't do this. auto func(string s) {...} will accept E.a just fine, but no auto func(S)(S s) if(isSomeString!S) {...} will not. Kenji also points out that std.traits has not been consistent with regards to how it treats enums, and enum U : uint { a = 0 } static assert(isUnsigned!(typeof(U.a))); fails with both 2.059 and 2.060. I'd argue that it should pass as well. Needing to distinguish between an enum of a particular base type and that exact type is quite rare AFAIK (std.conv.to and std.format care but not a lot else). As such, I really think that we'd be better off if std.traits treats enums as their base types and let code which cares about whether a particular template argument is an enum or not check whether it's an enum - that's what is(T == enum) is for. As it stands, it's _very_ easy to break code which uses enums when templatizing a function which wasn't previously templatized, and std.traits is completely inconsistent with the language with regards to enums. This needs to be fixed. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 8501] Unexpected OPTLINK Termination at EIP=0041078E
http://d.puremagic.com/issues/show_bug.cgi?id=8501 Walter Bright changed: What|Removed |Added CC||bugzi...@digitalmars.com --- Comment #2 from Walter Bright 2012-08-04 15:35:39 PDT --- It would be nice if this case was a smaller test case than the other one. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 8509] New: Appending a string to an enum string results in another enum string
http://d.puremagic.com/issues/show_bug.cgi?id=8509 Summary: Appending a string to an enum string results in another enum string Product: D Version: unspecified Platform: All OS/Version: All Status: NEW Severity: normal Priority: P2 Component: DMD AssignedTo: nob...@puremagic.com ReportedBy: jmdavisp...@gmx.com --- Comment #0 from Jonathan M Davis 2012-08-04 16:05:27 PDT --- This code enum E : string { a = "hello" } void main() { E e = E.a ~ " world"; E f = E.a ~ 'w'; } gives this compilation error: q.d(6): Error: cannot implicitly convert expression ("hellow") of type string to E So, the compiler correctly recognizes that the result of appending a character to an E results in a string rather than an E. However, it should _also_ fail on appending a string to it. "hello world" is not a valid E, and appending an arbitrary string to an enum of type string is not generally going to result in a valid enum value, so the result should be typed as string, not the enum type. If an operation on an enum type is not _guaranteed_ to result in a valid enum value, then that operation should be illegal, forcing the programmer to cast when they're sure that the result is valid and protecting them from invalid assignments like in the example above. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 8510] New: No line number in error message for conflicting aliases
http://d.puremagic.com/issues/show_bug.cgi?id=8510 Summary: No line number in error message for conflicting aliases Product: D Version: D2 Platform: All OS/Version: All Status: NEW Severity: normal Priority: P2 Component: DMD AssignedTo: nob...@puremagic.com ReportedBy: rob...@octarineparrot.com --- Comment #0 from Robert Clipsham 2012-08-05 01:34:35 BST --- $ cat test.d alias int a; alias int a; $ dmd test.d Error: alias test.a conflicts with alias test.a at test.d(2) The line number is only given for one of the conflicting symbols. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 8497] Regression 2.060: Bad code gen involving ubyte, ternary operators, and shifts
http://d.puremagic.com/issues/show_bug.cgi?id=8497 --- Comment #3 from github-bugzi...@puremagic.com 2012-08-04 17:46:47 PDT --- Commit pushed to dmd-1.x at https://github.com/D-Programming-Language/dmd https://github.com/D-Programming-Language/dmd/commit/9b3a8aa4e82a85d2392ad4e2c103157284c47665 fix Issue 8497 - Regression 2.060: Bad code gen involving ubyte, ternary operators, and shifts -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 8497] Regression 2.060: Bad code gen involving ubyte, ternary operators, and shifts
http://d.puremagic.com/issues/show_bug.cgi?id=8497 --- Comment #3 from github-bugzi...@puremagic.com 2012-08-04 17:46:47 PDT --- Commit pushed to dmd-1.x at https://github.com/D-Programming-Language/dmd https://github.com/D-Programming-Language/dmd/commit/9b3a8aa4e82a85d2392ad4e2c103157284c47665 fix Issue 8497 - Regression 2.060: Bad code gen involving ubyte, ternary operators, and shifts --- Comment #4 from github-bugzi...@puremagic.com 2012-08-04 17:46:59 PDT --- Commit pushed to master at https://github.com/D-Programming-Language/dmd https://github.com/D-Programming-Language/dmd/commit/fa6c7fb523455743f29bb944100e3617de594cbc fix Issue 8497 - Regression 2.060: Bad code gen involving ubyte, ternary operators, and shifts -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 8497] Regression 2.060: Bad code gen involving ubyte, ternary operators, and shifts
http://d.puremagic.com/issues/show_bug.cgi?id=8497 Walter Bright changed: What|Removed |Added Status|NEW |RESOLVED CC||bugzi...@digitalmars.com Resolution||FIXED --- Comment #5 from Walter Bright 2012-08-04 17:48:01 PDT --- Not a regression, but fixed anyway. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 8469] isSorted fails with predicate "a.length < b.length ? true : a < b"
http://d.puremagic.com/issues/show_bug.cgi?id=8469 Jonathan M Davis changed: What|Removed |Added Status|NEW |RESOLVED Resolution||FIXED -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 8469] isSorted fails with predicate "a.length < b.length ? true : a < b"
http://d.puremagic.com/issues/show_bug.cgi?id=8469 --- Comment #10 from github-bugzi...@puremagic.com 2012-08-04 18:47:12 PDT --- Commit pushed to master at https://github.com/D-Programming-Language/phobos https://github.com/D-Programming-Language/phobos/commit/fc99e5583e16897b487a60188421967f664ced02 Merge pull request #729 from andralex/bug8469 Added additional check to isSorted to detect invalid predicates -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 8377] Unexpected OPTLINK Termination at EIP=004106BE
http://d.puremagic.com/issues/show_bug.cgi?id=8377 --- Comment #6 from Walter Bright 2012-08-04 18:54:25 PDT --- Can someone please provide a zip with just the obj files and the linker command? I don't need the source code. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 8377] Unexpected OPTLINK Termination at EIP=004106BE
http://d.puremagic.com/issues/show_bug.cgi?id=8377 --- Comment #7 from Vladimir Panteleev 2012-08-04 19:09:26 PDT --- Created an attachment (id=1134) A troublesome object file Running either "dmd file.obj" or "link file.obj" triggers the error. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 8377] Unexpected OPTLINK Termination at EIP=004106BE
http://d.puremagic.com/issues/show_bug.cgi?id=8377 --- Comment #8 from Walter Bright 2012-08-04 20:17:50 PDT --- ok, I can duplicate the problem with this .obj file. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 6395] ICE(glue.c) Multiple-at-a-time bug breaking e.g. DustMite
http://d.puremagic.com/issues/show_bug.cgi?id=6395 Vladimir Panteleev changed: What|Removed |Added CC||thecybersha...@gmail.com --- Comment #5 from Vladimir Panteleev 2012-08-04 22:11:10 PDT --- DMD 2.060 now prints: dmd: glue.c:558: virtual void FuncDeclaration::toObjFile(int): Assertion `semanticRun == PASSsemantic3done' failed. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 8377] Unexpected OPTLINK Termination at EIP=004106BE
http://d.puremagic.com/issues/show_bug.cgi?id=8377 --- Comment #9 from github-bugzi...@puremagic.com 2012-08-04 23:07:31 PDT --- Commit pushed to master at https://github.com/D-Programming-Language/dmd https://github.com/D-Programming-Language/dmd/commit/a7c8c120e8b69651de6524d28006498eb4a2e2bd attempt to narrow down Issue 8377 -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 8377] Unexpected OPTLINK Termination at EIP=004106BE
http://d.puremagic.com/issues/show_bug.cgi?id=8377 --- Comment #10 from Walter Bright 2012-08-04 23:08:52 PDT --- It looks like a corrupt .obj file. Can anyone add this diagnostic to cgobj.c, build dmd, and then see if the source that causes it can be isolated? -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 8377] Unexpected OPTLINK Termination at EIP=004106BE
http://d.puremagic.com/issues/show_bug.cgi?id=8377 --- Comment #11 from Vladimir Panteleev 2012-08-04 23:25:19 PDT --- It's this file: http://svn.dsource.org/projects/bindings/trunk/win32/winnt.d -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 8511] New: Segfault with forward-referenced enum
http://d.puremagic.com/issues/show_bug.cgi?id=8511 Summary: Segfault with forward-referenced enum Product: D Version: D2 Platform: All OS/Version: All Status: NEW Keywords: ice Severity: minor Priority: P2 Component: DMD AssignedTo: nob...@puremagic.com ReportedBy: thecybersha...@gmail.com --- Comment #0 from Vladimir Panteleev 2012-08-04 23:49:24 PDT --- --- math.d --- real hypot() { enum SQRTMAX; SQRTMAX/2; } --- output --- $ dmd math.d math.d(2): Error: enum SQRTMAX is forward referenced math.d(2): Error: enum SQRTMAX is forward referenced math.d(2): Error: enum SQRTMAX is forward referenced math.d(2): Error: enum SQRTMAX is forward referenced math.d(2): Error: enum SQRTMAX is forward referenced math.d(2): Error: enum SQRTMAX is forward referenced Segmentation fault -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---