[Issue 8854] incomprehensible bug on windows with import side effect

2012-12-27 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=8854


Maxim Fomin ma...@maxim-fomin.ru changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED


--- Comment #3 from Maxim Fomin ma...@maxim-fomin.ru 2012-12-27 07:56:12 PST 
---
Fixed in issue 8774

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


[Issue 8854] incomprehensible bug on windows with import side effect

2012-10-20 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=8854


Maxim Fomin ma...@maxim-fomin.ru changed:

   What|Removed |Added

 CC||ma...@maxim-fomin.ru


--- Comment #1 from Maxim Fomin ma...@maxim-fomin.ru 2012-10-20 01:11:57 PDT 
---
This happens in linux too with both options -m32 and -m64 (dmd 2.060). Also if
dummy import of std.stdio is changed to other module (eg. bigint) the bug still
happens.

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


[Issue 8854] incomprehensible bug on windows with import side effect

2012-10-20 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=8854



--- Comment #2 from Maxim Fomin ma...@maxim-fomin.ru 2012-10-20 04:12:53 PDT 
---
Forgot to mention - I cannot reproduce bug related to naming files and
directories.

Comparing disassembles of testfunc shows that they are same, except __lamda2.

Buggy version (presence of dummy import) boils down to following asm:

0x00419b84 +0:push   %rbp
0x00419b85 +1:mov%rsp,%rbp
0x00419b88 +4:sub$0x10,%rsp
0x00419b8c +8:mov(%rdi),%rax
0x00419b8f +11:leaveq 
0x00419b90 +12:retq 

However, in correct version of program without dummy import asm is:

0x00419c68 +0:push   %rbp
0x00419c69 +1:mov%rsp,%rbp
0x00419c6c +4:sub$0x10,%rsp
0x00419c70 +8:mov-0x30(%rdi),%rax
0x00419c74 +12:leaveq 
0x00419c75 +13:retq  

It seems that importing some code changes size of type.

In everything else assemblies look similar, except in changes of relatives
addresses (binaries are of different sizes.) May be worth mentioning that
running two version shows that differences started at calling opIndex of
MapStruct
(https://github.com/D-Programming-Language/phobos/blob/master/std/algorithm.d#L438).
In buggy version index=42_998_32, in correct version index=42_982_32. Both
function return same value.

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