Adjust asm-c-connect testcase for Windows
Calling conventions are different, let's use functions without any arguments.
This commit is contained in:
		
							parent
							
								
									4266ebd69c
								
							
						
					
					
						commit
						3494e5de3a
					
				
					 1 changed files with 12 additions and 11 deletions
				
			
		| 
						 | 
				
			
			@ -1,23 +1,24 @@
 | 
			
		|||
#include <stdio.h>
 | 
			
		||||
 | 
			
		||||
#if defined _WIN32 && !defined __TINYC__
 | 
			
		||||
# define U "_"
 | 
			
		||||
# define _ "_"
 | 
			
		||||
#else
 | 
			
		||||
# define U
 | 
			
		||||
# define _
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
const char str[] = "x1\n";
 | 
			
		||||
#ifdef __x86_64__
 | 
			
		||||
asm(U"x1: push %rbp; mov $"U"str, %rdi; call "U"printf; pop %rbp; ret");
 | 
			
		||||
#elif defined (__i386__)
 | 
			
		||||
asm(U"x1: push $"U"str; call "U"printf; pop %eax; ret");
 | 
			
		||||
#endif
 | 
			
		||||
static int x1_c(void)
 | 
			
		||||
{
 | 
			
		||||
    printf("x1\n");
 | 
			
		||||
    return 1;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
asm(".text;"_"x1: call "_"x1_c; ret");
 | 
			
		||||
 | 
			
		||||
int main(int argc, char *argv[])
 | 
			
		||||
{
 | 
			
		||||
    asm("call "U"x1");
 | 
			
		||||
    asm("call "U"x2");
 | 
			
		||||
    asm("call "U"x3");
 | 
			
		||||
    asm("call "_"x1");
 | 
			
		||||
    asm("call "_"x2");
 | 
			
		||||
    asm("call "_"x3");
 | 
			
		||||
    return 0;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		
		Reference in a new issue