[Issue 4938] Regression(2.047) dmd segfault when compiling
http://d.puremagic.com/issues/show_bug.cgi?id=4938 Don clugd...@yahoo.com.au changed: What|Removed |Added Keywords||ice-on-invalid-code, patch CC||clugd...@yahoo.com.au Summary|dmd segfault when compiling |Regression(2.047) dmd ||segfault when compiling Severity|normal |regression --- Comment #3 from Don clugd...@yahoo.com.au 2010-09-27 00:41:56 PDT --- It's OK, I'm able to reproduce it. TEST CASE - void bug4938() { try { return 0; } catch (Undefined4938 ee) { return 3; } } --- PATCH statement.c, line 4132. --- int TryCatchStatement::blockExit() { assert(body); int result = body-blockExit(); int catchresult = 0; for (size_t i = 0; i catches-dim; i++) { Catch *c = (Catch *)catches-data[i]; +if (c-type == Type::terror) +continue; catchresult |= c-blockExit(); /* If we're catching Object, then there is no throwing */ + assert(c-type-toBasetype()-isClassHandle()); Identifier *id = c-type-toBasetype()-isClassHandle()-ident; -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 4524] Regression(2.026) Bus error with nested struct
http://d.puremagic.com/issues/show_bug.cgi?id=4524 Don clugd...@yahoo.com.au changed: What|Removed |Added Keywords||patch --- Comment #3 from Don clugd...@yahoo.com.au 2010-09-27 03:59:07 PDT --- Caused by the fix to bug 2619. When setting the hidden pointer, the wrong offset is used, which overwrites the return stack instead. Yikes. e2ir.c, StructLiteralExp::toElem(), line 4849. Shouldn't be adjusting the 'this' pointer, because setEthis() does already adds ad-vthis-offset to it. All tests in the test suite have v-offset == 0, so this wasn't noticed before. -- if (sd-isnested) { // Initialize the hidden 'this' pointer assert(sd-fields.dim); Dsymbol *s = (Dsymbol *)sd-fields.data[sd-fields.dim - 1]; ThisDeclaration *v = s-isThisDeclaration(); assert(v); elem *e1; if (tybasic(stmp-Stype-Tty) == TYnptr) { e1 = el_var(stmp); e1-EV.sp.Voffset = soffset; } else { e1 = el_ptr(stmp); if (soffset) e1 = el_bin(OPadd, TYnptr, e1, el_long(TYsize_t, soffset)); } -e1 = el_bin(OPadd, TYnptr, e1, el_long(TYsize_t, v-offset)); e1 = setEthis(loc, irs, e1, sd); e = el_combine(e, e1); } -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 4949] New: ICE on invalid static if using value of 'this'
http://d.puremagic.com/issues/show_bug.cgi?id=4949 Summary: ICE on invalid static if using value of 'this' Product: D Version: D1 D2 Platform: Other OS/Version: Linux Status: NEW Severity: normal Priority: P2 Component: DMD AssignedTo: nob...@puremagic.com ReportedBy: ibuc...@ubuntu.com --- Comment #0 from Iain Buclaw ibuc...@ubuntu.com 2010-09-27 10:29:25 PDT --- Created an attachment (id=777) catch functions returning CANT_INTEPRET_EXP testcase: class A { bool delegate() dg; void B() { static if ( dg() ) should error graciously; } } Produces: ice.d(6): Error: value of 'this' is not known at compile time Segmentation fault (core dumped) Catching it in gdb, occurs in interpret.c at CallExp::interpret, around line 2720. A few assignments, no checking whether or not any returned EXP_CANT_INTERPRET. Currently rebuilding using the attached change... -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 4949] ICE on invalid static if using value of 'this'
http://d.puremagic.com/issues/show_bug.cgi?id=4949 Iain Buclaw ibuc...@ubuntu.com changed: What|Removed |Added Keywords||patch --- Comment #1 from Iain Buclaw ibuc...@ubuntu.com 2010-09-27 10:38:40 PDT --- Tested, I now get: ice.d(6): Error: value of 'this' is not known at compile time ice.d(6): Error: expression this.dg() is not constant or does not evaluate to a bool Which is correct, and fixes the ICE. Regards -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 1750] RegExp: lack of support for wchar, dchar; lack of lookingAt() method
http://d.puremagic.com/issues/show_bug.cgi?id=1750 --- Comment #2 from Marcin Kuszczak aa...@interia.pl 2010-09-27 11:02:35 PDT --- lookingAt() can be used on streams without a need for getting whole string from stream. Also ^ can not be used for matching some specific pattern in stream. You just can not assume that your input is starting after line end. Input can even not be splitted into lines. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 4950] New: Compiler fails an assert and crash when declaring a inmutable array of structs with a Variant[string] member
http://d.puremagic.com/issues/show_bug.cgi?id=4950 Summary: Compiler fails an assert and crash when declaring a inmutable array of structs with a Variant[string] member Product: D Version: D2 Platform: x86_64 OS/Version: Linux Status: NEW Severity: normal Priority: P2 Component: DMD AssignedTo: nob...@puremagic.com ReportedBy: juan...@gmail.com --- Comment #0 from Juanjo Alvarez juan...@gmail.com 2010-09-27 12:40:23 PDT --- This crash the compiler: import std.variant; alias string function() TestFunc; struct Crashy { Variant[string] variantmember; this(Variant[string] m) { variantmember = m; } } void get_something() { immutable Crashy[] blah = [ Crashy([one: Variant(1)]) ]; } I don't know if it is correct D2, but the compiler bails out with: dmd: expression.c:816: void expToCBuffer(OutBuffer*, HdrGenState*, Expression*, PREC): Assertion `precedence[e-op] != PREC_zero' failed. Removing the immutable works. Using DMD 2.049 -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 4950] Compiler fails an assert and crash when declaring a inmutable array of structs with a Variant[string] member
http://d.puremagic.com/issues/show_bug.cgi?id=4950 Don clugd...@yahoo.com.au changed: What|Removed |Added Keywords||ice-on-valid-code CC||clugd...@yahoo.com.au --- Comment #1 from Don clugd...@yahoo.com.au 2010-09-27 13:20:11 PDT --- A duplicate of bug 4926, I think. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 4950] Compiler fails an assert and crash when declaring a inmutable array of structs with a Variant[string] member
http://d.puremagic.com/issues/show_bug.cgi?id=4950 Juanjo Alvarez juan...@gmail.com changed: What|Removed |Added Status|NEW |RESOLVED Resolution||DUPLICATE --- Comment #2 from Juanjo Alvarez juan...@gmail.com 2010-09-27 13:25:54 PDT --- (In reply to comment #1) A duplicate of bug 4926, I think. Looks like it is, indeed, I'll resubmit once 4926 is fixed if this still happens. *** This issue has been marked as a duplicate of issue 4926 *** -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 4926] ICE: PREC_zero assertion failure due to unset precedence
http://d.puremagic.com/issues/show_bug.cgi?id=4926 Juanjo Alvarez juan...@gmail.com changed: What|Removed |Added CC||juan...@gmail.com --- Comment #3 from Juanjo Alvarez juan...@gmail.com 2010-09-27 13:25:54 PDT --- *** Issue 4950 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 4825] Regression(1.057, 2.040) Error: non-constant expression with -inline
http://d.puremagic.com/issues/show_bug.cgi?id=4825 Don clugd...@yahoo.com.au changed: What|Removed |Added Keywords||patch --- Comment #3 from Don clugd...@yahoo.com.au 2010-09-27 13:26:04 PDT --- This was caused by the improvements to CommaExp::interpret, making things like (int x=3, x); into an lvalue, which allows struct constructors to work in CTFE. But inlining can also create peculiar comma expressions. We need to make sure that non-ref returns return rvalues, not lvalues. PATCH interpret.c, ReturnStatement::interpret(), line 566. --- old #if LOG Expression *e = exp-interpret(istate); printf(e = %p\n, e); return e; #else return exp-interpret(istate); #endif --- new --- Expression *e = exp-interpret(istate); if (e == EXP_CANT_INTERPRET) return e; // Convert lvalues into rvalues if (e-op == TOKvar) e = e-interpret(istate); return e; -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 4524] Regression(2.026) Bus error with nested struct
http://d.puremagic.com/issues/show_bug.cgi?id=4524 Walter Bright bugzi...@digitalmars.com changed: What|Removed |Added Status|NEW |RESOLVED CC||bugzi...@digitalmars.com Resolution||FIXED --- Comment #4 from Walter Bright bugzi...@digitalmars.com 2010-09-27 13:29:54 PDT --- http://www.dsource.org/projects/dmd/changeset/692 -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 4364] ICE compiling a struct def named 'Object' followed by a class definition
http://d.puremagic.com/issues/show_bug.cgi?id=4364 Don clugd...@yahoo.com.au changed: What|Removed |Added CC||clugd...@yahoo.com.au --- Comment #1 from Don clugd...@yahoo.com.au 2010-09-27 13:35:10 PDT --- Root cause (no patch yet): The special cases for class names need to be moved from the class constructor, into the aggregate constructor. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 4926] ICE: PREC_zero assertion failure due to unset precedence
http://d.puremagic.com/issues/show_bug.cgi?id=4926 Walter Bright bugzi...@digitalmars.com changed: What|Removed |Added Status|NEW |RESOLVED CC||bugzi...@digitalmars.com Resolution||FIXED --- Comment #4 from Walter Bright bugzi...@digitalmars.com 2010-09-27 17:42:32 PDT --- http://www.dsource.org/projects/dmd/changeset/694 -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 3175] rejects templated ref return function
http://d.puremagic.com/issues/show_bug.cgi?id=3175 Walter Bright bugzi...@digitalmars.com changed: What|Removed |Added CC||bugzi...@digitalmars.com --- Comment #4 from Walter Bright bugzi...@digitalmars.com 2010-09-27 19:35:27 PDT --- Applied the patch http://www.dsource.org/projects/dmd/changeset/695 but the bug remains. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 4295] IID_IUnknown symbol undefined in phobos.lib
http://d.puremagic.com/issues/show_bug.cgi?id=4295 Walter Bright bugzi...@digitalmars.com changed: What|Removed |Added CC||bugzi...@digitalmars.com --- Comment #4 from Walter Bright bugzi...@digitalmars.com 2010-09-27 19:53:52 PDT --- #pragma(lib, uuid) is already present in std.c.windows.com. So, I need an example of code where the link is failing due to not linking against uuid.lib. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 4925] [ICE] segfault with module-scope assert(0)
http://d.puremagic.com/issues/show_bug.cgi?id=4925 Walter Bright bugzi...@digitalmars.com changed: What|Removed |Added Status|NEW |RESOLVED CC||bugzi...@digitalmars.com Resolution||FIXED --- Comment #1 from Walter Bright bugzi...@digitalmars.com 2010-09-27 19:57:26 PDT --- http://www.dsource.org/projects/dmd/changeset/694 -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 4951] New: InternetAddress fails to resolve host when multithreading.
http://d.puremagic.com/issues/show_bug.cgi?id=4951 Summary: InternetAddress fails to resolve host when multithreading. Product: D Version: D2 Platform: x86 OS/Version: Windows Status: NEW Severity: normal Priority: P2 Component: DMD AssignedTo: nob...@puremagic.com ReportedBy: jcao...@gmail.com --- Comment #0 from jcao...@gmail.com 2010-09-27 20:30:58 PDT --- When multiple instances of std.socket's InternetAddress are created, std.socket.AddressException: Unable to resolve host 'www.google.com' On Linux, it works. If you take out the threading, this works fine. import core.thread; import std.socket; import std.stdio; void test() { auto a = new InternetAddress(www.google.com, 80); a = new InternetAddress(www.google.com, 80); writeln(Connected successfuly.); } void main() { auto thr = new Thread(test); thr.start(); } Build 9/27/2010 on both Windows XP and 7. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 3175] rejects templated ref return function
http://d.puremagic.com/issues/show_bug.cgi?id=3175 --- Comment #5 from Shin Fujishiro rsi...@gmail.com 2010-09-27 21:00:38 PDT --- (In reply to comment #4) Applied the patch http://www.dsource.org/projects/dmd/changeset/695 but the bug remains. Are you saying the bug remains since the reproducing code in comment #0 doesn't compile? It's because the type of [1,2,3] has changed to dynamic int[]. Replacing 'auto' to 'int[3]' would make it compile. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 4941] Built-in tuple slice boundaries are not CTFE'd
http://d.puremagic.com/issues/show_bug.cgi?id=4941 Walter Bright bugzi...@digitalmars.com changed: What|Removed |Added Status|NEW |RESOLVED CC||bugzi...@digitalmars.com Resolution||FIXED --- Comment #2 from Walter Bright bugzi...@digitalmars.com 2010-09-27 21:08:58 PDT --- http://www.dsource.org/projects/dmd/changeset/696 -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 2800] Zeal excess in automatic conversion when using foreach and alias this
http://d.puremagic.com/issues/show_bug.cgi?id=2800 Shin Fujishiro rsi...@gmail.com changed: What|Removed |Added Status|NEW |RESOLVED CC||rsi...@gmail.com Resolution||FIXED --- Comment #1 from Shin Fujishiro rsi...@gmail.com 2010-09-27 21:47:16 PDT --- It was fixed in release 2.028. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---