[Issue 2254] Size of executable almost triples
http://d.puremagic.com/issues/show_bug.cgi?id=2254 Don changed: What|Removed |Added CC||clugd...@yahoo.com.au Severity|major |regression -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 3488] Segfault(expression.c): enum declared with struct static initializer
http://d.puremagic.com/issues/show_bug.cgi?id=3488 --- Comment #4 from Don 2009-11-23 00:23:22 PST --- PATCH: With the demise of struct initializers, it's not worth fixing properly. But DsymbolExp::semantic() should check for a null value anyway (it checks in other places in expression.c). This would prevent the segfault. expression.c line 2306 (svn 267): if ((v->storage_class & STCmanifest) && v->init) { e = v->init->toExpression(); + if (!e) +{ error("cannot make expression out of initializer for %s", v->toChars()); +e = new ErrorExp(); +} e->semantic(sc); return e; } -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 2274] all static if typeof seriously wrong
http://d.puremagic.com/issues/show_bug.cgi?id=2274 Don changed: What|Removed |Added Status|REOPENED|RESOLVED CC||clugd...@yahoo.com.au Resolution||INVALID --- Comment #11 from Don 2009-11-23 00:29:07 PST --- (In reply to comment #10) > line 16: // wrong: t.A:- t.B:+ t.C:- int:- > > Why an empty class B{} pass the test? Because it has toString(). Try this code: --- import std.stdio; class B {} void main() { B b = new B; writefln(b.toString()); } --- There's no bug here. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 2282] Struct copy-constructor should call opAssign
http://d.puremagic.com/issues/show_bug.cgi?id=2282 Don changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution||INVALID --- Comment #2 from Don 2009-11-23 00:30:25 PST --- Invalid: use postblit instead. When the types are identical, this(this) gets called, not opAssign. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 3521] Optimized code access popped register
http://d.puremagic.com/issues/show_bug.cgi?id=3521 Don changed: What|Removed |Added CC||clugd...@yahoo.com.au --- Comment #1 from Don 2009-11-23 01:57:30 PST --- Reduced test case shows that this is very low level. It's very specific, changing the expression order slightly will make the problem go away. The assignment to c gets optimised away, so that it remains as 0. - void bug3521(int *a) { int c = 0; *a = 0; if (*a == 0 && (*a + (c = 2)) == 2) assert(c == 2); } void main () { int x; bug3521(&x); } -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 2282] Struct copy-constructor should call opAssign
http://d.puremagic.com/issues/show_bug.cgi?id=2282 --- Comment #3 from Koroskin Denis <2kor...@gmail.com> 2009-11-23 02:43:39 PST --- In D2, yes, but what about D1? -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 2282] Struct copy-constructor should call opAssign
http://d.puremagic.com/issues/show_bug.cgi?id=2282 --- Comment #4 from Don 2009-11-23 03:00:24 PST --- (In reply to comment #3) > In D2, yes, but what about D1? The spec is quite clear: "The assignment operator cannot be overloaded for rvalues that can be implicitly cast to the lvalue type." (operatoroverloading.html#Assignment). And when I compile the initial code, I get a compiler error message which is clear and which is in perfect agreement with the spec: bug.d(19): Error: function test.Test.opAssign identity assignment operator ove rload is illegal -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 2282] Struct copy-constructor should call opAssign
http://d.puremagic.com/issues/show_bug.cgi?id=2282 --- Comment #5 from Koroskin Denis <2kor...@gmail.com> 2009-11-23 03:15:55 PST --- Great, thanks! -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 3543] New: : ? operator can't find common type for interfaces
http://d.puremagic.com/issues/show_bug.cgi?id=3543 Summary: : ? operator can't find common type for interfaces Product: D Version: 1.051 Platform: Other OS/Version: All Status: NEW Keywords: rejects-valid Severity: normal Priority: P2 Component: DMD AssignedTo: nob...@puremagic.com ReportedBy: nfx...@gmail.com --- Comment #0 from nfx...@gmail.com 2009-11-23 03:24:15 PST --- The following fails to compile, but I think it should be allowed: interface Root { } interface A : Root { } interface B : Root { } bool bla; void main() { A a; B b; Root r; //this works r = a; r = b; //this line fails, although there's an unambiguous common type "Root" r = bla ? a : b; } If the compiler rejects this intentionally, this bug report is a feature request. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 3543] : ? operator can't find common type for interfaces
http://d.puremagic.com/issues/show_bug.cgi?id=3543 --- Comment #1 from nfx...@gmail.com 2009-11-23 03:27:52 PST --- This also fails if you're doing this with classes (just replace "interface" with "class" in the example above). With classes, this should definitely work, but it fails. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 3544] optlink unexpected termination 0041338f
http://d.puremagic.com/issues/show_bug.cgi?id=3544 --- Comment #1 from ante...@freemail.hu 2009-11-23 04:39:21 PST --- Created an attachment (id=515) the picture of the error -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 3544] New: optlink unexpected termination 0041338f
http://d.puremagic.com/issues/show_bug.cgi?id=3544 Summary: optlink unexpected termination 0041338f Product: D Version: 1.051 Platform: x86 OS/Version: Windows Status: NEW Severity: critical Priority: P2 Component: Optlink AssignedTo: nob...@puremagic.com ReportedBy: ante...@freemail.hu --- Comment #0 from ante...@freemail.hu 2009-11-23 04:38:17 PST --- Hi, I compiled and linker a program -debug and the linker crashed. If I use -release flag , then the linker does not crash but then the program crashes. The program uses CTFE which may have to do with the crash. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 3544] optlink unexpected termination 0041338f
http://d.puremagic.com/issues/show_bug.cgi?id=3544 --- Comment #2 from ante...@freemail.hu 2009-11-23 04:41:33 PST --- The program uses a large compile-time generated function which seems to contribute to the problem. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 3496] ICE(cgelem.c, optimizer bug) cast(void *)(x&1)== null.
http://d.puremagic.com/issues/show_bug.cgi?id=3496 Leandro Lucarella changed: What|Removed |Added CC||llu...@gmail.com --- Comment #5 from Leandro Lucarella 2009-11-23 06:48:08 PST --- SVN commit: http://www.dsource.org/projects/dmd/changeset/267 -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 3115] >>> and >>>= generate wrong code
http://d.puremagic.com/issues/show_bug.cgi?id=3115 Leandro Lucarella changed: What|Removed |Added CC||llu...@gmail.com --- Comment #3 from Leandro Lucarella 2009-11-23 06:48:52 PST --- SVN commit: http://www.dsource.org/projects/dmd/changeset/266 -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 3544] optlink unexpected termination 0041338f
http://d.puremagic.com/issues/show_bug.cgi?id=3544 Don changed: What|Removed |Added CC||clugd...@yahoo.com.au --- Comment #3 from Don 2009-11-23 07:08:37 PST --- The picture doesn't help at all. You need to provide a source file which will reproduce the error. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 3545] New: abstract keyword inside function causes error
http://d.puremagic.com/issues/show_bug.cgi?id=3545 Summary: abstract keyword inside function causes error Product: D Version: 1.050 Platform: x86 OS/Version: Windows Status: NEW Severity: normal Priority: P2 Component: DMD AssignedTo: nob...@puremagic.com ReportedBy: adam.chrapkow...@gmail.com --- Comment #0 from Adam Chrapkowski 2009-11-23 11:58:56 PST --- When a class is located inside function and its declaration starts from abstract keyword then occurs compilation error. For example: void func(){ // found 'abstract' instead of statement abstract final class A{ } // ok final abstract class A{ } } -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 3546] New: Aliasing an element of a static array should be legal if the index is a compile time constant
http://d.puremagic.com/issues/show_bug.cgi?id=3546 Summary: Aliasing an element of a static array should be legal if the index is a compile time constant Product: D Version: 2.036 Platform: Other OS/Version: Windows Status: NEW Severity: minor Priority: P2 Component: DMD AssignedTo: nob...@puremagic.com ReportedBy: dsim...@yahoo.com --- Comment #0 from David Simcha 2009-11-23 18:04:51 PST --- uint[3] foo; alias foo[0] bar; Error: test8.d(2): Error: alias test8.bar cannot alias an expression foo[0] Since foo is a static array and 0 is a compile time constant, there is no reason this shouldn't work. It works with tuples, and static arrays really should offer a superset of tuple functionality because they are implemented the same way as tuples with all the same type. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---