compiler.cfg.builder.*: fix for tests that broke on windows

char-rename
Björn Lindqvist 2016-08-05 01:01:25 +02:00
parent 2f12413595
commit 1b08ef3593
3 changed files with 20 additions and 16 deletions

View File

@ -3,7 +3,7 @@ compiler.cfg.builder.alien compiler.cfg.builder.alien.params
compiler.cfg.builder.blocks compiler.cfg.instructions
compiler.cfg.registers compiler.test compiler.tree.builder
compiler.tree.optimizer cpu.architecture cpu.x86.assembler
cpu.x86.assembler.operands kernel make namespaces sequences
cpu.x86.assembler.operands kernel literals make namespaces sequences
stack-checker.alien system tools.test words ;
IN: compiler.cfg.builder.alien.tests
@ -43,13 +43,22 @@ IN: compiler.cfg.builder.alien.tests
! caller-parameters
cpu x86.64? [
{
V{
{ 1 int-rep RDI }
{ 2 float-rep XMM0 }
{ 3 double-rep XMM1 }
{ 4 int-rep RSI }
}
${
os windows? [
V{
{ 1 int-rep RCX }
{ 2 float-rep XMM1 }
{ 3 double-rep XMM2 }
{ 4 int-rep R9 }
}
] [
V{
{ 1 int-rep RDI }
{ 2 float-rep XMM0 }
{ 3 double-rep XMM1 }
{ 4 int-rep RSI }
}
] if
V{ }
} [
void { int float double char } cdecl f "func"

View File

@ -22,7 +22,7 @@ HOOK: flatten-struct-type cpu ( type -- pairs )
HOOK: flatten-struct-type-return cpu ( type -- pairs )
M: object flatten-struct-type
heap-size cell align cell /i { int-rep f f } <repetition> ;
heap-size cell align cell /i { int-rep f f } <array> ;
M: struct-c-type flatten-c-type
flatten-struct-type ;

View File

@ -1,15 +1,10 @@
USING: alien compiler.cfg.builder.alien.params cpu.architecture
cpu.x86.assembler.operands kernel system tools.test ;
cpu.x86.assembler.operands kernel literals system tools.test ;
IN: compiler.cfg.builder.alien.params.tests
! next-reg-param
cpu x86.64? [
{
RDI
XMM0
XMM1
RSI
} [
os windows? { RCX XMM1 XMM2 R9 } { RDI XMM0 XMM1 RSI } ? [
cdecl param-regs init-regs
f int-rep next-reg-param
f double-rep next-reg-param