-
-
Notifications
You must be signed in to change notification settings - Fork 64
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
fix: tinycc include tests and examples needed by configure
- Loading branch information
Showing
321 changed files
with
20,307 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
#!/usr/local/bin/tcc -run | ||
#include <tcclib.h> | ||
|
||
int main() | ||
{ | ||
printf("Hello World\n"); | ||
return 0; | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,98 @@ | ||
#include <stdlib.h> | ||
#include <stdio.h> | ||
|
||
#define N 20 | ||
|
||
int nb_num; | ||
int tab[N]; | ||
int stack_ptr; | ||
int stack_op[N]; | ||
int stack_res[60]; | ||
int result; | ||
|
||
int find(int n, int i1, int a, int b, int op) | ||
{ | ||
int i, j; | ||
int c; | ||
|
||
if (stack_ptr >= 0) { | ||
stack_res[3*stack_ptr] = a; | ||
stack_op[stack_ptr] = op; | ||
stack_res[3*stack_ptr+1] = b; | ||
stack_res[3*stack_ptr+2] = n; | ||
if (n == result) | ||
return 1; | ||
tab[i1] = n; | ||
} | ||
|
||
for(i=0;i<nb_num;i++) { | ||
for(j=i+1;j<nb_num;j++) { | ||
a = tab[i]; | ||
b = tab[j]; | ||
if (a != 0 && b != 0) { | ||
|
||
tab[j] = 0; | ||
stack_ptr++; | ||
|
||
if (find(a + b, i, a, b, '+')) | ||
return 1; | ||
if (find(a - b, i, a, b, '-')) | ||
return 1; | ||
if (find(b - a, i, b, a, '-')) | ||
return 1; | ||
if (find(a * b, i, a, b, '*')) | ||
return 1; | ||
if (b != 0) { | ||
c = a / b; | ||
if (find(c, i, a, b, '/')) | ||
return 1; | ||
} | ||
|
||
if (a != 0) { | ||
c = b / a; | ||
if (find(c, i, b, a, '/')) | ||
return 1; | ||
} | ||
|
||
stack_ptr--; | ||
tab[i] = a; | ||
tab[j] = b; | ||
} | ||
} | ||
} | ||
|
||
return 0; | ||
} | ||
|
||
int main(int argc, char **argv) | ||
{ | ||
int i, res, p; | ||
|
||
if (argc < 3) { | ||
printf("usage: %s: result numbers...\n" | ||
"Try to find result from numbers with the 4 basic operations.\n", argv[0]); | ||
exit(1); | ||
} | ||
|
||
p = 1; | ||
result = atoi(argv[p]); | ||
printf("result=%d\n", result); | ||
nb_num = 0; | ||
for(i=p+1;i<argc;i++) { | ||
tab[nb_num++] = atoi(argv[i]); | ||
} | ||
|
||
stack_ptr = -1; | ||
res = find(0, 0, 0, 0, ' '); | ||
if (res) { | ||
for(i=0;i<=stack_ptr;i++) { | ||
printf("%d %c %d = %d\n", | ||
stack_res[3*i], stack_op[i], | ||
stack_res[3*i+1], stack_res[3*i+2]); | ||
} | ||
return 0; | ||
} else { | ||
printf("Impossible\n"); | ||
return 1; | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
#include <tcclib.h> | ||
|
||
int fib(n) | ||
{ | ||
if (n <= 2) | ||
return 1; | ||
else | ||
return fib(n-1) + fib(n-2); | ||
} | ||
|
||
int main(int argc, char **argv) | ||
{ | ||
int n; | ||
if (argc < 2) { | ||
printf("usage: fib n\n" | ||
"Compute nth Fibonacci number\n"); | ||
return 1; | ||
} | ||
|
||
n = atoi(argv[1]); | ||
printf("fib(%d) = %d\n", n, fib(n, 2)); | ||
return 0; | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,26 @@ | ||
#!/usr/local/bin/tcc -run -L/usr/X11R6/lib -lX11 | ||
#include <stdlib.h> | ||
#include <stdio.h> | ||
#include <X11/Xlib.h> | ||
|
||
/* Yes, TCC can use X11 too ! */ | ||
|
||
int main(int argc, char **argv) | ||
{ | ||
Display *display; | ||
Screen *screen; | ||
|
||
display = XOpenDisplay(""); | ||
if (!display) { | ||
fprintf(stderr, "Could not open X11 display\n"); | ||
exit(1); | ||
} | ||
printf("X11 display opened.\n"); | ||
screen = XScreenOfDisplay(display, 0); | ||
printf("width = %d\nheight = %d\ndepth = %d\n", | ||
screen->width, | ||
screen->height, | ||
screen->root_depth); | ||
XCloseDisplay(display); | ||
return 0; | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
#include <stdlib.h> | ||
#include <stdio.h> | ||
|
||
int main() | ||
{ | ||
printf("Hello World\n"); | ||
return 0; | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
/* This file is to test compute #include directives. It's named so | ||
that it starts with a pre-processing number which isn't a valid | ||
number (42test.h). Including this must work. */ | ||
#ifndef INC42_FIRST | ||
int have_included_42test_h; | ||
#define INC42_FIRST | ||
#elif !defined INC42_SECOND | ||
#define INC42_SECOND | ||
int have_included_42test_h_second; | ||
#else | ||
#define INC42_THIRD | ||
int have_included_42test_h_third; | ||
#endif |
Oops, something went wrong.