[Issue 11093] New: Can't compile DMD with VS12
d-bugmail at puremagic.com
d-bugmail at puremagic.com
Sun Sep 22 04:21:35 PDT 2013
http://d.puremagic.com/issues/show_bug.cgi?id=11093
Summary: Can't compile DMD with VS12
Product: D
Version: D2
Platform: All
OS/Version: Windows
Status: NEW
Severity: blocker
Priority: P2
Component: DMD
AssignedTo: nobody at puremagic.com
ReportedBy: temtaime at gmail.com
--- Comment #0 from Temtaime <temtaime at gmail.com> 2013-09-22 04:21:34 PDT ---
code * __pascal cat (code *c1 , code *c2 );
backend\code.h(514) : error C2146: syntax error : missing ';' before identifier
'cat'
backend\code.h(514) : error C4430: missing type specifier - int assumed. Note:
C++ does not support default-int
Resolution:
Change in code.h:514:
FROM
code * __pascal cat (code *c1 , code *c2 );
TO
code * cat (code *c1 , code *c2 );
And in cgen.c:95
FROM
#if TX86 && __INTSIZE == 4 && __SC__
__declspec(naked) code * __pascal cat(code *c1,code *c2)
{
_asm
{
mov EAX,c1-4[ESP]
mov ECX,c2-4[ESP]
test EAX,EAX
jne L6D
mov EAX,ECX
ret 8
L6D: mov EDX,EAX
cmp dword ptr [EAX],0
je L7B
L74: mov EDX,[EDX]
cmp dword ptr [EDX],0
jne L74
L7B: mov [EDX],ECX
ret 8
}
}
#else
code * __pascal cat(code *c1,code *c2)
{ code **pc;
if (!c1)
return c2;
for (pc = &code_next(c1); *pc; pc = &code_next(*pc))
;
*pc = c2;
return c1;
}
#endif
TO
code * cat(code *c1,code *c2)
{ code **pc;
if (!c1)
return c2;
for (pc = &code_next(c1); *pc; pc = &code_next(*pc))
;
*pc = c2;
return c1;
}
--
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
More information about the Digitalmars-d-bugs
mailing list