The tests are taken almost verbatim from the open source project PicoC. It can be found at https://code.google.com/p/picoc/. The tests range from very simple/trivial ones to more complicated. My view is that the more tests the better. Without tests like this I was very reluctant to make any changes to tcc for the fear of breaking things. The tests pass on Win32, OSX, Linux x86 and x86_64. One or two tests fail on each platform due to differences in the runtime library.
		
			
				
	
	
		
			33 lines
		
	
	
	
		
			455 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			33 lines
		
	
	
	
		
			455 B
		
	
	
	
		
			C
		
	
	
	
	
	
| #include <stdio.h>
 | |
| 
 | |
| int main()
 | |
| {
 | |
|    int x = 'a';
 | |
|    char y = x;
 | |
| 
 | |
|    char *a = "hello";
 | |
| 
 | |
|    printf("%s\n", a);
 | |
| 
 | |
|    int c;
 | |
|    c = *a;
 | |
| 
 | |
|    char *b;
 | |
|    for (b = a; *b != 0; b++)
 | |
|       printf("%c: %d\n", *b, *b);
 | |
| 
 | |
|    char destarray[10];
 | |
|    char *dest = &destarray[0];
 | |
|    char *src = a;
 | |
| 
 | |
|    while (*src != 0)
 | |
|       *dest++ = *src++;
 | |
| 
 | |
|    *dest = 0;
 | |
| 
 | |
|    printf("copied string is %s\n", destarray);
 | |
| 
 | |
|    return 0;
 | |
| }
 | |
| 
 | |
| /* vim: set expandtab ts=4 sw=3 sts=3 tw=80 :*/
 |