[Issue 5584] bad string representation of function types with C/Windows linkage

2012-04-25 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=5584


Rainer Schuetze  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED


--- Comment #2 from Rainer Schuetze  2012-04-25 23:15:19 
PDT ---
Looks good. Fix was in dmd 2.056 with commit
https://github.com/D-Programming-Language/dmd/commit/6c1a3e105529a7577d119a46c1427572be2eabbb

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


[Issue 7986] New: segfault in rt.lifetime.__doPostblit on array of struct

2012-04-25 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=7986

   Summary: segfault in rt.lifetime.__doPostblit on array of
struct
   Product: D
   Version: D2
  Platform: All
OS/Version: All
Status: NEW
  Severity: regression
  Priority: P2
 Component: druntime
AssignedTo: nob...@puremagic.com
ReportedBy: ricoche...@gmail.com


--- Comment #0 from Matt Peterson  2012-04-25 21:58:56 
PDT ---
Using DMD v2.060 git 900c537038932435eaebdf7c0f80926e0bd8f2f5

postblitbug.d


struct X {}

void main() {
X[] xs;
xs ~= [X()];
}


gdb backtrace:

#0  0x0001 in ?? ()
#1  0x0041ef10 in rt.lifetime.__doPostblit() (ti=0x630550, len=1, 
ptr=0x77ec5fe0) at src/rt/lifetime.d:589
#2  0x004162dc in _d_arrayappendT (ti=0x77ec5fe0, x=0x429620,
y=...)
at src/rt/lifetime.d:1611
#3  0x004149fa in D main ()

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


[Issue 3866] anonymous delegate with default parameters cross-talks to another anonymous delegate

2012-04-25 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=3866


Walter Bright  changed:

   What|Removed |Added

 CC||bugzi...@digitalmars.com


--- Comment #3 from Walter Bright  2012-04-25 
20:35:30 PDT ---
Moving the default arguments out of the type and into the function declaration
will resolve the problem, at the cost of you would no longer be able to have
default arguments for function literals or any pointers to functions.

Perhaps that's a good thing.

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


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

2012-04-25 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=2962



--- Comment #39 from github-bugzi...@puremagic.com 2012-04-25 16:27:25 PDT ---
Commit pushed to dmd-1.x at https://github.com/D-Programming-Language/dmd

https://github.com/D-Programming-Language/dmd/commit/d5a33a1cbeedec2ea65ba480636caaf78ca05117
fix Issue 2962 - ICE(glue.c) or bad codegen passing variable as template value
parameter

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


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

2012-04-25 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=2962


Walter Bright  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 CC||bugzi...@digitalmars.com
 Resolution||FIXED


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


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

2012-04-25 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=2962



--- Comment #40 from github-bugzi...@puremagic.com 2012-04-25 16:27:51 PDT ---
Commit pushed to master at https://github.com/D-Programming-Language/dmd

https://github.com/D-Programming-Language/dmd/commit/900c537038932435eaebdf7c0f80926e0bd8f2f5
fix Issue 2962 - ICE(glue.c) or bad codegen passing variable as template value
parameter

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


[Issue 5570] 64 bit C ABI not followed for passing structs and complex numbers as function parameters

2012-04-25 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=5570


Johan Hernandez  changed:

   What|Removed |Added

 CC||thepumpkin1...@gmail.com


--- Comment #13 from Johan Hernandez  2012-04-25 
11:19:32 PDT ---
This is definitely a blocker, please fix this, this is a huge issue on OSX too.

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


[Issue 7041] [PATCH] Add -di option to show deprecated errors as warnings

2012-04-25 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=7041



--- Comment #5 from Leandro Lucarella  
2012-04-25 04:58:58 PDT ---
(In reply to comment #4)
> Please see this pull request:
> https://github.com/D-Programming-Language/dmd/pull/908
> 
> It only includes the patch adding the deprecation() function. I think is good
> independently of the discussion about adding deprecations as warnings.

Pull request for dmd-1.x branch:
https://github.com/D-Programming-Language/dmd/pull/909

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


[Issue 7041] [PATCH] Add -di option to show deprecated errors as warnings

2012-04-25 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=7041



--- Comment #4 from Leandro Lucarella  
2012-04-25 04:43:27 PDT ---
Please see this pull request:
https://github.com/D-Programming-Language/dmd/pull/908

It only includes the patch adding the deprecation() function. I think is good
independently of the discussion about adding deprecations as warnings.

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


[Issue 7984] why is there a hidden field this in nested struct with non-static methods

2012-04-25 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=7984


Don  changed:

   What|Removed |Added

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


--- Comment #2 from Don  2012-04-25 03:01:02 PDT ---
There may be a valid spec bug here: the 'structs and unions' page says that a
struct is a POD, but it's not true in the case of nested structs.

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


[Issue 7984] why is there a hidden field this in nested struct with non-static methods

2012-04-25 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=7984


Jonathan M Davis  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 CC||jmdavisp...@gmx.com
 Resolution||INVALID


--- Comment #1 from Jonathan M Davis  2012-04-25 02:40:00 
PDT ---
Why are you asking a question in a bug report? Bugzilla is for bug reports and
enhancement requests, not questions. Please ask questions in the newsgroup:

http://forum.dlang.org/

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


[Issue 2328] setTypeInfo in gc.d backwards.

2012-04-25 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=2328



--- Comment #2 from github-bugzi...@puremagic.com 2012-04-25 01:43:15 PDT ---
Commit pushed to phobos-1.x at https://github.com/D-Programming-Language/phobos

https://github.com/D-Programming-Language/phobos/commit/e13d211422f71a681f08bf28df2c54bd7bf9dc88
fix Issue 2328 - setTypeInfo in gc.d backwards.

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


[Issue 5650] A RedBlackTree performance problem

2012-04-25 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=5650



--- Comment #11 from SomeDude  2012-04-25 01:24:40 
PDT ---
I noticed that just after compilation, the first run is always slightly longer
than the following ones by about 50 to 80 ms.

The other observation, - and that's crazy -, is if I uncomment the line
   writeln(walkLength(t[]));
I am consistently *faster* by 10 to 25 ms than when it's commented !!

My dmd measurements are done via Powershell command:
Measure-Command{./bug.exe}

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


[Issue 5650] A RedBlackTree performance problem

2012-04-25 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=5650



--- Comment #10 from SomeDude  2012-04-25 01:12:19 
PDT ---
For range = 100, n = 10_000_000

Eclipse, JVM1.6 with option -Xmx512M : 381 ms
dmd -O -release -inline (2.059): around 1800 ms

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


[Issue 1838] Missing redundant symbols make compile time monsters

2012-04-25 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=1838


Walter Bright  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||WORKSFORME


--- Comment #3 from Walter Bright  2012-04-25 
01:13:49 PDT ---
I don't believe this is an issue any more. To create libraries from multiple
files, just list all the files on one command line, and specify -lib. dmd will
produce fine grained object files, sometimes many per source file.

This is the way Phobos is currently built, for example.

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


[Issue 5650] A RedBlackTree performance problem

2012-04-25 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=5650



--- Comment #9 from SomeDude  2012-04-25 00:56:28 
PDT ---
Ah ok, my measurements (Core2Duo 2,14GHz, 2Gb RAM WinXP SP3):

range = 100_000_000
n = 10_000_000

Eclipse, JVM1.6 with option -Xmx512M : 9781 ms  537Mb RAM (note that I don't
have a server JVM)
dmd -O -release -inline (2.059): 25367 ms , 321 Mb RAM

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


[Issue 7985] New: Impossible to cast interface/object reference to void* in presence of 'alias this'

2012-04-25 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=7985

   Summary: Impossible to cast interface/object reference to void*
in presence of 'alias this'
   Product: D
   Version: D2
  Platform: All
OS/Version: All
Status: NEW
  Severity: normal
  Priority: P2
 Component: DMD
AssignedTo: nob...@puremagic.com
ReportedBy: samu...@voliacable.com


--- Comment #0 from Max Samukha  2012-04-25 00:48:26 
PDT ---
struct S
{
}

interface I
{
@property S foo();
alias foo this;
}

class A
{
@property S foo() {  return S(); }
alias foo this;
}

void main()
{
A a;
I i;
auto ap = cast(void*)a;
auto ip = cast(void*)i;   
}

Error: cannot cast from S to void*

It is easy to workaround for class objects by casting the reference to Object
first. Interfaces require more voodoo.

Can we just have a .ptr property on class/interface references?

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


[Issue 7958] Uniform Function Call fails if class defined inside a function

2012-04-25 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=7958



--- Comment #1 from thelastmamm...@gmail.com 2012-04-25 00:34:07 PDT ---
EDIT:
more importantly, it also fails if fun() is defined inside a function:

//this doesn't work:
class A{ int x; }

void myfunction(){
int fun(A a){return a.x;}
A a=new A; 
auto x=a.fun; //fails
}

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


[Issue 7984] New: why is there a hidden field this in nested struct with non-static methods

2012-04-25 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=7984

   Summary: why is there a hidden field this in nested struct with
non-static methods
   Product: D
   Version: D2
  Platform: All
OS/Version: All
Status: NEW
  Severity: normal
  Priority: P2
 Component: DMD
AssignedTo: nob...@puremagic.com
ReportedBy: thelastmamm...@gmail.com


--- Comment #0 from thelastmamm...@gmail.com 2012-04-25 00:27:20 PDT ---
Why is there a hidden field "this" in a struct with non-static methods that is
defined in a function?

given: 
void myfunction(){
   struct C1{int n; }
   struct C2{int n; void fun(){}}
   writeln(C1.init); //prints C(0)
   writeln(C1.init.sizeof); //prints 4
   writeln(C2.init); //prints C(0,null)
   writeln(C2.init.sizeof); //prints 8 (on 32bit)
}

In visualD, C2 appears as {n=0 this=0x }. this only occurs when C2 has
at least 1 non-static method. 

* Why is this, since C2 seems to be a POD ?
* the "this" field seems to be always 0x (from inspection in visualD)
* the hidden extra field (and extra size) disappears when C2 is not defined
inside a function, or is defined in a class. 


I couldn't find any related info in the book nor the docs.
Thanks!

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