[Issue 2962] ICE(glue.c) or bad codegen passing variable as template value parameter

2009-09-10 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=2962



--- Comment #18 from Don clugd...@yahoo.com.au 2009-09-10 01:29:07 PDT ---
I don't have a patch, but it's easy to at least get the line number into the
ICE message.

glue.c line 658:

if (v-csym)
error(Bugzilla 2962 - Internal Compiler Error);

Doing this would greatly reduce frustration, and probably allow us to close bug
#3283. I'm sure it's a duplicate.

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


[Issue 947] offsetof and alignof for an enum field of a struct fail to compile

2009-09-10 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=947


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

   What|Removed |Added

 Status|NEW |RESOLVED
 CC||clugd...@yahoo.com.au
 Resolution||FIXED


--- Comment #2 from Don clugd...@yahoo.com.au 2009-09-10 05:17:59 PDT ---
This was fixed either in 1.039 or 1.041. Works in D2, as well.

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


[Issue 3190] enum doesn't work as the increment in a for loop

2009-09-10 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=3190


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

   What|Removed |Added

   Keywords||patch


--- Comment #2 from Don clugd...@yahoo.com.au 2009-09-10 05:34:59 PDT ---
There are two problems here.
PROBLEM 1: This problem only shows up in for() loops because the increment
condition isn't doing constant folding. This is a more general problem, which
also affects D1.

statement.c line 1160 (DMD 2.032).

if (increment)
{increment = increment-semantic(sc);
increment = resolveProperties(sc, increment);
+increment = increment-optimize(0);
}

This change is enough to make the bug go away, but there's another oddity:

PROBLEM 2: It only happens for enum real ONE = 1.0; but not for enum : real {
ONE = 1.0 }.
This is because expression.c DsymbolExp::semantic(Scope *sc) checks for enum
members, but not for the new D2 manifest constants. I suspect that it probably
should convert them, too, as in this second patch:

expression.c, line 2168.

if (v)
{
//printf(Identifier '%s' is a variable, type '%s'\n, toChars(),
v-type-toChars());
if (!type)
{   type = v-type;
if (!v-type)
{error(forward reference of %s %s, v-kind(), v-toChars());
type = Type::terror;
}
}
+if ((v-storage_class  STCmanifest)  v-init) {
+e = v-init-toExpression();
+e-semantic(sc);
+return e;
+}
e = new VarExp(loc, v);
e-type = type;
e = e-semantic(sc);
return e-deref();
}

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


[Issue 2342] derived nested classes in derived outer class.

2009-09-10 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=2342


David Ferenczi da...@ferenczi.net changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 CC||da...@ferenczi.net
 Resolution||DUPLICATE


--- Comment #2 from David Ferenczi da...@ferenczi.net 2009-09-10 05:43:28 PDT 
---
*** This issue has been marked as a duplicate of issue 1175 ***

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


[Issue 1175] nested class inheritance

2009-09-10 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=1175


David Ferenczi da...@ferenczi.net changed:

   What|Removed |Added

 CC||ben...@tionex.de


--- Comment #3 from David Ferenczi da...@ferenczi.net 2009-09-10 05:43:28 PDT 
---
*** Issue 2342 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 888] -cov and _ModuleInfo linking bugs

2009-09-10 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=888


David Ferenczi da...@ferenczi.net changed:

   What|Removed |Added

 CC||da...@ferenczi.net


--- Comment #7 from David Ferenczi da...@ferenczi.net 2009-09-10 06:01:02 PDT 
---
I don't encounter the problem with v2.032 on Linux.

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


[Issue 3309] `Traits` : function parameters name

2009-09-10 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=3309



--- Comment #2 from Julien Leclercq jul...@onandon.be 2009-09-10 06:59:58 PDT 
---
Created an attachment (id=450)
id.h patch

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


[Issue 3309] New: `Traits` : function parameters name

2009-09-10 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=3309

   Summary: `Traits` : function parameters name
   Product: D
   Version: future
  Platform: All
OS/Version: All
Status: NEW
  Severity: enhancement
  Priority: P2
 Component: DMD
AssignedTo: nob...@puremagic.com
ReportedBy: jul...@onandon.be


--- Comment #0 from Julien Leclercq jul...@onandon.be 2009-09-10 06:58:50 PDT 
---
Created an attachment (id=448)
traits.c patch

Hello,

I'm trying to add a small __traits keyword to traits.c to get a function
parameter names, as :

void foo(in string name) would return [ name ];
void bar(in string firstname, in string lastname) would return [
firstname, lastname ];

Thanks to Andrei  Walter for the first tips.

Please review the patch,
Thank you,
Julian.

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


[Issue 3309] `Traits` : function parameters name

2009-09-10 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=3309



--- Comment #1 from Julien Leclercq jul...@onandon.be 2009-09-10 06:59:30 PDT 
---
Created an attachment (id=449)
Test case

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


[Issue 3309] `Traits` : function parameters name

2009-09-10 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=3309



--- Comment #3 from Julien Leclercq jul...@onandon.be 2009-09-10 07:00:29 PDT 
---
Created an attachment (id=451)
id.c patch

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


File.seek OS X dmd 2.031 and 2.032

2009-09-10 Thread Jason
Bug, or (more likely) I'm doing something wrong? 

seek seems to always throw:

std.conv.ConvOverflowError: Error: overflow Conversion underflow

Thanks, Jason

//
import std.stdio;

void main(string[] args)
{
auto f = File(test.txt, w);

f.write(Hello, file!\n);
f.close;

f = File(test.txt, r);

f.seek(0L, SEEK_END); // fails
f.seek(2L); // fails

writeln(posn = , f.tell());
}

// Mac OS X, dmd v2.031 and 2.032

// both seeks give:
// std.conv.ConvOverflowError: Error: overflow Conversion underflow

// seek from Phobos, stdio.d

// void seek(long offset, int origin = SEEK_SET)
// {
// enforce(p  p.handle,
// Attempting to seek() in an unopened file);
// // @@@ Dubious: why is fseek in std.c.stdio taking an int???
// errnoEnforce(core.stdc.stdio.fseek(
// p.handle, to!int(offset), origin) == 0,
// Could not seek in file `~p.name~');
// }



[Issue 1312] invariant storage class within a struct/class

2009-09-10 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=1312


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

   What|Removed |Added

 Status|NEW |RESOLVED
 CC||clugd...@yahoo.com.au
 Resolution||FIXED


--- Comment #1 from Don clugd...@yahoo.com.au 2009-09-10 14:16:16 PDT ---
This was fixed in DMD2.022 or earlier.

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


[Issue 1410] Aliasing const-typed user defined types not working correctly.

2009-09-10 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=1410


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

   What|Removed |Added

 Status|NEW |RESOLVED
 CC||clugd...@yahoo.com.au
 Resolution||FIXED


--- Comment #1 from Don clugd...@yahoo.com.au 2009-09-10 14:16:47 PDT ---
This was fixed in DMD2.022 or earlier.

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


[Issue 1765] foreach scope does not call destructor

2009-09-10 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=1765


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

   What|Removed |Added

 Status|NEW |RESOLVED
 CC||clugd...@yahoo.com.au
 Resolution||FIXED


--- Comment #1 from Don clugd...@yahoo.com.au 2009-09-10 14:17:41 PDT ---
This was fixed in DMD2.032 (probably a side-effect of the fix for bug 2925).

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


[Issue 1929] concatenation of multi-dimensional arrays fails when holding static arrays

2009-09-10 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=1929


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

   What|Removed |Added

 Status|NEW |RESOLVED
 CC||clugd...@yahoo.com.au
 Resolution||FIXED


--- Comment #2 from Don clugd...@yahoo.com.au 2009-09-10 14:18:16 PDT ---
This was fixed in DMD2.022 or earlier.

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


[Issue 1571] Segfault(class.c) const on function parameters not carried through to .di file

2009-09-10 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=1571


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

   What|Removed |Added

   Keywords|wrong-code  |ice-on-invalid-code, patch
 CC||clugd...@yahoo.com.au
Summary|const on function   |Segfault(class.c) const on
   |parameters not carried  |function parameters not
   |through to .di file |carried through to .di file


--- Comment #1 from Don clugd...@yahoo.com.au 2009-09-10 14:21:20 PDT ---
This now segfaults. crashing ClassDeclaration::toCBuffer on members-dim when
members is null.

With the attached patch, as well as preventing the crash, the correct output is
produced.

Patch: class.c line 735 and 749. should ensure class has members,
before writing the members out!

+if(members){
buf-writenl();
buf-writeByte('{');
buf-writenl();
for (int i = 0; i  members-dim; i++)
{
Dsymbol *s = (Dsymbol *)members-data[i];

buf-writestring();

s-toCBuffer(buf, hgs);
}
buf-writestring(});
 +   }elsebuf-writestring(;);

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