[Issue 3045] Can't use ref with foreach on tuple

2009-06-02 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=3045


David Simcha dsim...@yahoo.com changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 CC||dsim...@yahoo.com
 Resolution||DUPLICATE




--- Comment #1 from David Simcha dsim...@yahoo.com  2009-06-02 05:51:21 PDT 
---


*** This issue has been marked as a duplicate of issue 2411 ***

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
--- You are receiving this mail because: ---


[Issue 3046] New: Segfault with C++ static variable

2009-06-02 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=3046

   Summary: Segfault with C++ static variable
   Product: D
   Version: 2.030
  Platform: x86
OS/Version: Linux
Status: NEW
  Keywords: ice-on-invalid-code
  Severity: normal
  Priority: P2
 Component: DMD
AssignedTo: bugzi...@digitalmars.com
ReportedBy: rsi...@gmail.com


The compiler segfaults compiling this invalid code:

class C
{
extern(C++):
static int var; // C++ variable should be error
}


The segfault happend in cpp_mangle_name() (cppmangle.c):

FuncDeclaration *fd = s-isFuncDeclaration();
if (fd-isConst())  -- HERE
buf-writeByte('K');


-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
--- You are receiving this mail because: ---


apartamentos imoveis casas de 3 quartos em Jardim Camburi

2009-06-02 Thread apartamento 3 quartos jardim camburi
Os melhores apartamentos em Jardim Camburí estão a sua espera.
Temos as melhores opções de imóveis , preços e condições de financiamento.
Contato:
Tel 0xx27 3084-5709
corretorimovei...@gmail.com
corretorimoveisjc no gmail.com

Apartamentos de 3 quartos em Jardim Camburí
Apartamentos de 3 quartos com suíte em Jardim Camburí
Imóveis de 3 quartos em Jardim Camburí
Apartamento de 3 quartos em Jardim Camburí
Casa de 3 quartos em Jardim camburi
Cobertura de frente ao Mar em Jardim camburi.
Imoveis na Planta em Jardim Camburi






[Issue 3047] New: Foreach on tuple produces incorrect result

2009-06-02 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=3047

   Summary: Foreach on tuple produces incorrect result
   Product: D
   Version: 2.030
  Platform: Other
OS/Version: Mac OS X
Status: NEW
  Keywords: wrong-code
  Severity: normal
  Priority: P2
 Component: DMD
AssignedTo: bugzi...@digitalmars.com
ReportedBy: s...@invisibleduck.org


The following code:

import std.stdio;
import std.traits;

void fn(T...)(T fns)
{
foreach(fn; fns)
{
writefln( %s, ParameterTypeTuple!(fn)[0].mangleof );
}
}

void main()
{
void a(int x) {}
void b(double y) {}
void c(Object z) {}

fn(a, b, c);
}

Prints:

i
i
i

When the type output should be int, double, Object, respectively.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
--- You are receiving this mail because: ---


[Issue 2829] ICE(expression.c) static array block-initialized in struct literal

2009-06-02 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=2829


Don clugd...@yahoo.com.au changed:

   What|Removed |Added

   Keywords||patch, rejects-valid
Summary|ICE(expression.c) accessing |ICE(expression.c) static
   |out of bounds element in a  |array block-initialized in
   |static array constant   |struct literal
   |initialized through struct  |
   |literal |
 OS/Version|Linux   |All




--- Comment #1 from Don clugd...@yahoo.com.au  2009-06-02 16:25:14 PDT ---
Title was: ICE(expression.c) accessing out of bounds element in a static array
constant initialized through struct literal
Changed since it is more general. Applies to D2 as well as D1.

-- ANALYSIS --
This is crashing in constfold.c, line 1218, crashing while doing e1-toChars()
while printing the error message. But there are also rejects-valid bugs with
the
same root cause: block assignment of arrays is buggy.
The root cause is expression.c, StructLiteralExp::getField().
In the line e-type=type is incorrect if e-type is of type K, and 'type' 
is a static array of type K.
PATCH: in such cases, create and populate an array literal.

--- expression.c(revision 27)
+++ expression.c(working copy)
@@ -3236,7 +3236,18 @@
 if (e)
 {
 e = e-copy();
+if (e-type != type  type-ty == Tsarray)
+{TypeSArray *tsa = (TypeSArray *)type;
+uinteger_t length = tsa-dim-toInteger();
+Expressions * z = new Expressions;
+z-setDim(length);
+for (int q=0; qlength; ++q) z-data[q] = e-copy();
+ArrayLiteralExp * ac = new ArrayLiteralExp(loc, z);
+ac - type = type;
+e = ac;
+} else {
 e-type = type;
+}
 }
 }
 return e;

== TEST CASE 2 -- ICE(expression.c) == For D2, change 'enum' to 'const' for D1.
struct S { int i[3]; }
enum S s = S(8);
int * p  =  s.i;

// Test case 3 -- rejects-valid
struct Q { double i[3]; }
enum Q q = Q(8.0*real.min);
const  x = q.i[2];

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
--- You are receiving this mail because: ---


[Issue 1709] ICE(cgcod.c 1522), using -O, no test case

2009-06-02 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=1709


Don clugd...@yahoo.com.au changed:

   What|Removed |Added

 CC||sj...@cs.unc.edu




--- Comment #2 from Don clugd...@yahoo.com.au  2009-06-02 16:31:01 PDT ---
*** Issue 1981 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 3044] Segfault(template.c) instantiating struct tuple constructor with zero arguments.

2009-06-02 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=3044


Don clugd...@yahoo.com.au changed:

   What|Removed |Added

   Keywords||patch
 CC||clugd...@yahoo.com.au
   Platform|Other   |x86
Summary|Bus error compiling the |Segfault(template.c)
   |following code  |instantiating struct tuple
   ||constructor with zero
   ||arguments.
 OS/Version|Mac OS X|All




--- Comment #1 from Don clugd...@yahoo.com.au  2009-06-02 17:12:40 PDT ---
Applies on all platforms. Segfaulting in template.c 854

Reduced test case shows it's caused by a tuple this() struct constructor.

struct Foo {
this(U...)(U values)  { }
}

void main(){
  new Foo;
}

Segfaulting in template.c (854)
nfargs = fargs-dim;// number of function arguments

PATCH: template.c(854)
if (!fargs) nfargs=0;
else nfargs = fargs-dim;// number of function arguments

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
--- You are receiving this mail because: ---


[Issue 3046] Segfault with C++ static variable

2009-06-02 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=3046


Don clugd...@yahoo.com.au changed:

   What|Removed |Added

 CC||clugd...@yahoo.com.au




--- Comment #1 from Don clugd...@yahoo.com.au  2009-06-02 17:24:03 PDT ---
I can't reproduce this. It works for me on Windows. Is it Linux only, or is
something missing from the test case?

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
--- You are receiving this mail because: ---


[Issue 3046] Segfault with C++ static variable

2009-06-02 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=3046





--- Comment #2 from Shin Fujishiro rsi...@gmail.com  2009-06-02 17:39:07 PDT 
---
(In reply to comment #1)
 I can't reproduce this. It works for me on Windows. Is it Linux only, or is
 something missing from the test case?

It's Linux only. On Linux, C++ name mangling is done by the front end. The
front end assumes that extern(C++) is applied only to a function, and segfaults
when extern(C++) is applied to a static variable.

On Windows, C++ name mangling is done by the backend, which can deal with C++
variable name mangling.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
--- You are receiving this mail because: ---


[Issue 2952] Segfault on exit when using array ops with arrays of doubles larger than 8 elements

2009-06-02 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=2952





--- Comment #3 from Don clugd...@yahoo.com.au  2009-06-02 18:54:03 PDT ---
I've fixed this in SVN for both D1 and D2.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
--- You are receiving this mail because: ---


[Issue 2978] Unhandled win32 exception on successful exe compilation

2009-06-02 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=2978


Don clugd...@yahoo.com.au changed:

   What|Removed |Added

 CC||clugd...@yahoo.com.au




--- Comment #4 from Don clugd...@yahoo.com.au  2009-06-02 22:52:58 PDT ---
(In reply to comment #3)
 (In reply to comment #2)
  Try running dmd under windbg.exe and see where it fails.
 
 I'm not well versed in non-symbolic debugging

You don't need to be. g

, but I've included the output
 from several runs, since the exit code was changing. Is there anything else I
 should try?

Compile a debug build of DMD:

c:\dmd\src\dmd make -fwin32.mak
c:\dmd\src\dmd copy dmd.exe c:\dmd\windows\bin

Then run dmd under windbg.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
--- You are receiving this mail because: ---