diff options
author | Thomas Preud'homme <robotux@debian.org> | 2018-02-23 23:39:54 +0000 |
---|---|---|
committer | Thomas Preud'homme <robotux@debian.org> | 2018-02-23 23:39:54 +0000 |
commit | 6ff03085ca236f6748959826728c986600fa66bd (patch) | |
tree | fc30b3b3fe20cc005634818512dab3514acf8ef4 /tests/asm-c-connect-1.c |
Import tcc_0.9.27.orig.tar.bz2
[dgit import orig tcc_0.9.27.orig.tar.bz2]
Diffstat (limited to 'tests/asm-c-connect-1.c')
-rw-r--r-- | tests/asm-c-connect-1.c | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/tests/asm-c-connect-1.c b/tests/asm-c-connect-1.c new file mode 100644 index 0000000..8a28d78 --- /dev/null +++ b/tests/asm-c-connect-1.c @@ -0,0 +1,57 @@ +#include <stdio.h> + +#if defined _WIN32 && !defined __TINYC__ +# define _ "_" +#else +# define _ +#endif + +static int x1_c(void) +{ + printf(" x1"); + return 1; +} + +asm(".text;"_"x1: call "_"x1_c; ret"); + +void callx4(void); +void callx5_again(void); + +void x6() +{ + printf(" x6-1"); +} + +int main(int argc, char *argv[]) +{ + printf("*"); + asm("call "_"x1"); + asm("call "_"x2"); + asm("call "_"x3"); + callx4(); + asm("call "_"x5"); + callx5_again(); + x6(); + printf(" *\n"); + return 0; +} + +static +int x2(void) +{ + printf(" x2"); + return 2; +} + +extern int x3(void); + +void x4(void) +{ + printf(" x4"); +} + +void x5(void); +void x5(void) +{ + printf(" x5"); +} |