update manual, changelog
This commit is contained in:
		
							parent
							
								
									a327c7a552
								
							
						
					
					
						commit
						f22e961f80
					
				
					 5 changed files with 27 additions and 15 deletions
				
			
		| 
						 | 
				
			
			@ -1,8 +1,11 @@
 | 
			
		|||
version 0.9.24:
 | 
			
		||||
 | 
			
		||||
- added verbosity levels -v, -vv, -vvv
 | 
			
		||||
- Accept standard input as an inputstream (Hanzac Chen)
 | 
			
		||||
- Support c89 compilers other than gcc (Hanzac Chen)
 | 
			
		||||
- -soname linker option (Marc Andre Tanner)
 | 
			
		||||
- Just warn about unknown directives, ignore quotes in #error/#warning
 | 
			
		||||
- Define __STDC_VERSION__=199901L (477)
 | 
			
		||||
 | 
			
		||||
- Switch to newer tccpe.c (includes support for resources)
 | 
			
		||||
- Handle backslashes within #include/#error/#warning
 | 
			
		||||
- Import changesets (part 4) 428,457,460,467: defines for openbsd etc.
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										2
									
								
								Makefile
									
										
									
									
									
								
							
							
						
						
									
										2
									
								
								Makefile
									
										
									
									
									
								
							| 
						 | 
				
			
			@ -66,7 +66,7 @@ test: test.ref test.out
 | 
			
		|||
	@if diff -u test.ref test.out ; then echo "Auto Test OK"; fi
 | 
			
		||||
 | 
			
		||||
tcctest.ref: tcctest.c 
 | 
			
		||||
	$(CC) $(CFLAGS) -I. -o $@ $<
 | 
			
		||||
	$(CC) $(CFLAGS) -w -I. -o $@ $<
 | 
			
		||||
 | 
			
		||||
test.ref: tcctest.ref
 | 
			
		||||
	./tcctest.ref > $@
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										31
									
								
								tcc-doc.texi
									
										
									
									
									
								
							
							
						
						
									
										31
									
								
								tcc-doc.texi
									
										
									
									
									
								
							| 
						 | 
				
			
			@ -414,13 +414,6 @@ is the same as writing
 | 
			
		|||
@end itemize
 | 
			
		||||
 | 
			
		||||
@section GNU C extensions
 | 
			
		||||
@cindex aligned attribute
 | 
			
		||||
@cindex packed attribute
 | 
			
		||||
@cindex section attribute
 | 
			
		||||
@cindex unused attribute
 | 
			
		||||
@cindex cdecl attribute
 | 
			
		||||
@cindex stdcall attribute
 | 
			
		||||
@cindex regparm attribute
 | 
			
		||||
 | 
			
		||||
TCC implements some GNU C extensions:
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -454,13 +447,22 @@ instead of
 | 
			
		|||
    @}
 | 
			
		||||
@end example
 | 
			
		||||
 | 
			
		||||
@cindex aligned attribute
 | 
			
		||||
@cindex packed attribute
 | 
			
		||||
@cindex section attribute
 | 
			
		||||
@cindex unused attribute
 | 
			
		||||
@cindex cdecl attribute
 | 
			
		||||
@cindex stdcall attribute
 | 
			
		||||
@cindex regparm attribute
 | 
			
		||||
@cindex dllexport attribute
 | 
			
		||||
 | 
			
		||||
@item The keyword @code{__attribute__} is handled to specify variable or
 | 
			
		||||
function attributes. The following attributes are supported:
 | 
			
		||||
  @itemize
 | 
			
		||||
 | 
			
		||||
  @item @code{aligned(n)}: align a variable or a structure field to n bytes
 | 
			
		||||
(must be a power of two).
 | 
			
		||||
  
 | 
			
		||||
 | 
			
		||||
  @item @code{packed}: force alignment of a variable or a structure field to
 | 
			
		||||
  1.
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -478,6 +480,8 @@ section.
 | 
			
		|||
between 1 and 3. The first @var{n} function parameters are respectively put in
 | 
			
		||||
registers @code{%eax}, @code{%edx} and @code{%ecx}.
 | 
			
		||||
 | 
			
		||||
  @item @code{dllexport}: export function from dll/executable (win32 only)
 | 
			
		||||
 | 
			
		||||
  @end itemize
 | 
			
		||||
 | 
			
		||||
Here are some examples:
 | 
			
		||||
| 
						 | 
				
			
			@ -733,10 +737,13 @@ TCC for Windows supports the native Win32 executable file format (PE-i386). It
 | 
			
		|||
generates both EXE and DLL files. DLL symbols can be imported thru DEF files
 | 
			
		||||
generated with the @code{tiny_impdef} tool.
 | 
			
		||||
 | 
			
		||||
Currently TCC for Windows cannot generate nor read PE object files, so ELF
 | 
			
		||||
object files are used for that purpose. It can be a problem if
 | 
			
		||||
interoperability with MSVC is needed. Moreover, no leading underscore is
 | 
			
		||||
currently generated in the ELF symbols.
 | 
			
		||||
On the object file level, currently TCC supports only the ELF format, not COFF 
 | 
			
		||||
as used by MINGW and MSVC. It is not possible to exchange object files or 
 | 
			
		||||
libraries between TCC and these compilers.  However libraries for TCC from objects 
 | 
			
		||||
by TCC can be made using the @code{tiny_libmaker} tool or MINGW's @code{ar}.
 | 
			
		||||
 | 
			
		||||
No leading underscore is generated in the ELF symbols.  Only functions (no 
 | 
			
		||||
data) can be exported. Bounds checking (@option{-b}) is not supported currently.
 | 
			
		||||
 | 
			
		||||
@section GNU Linker Scripts
 | 
			
		||||
@cindex scripts, linker
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										2
									
								
								tcc.c
									
										
									
									
									
								
							
							
						
						
									
										2
									
								
								tcc.c
									
										
									
									
									
								
							| 
						 | 
				
			
			@ -1035,6 +1035,7 @@ static char *pstrcat(char *buf, int buf_size, const char *s)
 | 
			
		|||
    return buf;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#ifndef LIBTCC
 | 
			
		||||
static int strstart(const char *str, const char *val, const char **ptr)
 | 
			
		||||
{
 | 
			
		||||
    const char *p, *q;
 | 
			
		||||
| 
						 | 
				
			
			@ -1050,6 +1051,7 @@ static int strstart(const char *str, const char *val, const char **ptr)
 | 
			
		|||
        *ptr = p;
 | 
			
		||||
    return 1;
 | 
			
		||||
}
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
/* extract the basename of a file */
 | 
			
		||||
static char *tcc_basename(const char *name)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -223,7 +223,7 @@ void macro_test(void)
 | 
			
		|||
#line 203 "test" 
 | 
			
		||||
    printf("__LINE__=%d __FILE__=%s\n",
 | 
			
		||||
           __LINE__, __FILE__);
 | 
			
		||||
#line 220 "tcctest.c"
 | 
			
		||||
#line 227 "tcctest.c"
 | 
			
		||||
 | 
			
		||||
    /* not strictly preprocessor, but we test it there */
 | 
			
		||||
#ifdef C99_MACROS
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		
		Reference in a new issue