[Issue 3463] Integrate Precise Heap Scanning Into the GC

2011-04-13 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=3463


Walter Bright  changed:

   What|Removed |Added

 CC||bugzi...@digitalmars.com


--- Comment #87 from Walter Bright  2011-04-13 
21:51:35 PDT ---
The idea, as I understand it, is to supply a bit mask of where the pointers
are. For me, the difficulties are:

1. distinguishing real pointers from might-be-a-pointer (such as you might get
from union { int a; void* p; }).

2. large static arrays, large structs/classes, structs with large static array
members, etc.

The amount of static data dedicated to such bit arrays could get very large.

I see two solutions:

1. if it is case (1) or (2), give up for that type and revert to the current
method of scanning that object

2. devise a 'state machine' instead that the gc executes for a type. The state
machine has instructions like "advance n bytes to the next pointer" and "the
next pointer is ambiguous" and "execute the following sequence n times."

I don't see an obvious choice which is better.

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


[Issue 5657] Temporary object destruction

2011-04-13 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=5657


bearophile_h...@eml.cc changed:

   What|Removed |Added

 CC||bearophile_h...@eml.cc


--- Comment #3 from bearophile_h...@eml.cc 2011-04-13 16:12:05 PDT ---
Code in online paste sites like ideone often gets deleted. So I suggest to
avoid their usage in Bugzilla, and to just inline the text or add attaches.

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


[Issue 5657] Temporary object destruction

2011-04-13 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=5657


Kenji Hara  changed:

   What|Removed |Added

   Keywords||patch
 CC||k.hara...@gmail.com


--- Comment #2 from Kenji Hara  2011-04-13 14:52:41 PDT ---
I try to fix remains.

Test code:
http://ideone.com/5pxTX

Test result:
http://ideone.com/YeE10

Patch:
https://github.com/9rnsr/dmd/compare/master...tempDtor_fix

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


[Issue 5612] core.cpuid not implemented on 64

2011-04-13 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=5612


Don  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED


--- Comment #9 from Don  2011-04-13 13:50:34 PDT ---
https://github.com/D-Programming-Language/druntime/commit/5959d1e1cfecf0755db4cc14c2b595aa0a797bde

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


[Issue 5777] Move semantics require full spec NRVO

2011-04-13 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=5777



--- Comment #3 from Kenji Hara  2011-04-13 10:38:46 PDT ---
On trunk dmd, this code cannot compile because of fixing bug4499.

import std.algorithm;

struct S
{
  @disable this(this){}
  ~this(){}
}

void main()
{
  S s1;
  S s2 = move(s1);
}


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


[Issue 5843] New: Unable to format (writeln) a struct with an alias-this to long/ulong.

2011-04-13 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=5843

   Summary: Unable to format (writeln) a struct with an alias-this
to long/ulong.
   Product: D
   Version: D2
  Platform: Other
OS/Version: Mac OS X
Status: NEW
  Keywords: rejects-valid
  Severity: normal
  Priority: P2
 Component: Phobos
AssignedTo: nob...@puremagic.com
ReportedBy: kenn...@gmail.com


--- Comment #0 from kenn...@gmail.com 2011-04-13 09:03:00 PDT ---
Test case:

-
import std.stdio;

struct S {
ulong a;
alias a this;
}

void main() {
writeln(S.init);
}
-

As of 2.052, this code generates compile-time error with


/usr/include/phobos/std/conv.d(99): Error: template std.conv.toImpl(T,S) if
(!implicitlyConverts!(S,T) && isSomeString!(T) && isInputRange!(Unqual!(S)) &&
isSomeChar!(ElementType!(S))) does not match any function template declaration
/usr/include/phobos/std/conv.d(99): Error: template std.conv.toImpl(T,S) if
(!implicitlyConverts!(S,T) && isSomeString!(T) && isInputRange!(Unqual!(S)) &&
isSomeChar!(ElementType!(S))) cannot deduce template function from argument
types !(int)(S)
/usr/include/phobos/std/conv.d(99): Error: template instance errors
instantiating template
/usr/include/phobos/std/format.d(1630): Error: template instance
std.conv.to!(int).to!(S) error instantiating
/usr/include/phobos/std/format.d(335):instantiated from here:
getNthInt!(S)
/usr/include/phobos/std/stdio.d(660):instantiated from here:
formattedWrite!(LockingTextWriter,immutable(char),S)
/usr/include/phobos/std/stdio.d(1493):instantiated from here:
write!(S,char)
x.d(9):instantiated from here: writeln!(S)
/usr/include/phobos/std/format.d(335): Error: template instance
std.format.getNthInt!(S) error instantiating
/usr/include/phobos/std/stdio.d(660):instantiated from here:
formattedWrite!(LockingTextWriter,immutable(char),S)
/usr/include/phobos/std/stdio.d(1493):instantiated from here:
write!(S,char)
x.d(9):instantiated from here: writeln!(S)

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


[Issue 5842] New: hash table corruption

2011-04-13 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=5842

   Summary: hash table corruption
   Product: D
   Version: D1
  Platform: Other
OS/Version: Windows
Status: NEW
  Severity: major
  Priority: P2
 Component: DMD
AssignedTo: nob...@puremagic.com
ReportedBy: m...@vermi.fr


--- Comment #0 from Vermi  2011-04-13 06:52:39 PDT ---
When emptying a hash table, rehash it and fill it, an error occure.

Code sample :
void main()
{
string[ string ] test = null;

test[ "test1" ] = "test1";
test.remove("test1");

test.rehash;

test[ "test3" ] = "test3";
}

Result:
Error: Interger Divide by Zero

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


[Issue 5841] alias grammar is incorrect

2011-04-13 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=5841


Bernard Helyer  changed:

   What|Removed |Added

   Severity|normal  |minor


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


[Issue 5841] New: alias grammar is incorrect

2011-04-13 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=5841

   Summary: alias grammar is incorrect
   Product: D
   Version: D2
  Platform: Other
OS/Version: Linux
Status: NEW
  Severity: normal
  Priority: P2
 Component: websites
AssignedTo: nob...@puremagic.com
ReportedBy: blood.of.l...@gmail.com


--- Comment #0 from Bernard Helyer  2011-04-13 
06:28:56 PDT ---
http://www.digitalmars.com/d/2.0/declaration.html

Declares alias as such:

alias Decl

where Decl includes:

BasicType Declarator FunctionBody

and declarators with empty parameter lists. None of these are parsed by DMD.

I understand that it's probably to keep it simple, but still.

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


[Issue 5529] std.system.endian for pure functions?

2011-04-13 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=5529


kenn...@gmail.com changed:

   What|Removed |Added

 CC||kenn...@gmail.com


--- Comment #1 from kenn...@gmail.com 2011-04-13 04:42:18 PDT ---
A simple patch is to replace that 'const' with 'immutable'.


diff --git a/std/system.d b/std/system.d
index 8b205cb..862e99f 100644
--- a/std/system.d
+++ b/std/system.d
@@ -18,7 +18,7 @@
  */
 module std.system;

-const
+immutable
 {

 // Operating system family

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