[Issue 4938] Regression(2.047) dmd segfault when compiling

2010-09-27 Thread d-bugmail
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

2010-09-27 Thread d-bugmail
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'

2010-09-27 Thread d-bugmail
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'

2010-09-27 Thread d-bugmail
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

2010-09-27 Thread d-bugmail
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

2010-09-27 Thread d-bugmail
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

2010-09-27 Thread d-bugmail
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

2010-09-27 Thread d-bugmail
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

2010-09-27 Thread d-bugmail
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

2010-09-27 Thread d-bugmail
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

2010-09-27 Thread d-bugmail
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

2010-09-27 Thread d-bugmail
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

2010-09-27 Thread d-bugmail
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

2010-09-27 Thread d-bugmail
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

2010-09-27 Thread d-bugmail
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)

2010-09-27 Thread d-bugmail
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.

2010-09-27 Thread d-bugmail
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

2010-09-27 Thread d-bugmail
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

2010-09-27 Thread d-bugmail
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

2010-09-27 Thread d-bugmail
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: ---