[Issue 4172] Improve varargs

2010-11-30 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=4172



--- Comment #11 from Fawzi Mohamed fa...@gmx.ch 2010-11-30 00:05:15 PST ---
This discussion might be relevant

http://dsource.org/projects/tango/ticket/1042

should the C ABI be used, then one is better off using compile time varargs
(maybe using an explicit extra tuple) to build an old-style vararg call.
Thus I would see no point in doing it, deprecating it would be better.

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


[Issue 5286] To avoid a problem with Template syntax

2010-11-30 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=5286


nfx...@gmail.com changed:

   What|Removed |Added

 CC||nfx...@gmail.com


--- Comment #3 from nfx...@gmail.com 2010-11-30 00:56:14 PST ---
(In reply to comment #1)
 I don't agree it is a source of confusion. I don't know anyone who has been
 confused by it.

But I do. I know lots of people that have come to me with this problem, saying
it made them almost not use D.

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


[Issue 5291] ref parameter and const/immutable == hole in const system

2010-11-30 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=5291


nfx...@gmail.com changed:

   What|Removed |Added

 CC||nfx...@gmail.com


--- Comment #3 from nfx...@gmail.com 2010-11-30 01:01:24 PST ---
This is actually well known. See bug 2095 or bug 4251.
I can't believe it hasn't been fixed yet.

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


[Issue 4172] Improve varargs

2010-11-30 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=4172



--- Comment #12 from nfx...@gmail.com 2010-11-30 01:09:11 PST ---
(In reply to comment #9)
 We can revisit this and look into making it more efficient later, but for now 
 I
 just want to get it working.

It's about ease of use, not efficiency. The C ABI is indeed disastrously
complex. Just look at the code here:

http://www.dsource.org/projects/druntime/browser/trunk/src/core/stdc/stdarg.d

The user has to duplicate that code, if he wants to use TypeInfos to unpack the
arguments, instead of using compile time types (that va_start) would require.
Now think how that would look like on 64 bits.

If you're going to use the 64 C ABI for D variadics, you may as well completely
remove them from D1 and D2.

I don't understand what's so hard about just creating a void*[] on the stack,
whose items points to local variables containing the actual argument data. I've
done something similar before, when I changed the associative array ABI for by
precise GC scanning patch.

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


[Issue 4224] alias this and opDispatch

2010-11-30 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=4224


Simen Kjaeraas simen.kja...@gmail.com changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 CC||simen.kja...@gmail.com
 Resolution||DUPLICATE


--- Comment #1 from Simen Kjaeraas simen.kja...@gmail.com 2010-11-30 03:19:42 
PST ---
*** This issue has been marked as a duplicate of issue 4989 ***

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


[Issue 4989] opDispatch not used when alias this is present

2010-11-30 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=4989


Simen Kjaeraas simen.kja...@gmail.com changed:

   What|Removed |Added

 CC||pelle.mans...@gmail.com


--- Comment #1 from Simen Kjaeraas simen.kja...@gmail.com 2010-11-30 03:19:43 
PST ---
*** Issue 4224 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 4989] opDispatch not used when alias this is present

2010-11-30 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=4989


Steven Schveighoffer schvei...@yahoo.com changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||DUPLICATE


--- Comment #2 from Steven Schveighoffer schvei...@yahoo.com 2010-11-30 
05:25:15 PST ---
*** This issue has been marked as a duplicate of issue 4224 ***

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


[Issue 4172] Improve varargs

2010-11-30 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=4172



--- Comment #14 from Andrei Alexandrescu and...@metalanguage.com 2010-11-30 
07:50:14 PST ---
Should we close this then? Again, for D2 the vararg problem is settled, and I
see little reason to put much work on improving D1's varargs only.

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


[Issue 5292] New: Associative array with fixed sized array as value issues a Range violation when inserting new value

2010-11-30 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=5292

   Summary: Associative array with fixed sized array as value
issues a Range violation when inserting new value
   Product: D
   Version: D2
  Platform: x86
OS/Version: Linux
Status: NEW
  Severity: major
  Priority: P2
 Component: druntime
AssignedTo: s...@invisibleduck.org
ReportedBy: chatelet.guilla...@gmail.com


--- Comment #0 from Guillaume Chatelet chatelet.guilla...@gmail.com 
2010-11-30 15:17:14 PST ---
Hi,

I'm new to D so this might not be a bug but something I misunderstood about the
language.

I want to make an associative array of fixed sized array with double as key
type.
The following code compiles
  int[2][double] map;
  map[0] = [1,2];
but fails at runtime with a Range violation

Surprisingly enough, the following code also compiles ?!
  int[1][double] map;
  map[0] = [1,2,3,4,5];
but fails alike at runtime.

It looks like the good way to do this is to use
  int[][double] map;
  map[0] = [1,2,3,4,5];

But then relaxing the type constraint... Any ideas ?

I'm using Digital Mars D Compiler v2.050 on linux x86.

Best regards,
Guillaume CHATELET

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


[Issue 5293] New: std.math: Error: shift by -48 is outside the range 0..32

2010-11-30 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=5293

   Summary: std.math: Error: shift by -48 is outside the range
0..32
   Product: D
   Version: D2
  Platform: Other
OS/Version: Linux
Status: NEW
  Severity: blocker
  Priority: P2
 Component: Phobos
AssignedTo: nob...@puremagic.com
ReportedBy: ibuc...@ubuntu.com


--- Comment #0 from Iain Buclaw ibuc...@ubuntu.com 2010-11-30 22:00:59 PST ---
On about line 1328 inside frexp is this line:

exp = (ex - F.EXPBIAS) 4 - real.mant_dig + 1;

Which produces an error when compiled. Is a blocker for building an ARM
cross-compiler.

Regards

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


[Issue 5293] std.math: Error: shift by -48 is outside the range 0..32

2010-11-30 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=5293


Iain Buclaw ibuc...@ubuntu.com changed:

   What|Removed |Added

 CC||ibuc...@ubuntu.com


--- Comment #1 from Iain Buclaw ibuc...@ubuntu.com 2010-11-30 22:08:20 PST ---
Actually, now I've woken up a bit, I *think* what it should be is:

@@ -1345,7 +1345,7 @@
 // denormal
 value *= F.RECIP_EPSILON;
 ex = vu[F.EXPPOS_SHORT]  F.EXPMASK;
-exp = (ex - F.EXPBIAS) 4 - real.mant_dig + 1;
+exp = ((ex - F.EXPBIAS) 4) - real.mant_dig + 1;
 vu[F.EXPPOS_SHORT] =
 cast(ushort)((0x8000  vu[F.EXPPOS_SHORT]) | 0x3FE0);
 }


Can someone confirm?

Regards

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