463 lines
		
	
	
	
		
			18 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			463 lines
		
	
	
	
		
			18 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
Version 0.9.27:
 | 
						|
 | 
						|
Licensing:
 | 
						|
 | 
						|
- TinyCC partly relicensed to MIT license
 | 
						|
 | 
						|
User interface:
 | 
						|
 | 
						|
- define __STDC_HOSTED__ (Michael Matz, Urs Janssen)
 | 
						|
- added support for CPATH, C_INCLUDE_PATH and LD_LIBRARY_PATH (Andrew Aladjev
 | 
						|
and Urs Janssen)
 | 
						|
- added option -norunsrc to control argv[0] with tcc -run (James Lyon)
 | 
						|
 | 
						|
Features:
 | 
						|
 | 
						|
- added ABI tests with native compiler using libtcc (James Lyon)
 | 
						|
- added CMake build system with support for cross-compilation (James Lyon)
 | 
						|
- improved variable length array support (James Lyon)
 | 
						|
- add the possibility to use noname functions by ordinal (YX Hao)
 | 
						|
- add a install-strip target to install tcc (Thomas Preud'homme)
 | 
						|
 | 
						|
Platforms:
 | 
						|
- support Debian GNU/kfreeBSD 64bit userspace (Thomas Preud'homme)
 | 
						|
- fix GNU/Hurd interpreter path (Thomas Preud'homme)
 | 
						|
- fix configure script for FreeBSD host (Thomas Preud'homme)
 | 
						|
- make tcc -run work reliably on ARM by flushing caches (Thomas Preud'homme)
 | 
						|
- many x86-64 ABI fixes incl. XMM register passing (James Lyon)
 | 
						|
- improve compatibility with mingw's long double (James Lyon)
 | 
						|
- avoid .stabstr section name to be truncated on win32 (Roy)
 | 
						|
- add support for load/store of _Bool value (Thomas Preud'homme)
 | 
						|
- detect instruction with incorrect operands on x86-64 (Thomas Preud'homme)
 | 
						|
- improved relocations on ARM (Thomas Preud'homme)
 | 
						|
- add va_* macro implementation for ARM (Thomas Preud'homme)
 | 
						|
- define __ARM_EABI__, __ARMEL__ and __ARM_PCS_VFP (Thomas Preud'homme)
 | 
						|
- provide a runtime library for ARM (Thomas Preud'homme)
 | 
						|
- improved support for ARM hard float calling convention (Thomas Preud'homme,
 | 
						|
Daniel Glöckner)
 | 
						|
 | 
						|
Bug fixes:
 | 
						|
- various code cleaning (Urs Janssen)
 | 
						|
- fixes of other's patches (grischka, Ramsay Jones)
 | 
						|
- fix documentation about __TINYC__ (Urs Janssen)
 | 
						|
- improve build of documentation (Urs Janssen)
 | 
						|
- improve build instructions (Jov)
 | 
						|
- switch from texi2html to makeinfo --html to build tcc-doc.html (James Lyon)
 | 
						|
- improve out of tree build (James Lyon)
 | 
						|
- improved passing and returning of struct (James Lyon)
 | 
						|
- fix CMake build on i386 and x86-64 (James Lyon)
 | 
						|
- fix i386 calling convention issue (James Lyon)
 | 
						|
- fix error in Windows build of tests (James Lyon)
 | 
						|
- fix x86-64 long double passing (James Lyon)
 | 
						|
- fix crash with undefined struct (grischka)
 | 
						|
- normalize slashes on win32 to always use backslashes (grischka)
 | 
						|
- use runtime function for float to int conversion on i386 (grischka)
 | 
						|
- improved documentation for include and lib lookup on win32 (grischka)
 | 
						|
- detect redefinition of function (Thomas Preud'homme)
 | 
						|
- detect the use of array of functions (Thomas Preud'homme)
 | 
						|
- detect use of enumerator with wrong enumeration (Thomas Preud'homme)
 | 
						|
- detect redefinition of enumerator or enumeration (Thomas Preud'homme)
 | 
						|
- set the user-defined library search paths first (Vittorio Giovara)
 | 
						|
- detect usage of incomplete types inside struct/union (Amine Najahi)
 | 
						|
- various macro bug fixes (Joseph Poirier)
 | 
						|
- avoid wrong trigger of assert on x86-64 platform (Thomas Preud'homme)
 | 
						|
- fix NaN comparison (Thomas Preud'homme)
 | 
						|
- use libtcc for static linking with runtime library (Thomas Preud'homme)
 | 
						|
- fix negation of 0.0 and -0.0 values (Thomas Preud'homme)
 | 
						|
 | 
						|
version 0.9.26:
 | 
						|
 | 
						|
User interface:
 | 
						|
- -MD/-MF (automatically generate dependencies for make)
 | 
						|
- -pthread option (same as -D_REENTRANT -lpthread) (Henry Kroll III)
 | 
						|
- -m32/-m64 to re-exec cross compiler (Henry Kroll III)
 | 
						|
- -Wl, Mimic all GNU -option forms supported by ld (Kirill Smelkov)
 | 
						|
- new LIBTCCAPI tcc_set_options() (grischka)
 | 
						|
 | 
						|
Platforms:
 | 
						|
- Many improvements for x86-64 target (Shinichiro Hamaji, Michael Matz, grischka)
 | 
						|
- x86-64 assembler (Frederic Feret)
 | 
						|
- Many improvements for ARM target (Daniel Glöckner, Thomas Preud'homme)
 | 
						|
- Support WinCE PE ARM (Timo VJ Lahde)
 | 
						|
- Support ARM hardfloat calling convention (Thomas Preud'homme)
 | 
						|
- Support SELinux (Security-Enhanced Linux) (Henry Kroll III)
 | 
						|
- Support Debian GNU/kFreeBSD kernels (Pierre Chifflier)
 | 
						|
- Support GNU/Hurd kernels (Thomas Preud'homme)
 | 
						|
- Support OSX (tcc -run only) (Milutin Jovanovic)
 | 
						|
- Support multiarch configuration (Thomas Preud'homme)
 | 
						|
- Support out-of-tree build (Akim Demaille)
 | 
						|
 | 
						|
Features:
 | 
						|
- C99 variable length arrays (Thomas Preud'homme & Joe Soroka)
 | 
						|
- Asm labels for variables and functions (Thomas Preud'homme)
 | 
						|
- STT_GNU_IFUNC (Indirect functions as externals) (Thomas Preud'homme)
 | 
						|
- More tests (tests2) (Milutin Jovanovic)
 | 
						|
 | 
						|
version 0.9.25:
 | 
						|
 | 
						|
- first support for x86-64 target (Shinichiro Hamaji)
 | 
						|
- support µClibc
 | 
						|
- split tcc.c into tcc.h libtcc.c tccpp.c tccgen.c tcc.c
 | 
						|
- improved preprocess output with linenumbers and spaces preserved
 | 
						|
- tcc_relocate now copies code into user buffer
 | 
						|
- fix bitfields with non-int types and in unions
 | 
						|
- improve ARM cross-compiling (Daniel Glöckner)
 | 
						|
- link stabstr sections from multiple objects
 | 
						|
- better (still limited) support for multiple TCCStates
 | 
						|
 | 
						|
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.
 | 
						|
- Use _WIN32 for a windows hosted tcc and define it for the PE target,
 | 
						|
  otherwise define __unix / __linux (Detlef Riekenberg)
 | 
						|
- Import changesets (part 3) 409,410: ARM EABI by Daniel Glöckner
 | 
						|
- Some in-between fixes:
 | 
						|
  TCC -E no longer hangs with macro calls involving newlines.
 | 
						|
  (next_nomacro1 now advances the read-pointer with TOK_LINEFEED)
 | 
						|
  Global cast (int g_i = 1LL;) no longer crashes tcc.
 | 
						|
  (nocode_wanted is initially 1, and only 0 for gen_function)
 | 
						|
  On win32 now tcc.exe finds 'include' & 'lib' even if itself is in 'bin'.
 | 
						|
  (new function w32_tcc_lib_path removes 'bin' if detected)
 | 
						|
  Added quick build batch file for mingw (win32/build-tcc.bat)
 | 
						|
  Last added case label optimization (455) produced wrong code. Reverted.
 | 
						|
 | 
						|
- Import more changesets from Rob Landley's fork (part 2):
 | 
						|
  487: Handle long long constants in gen_opic() (Rob Landley)
 | 
						|
  484: Handle parentheses within __attribute__((...)) (Rob Landley)
 | 
						|
  480: Remove a goto in decl_initializer_alloc (Rob Landley)
 | 
						|
  475: Fix dereferences in inline assembly output (Joshua Phillips)
 | 
						|
  474: Cast ptrs to ints of different sizes correctly (Joshua Phillips)
 | 
						|
  473: Fix size of structs with empty array member (Joshua Phillips)
 | 
						|
  470: No warning for && and || with mixed pointers/integers (Rob Landley)
 | 
						|
  469: Fix symbol visibility problems in the linker (Vincent Pit)
 | 
						|
  468: Allow && and || involving pointer arguments (Rob Landley)
 | 
						|
  455: Optimize case labels with no code in between (Zdenek Pavlas)
 | 
						|
  450: Implement alloca for x86 (grischka)
 | 
						|
  415: Parse unicode escape sequences (Axel Liljencrantz)
 | 
						|
  407: Add a simple va_copy() in stdarg.h (Hasso Tepper)
 | 
						|
  400: Allow typedef names as symbols (Dave Dodge)
 | 
						|
 | 
						|
- Import some changesets from Rob Landley's fork (part 1):
 | 
						|
  462: Use LGPL with bcheck.c and il-gen.c
 | 
						|
  458: Fix global compound literals (in unary: case '&':) (Andrew Johnson)
 | 
						|
  456: Use return code from tcc_output_file in main() (Michael Somos)
 | 
						|
  442: Fix indirections with function pointers (***fn)() (grischka)
 | 
						|
  441: Fix LL left shift in libtcc1.c:__shldi3 (grischka)
 | 
						|
  440: Pass structures and function ptrs through ?: (grischka)
 | 
						|
  439: Keep rvalue in bit assignment (bit2 = bit1 = x) (grischka)
 | 
						|
  438: Degrade nonportable pointer assignment to warning (grischka)
 | 
						|
  437: Call 'saveregs()' before jumping with logical and/or/not (grischka)
 | 
						|
  435: Put local static variables into global memory (grischka)
 | 
						|
  432/434: Cast double and ptr to bool (grischka)
 | 
						|
  420: Zero pad x87 tenbyte long doubles (Felix Nawothnig)
 | 
						|
  417: Make 'sizeof' unsigned (Rob Landley)
 | 
						|
  397: Fix save_reg for longlongs (Daniel Glöckner)
 | 
						|
  396: Fix "invalid relocation entry" problem on ubuntu - (Bernhard Fischer)
 | 
						|
 | 
						|
- ignore AS_NEEDED ld command
 | 
						|
- mark executable sections as executable when running in memory
 | 
						|
- added support for win32 wchar_t (Filip Navara)
 | 
						|
- segment override prefix support (Filip Navara)
 | 
						|
- normalized slashes in paths (Filip Navara)
 | 
						|
- windows style fastcall (Filip Navara)
 | 
						|
- support for empty input register section in asm (Filip Navara)
 | 
						|
- anonymous union/struct support (Filip Navara)
 | 
						|
- fixed parsing of function parameters
 | 
						|
- workaround for function pointers in conditional expressions (Dave Dodge)
 | 
						|
- initial '-E' option support to use the C preprocessor alone
 | 
						|
- discard type qualifiers when comparing function parameters (Dave Dodge)
 | 
						|
- Bug fix: A long long value used as a test expression ignores the
 | 
						|
  upper 32 bits at runtime (Dave Dodge)
 | 
						|
- fixed multiple concatenation of PPNUM tokens (initial patch by Dave Dodge)
 | 
						|
- fixed multiple typedef specifiers handling
 | 
						|
- fixed sign extension in some type conversions (Dave Dodge)
 | 
						|
 | 
						|
version 0.9.23:
 | 
						|
 | 
						|
- initial PE executable format for windows version (grischka)
 | 
						|
- '#pragma pack' support (grischka)
 | 
						|
- '#include_next' support (Bernhard Fischer)
 | 
						|
- ignore '-pipe' option
 | 
						|
- added -f[no-]leading-underscore
 | 
						|
- preprocessor function macro parsing fix (grischka)
 | 
						|
 | 
						|
version 0.9.22:
 | 
						|
 | 
						|
- simple memory optimisations: kernel compilation is 30% faster
 | 
						|
- linker symbol definitions fixes
 | 
						|
- gcc 3.4 fixes
 | 
						|
- fixed value stack full error
 | 
						|
- 'packed' attribute support for variables and structure fields
 | 
						|
- ignore 'const' and 'volatile' in function prototypes
 | 
						|
- allow '_Bool' in bit fields
 | 
						|
 | 
						|
version 0.9.21:
 | 
						|
 | 
						|
- ARM target support (Daniel Glöckner)
 | 
						|
- added '-funsigned-char, '-fsigned-char' and
 | 
						|
  '-Wimplicit-function-declaration'
 | 
						|
- fixed assignment of const struct in struct
 | 
						|
- line comment fix (reported by Bertram Felgenhauer)
 | 
						|
- initial TMS320C67xx target support (TK)
 | 
						|
- win32 configure
 | 
						|
- regparm() attribute
 | 
						|
- many built-in assembler fixes
 | 
						|
- added '.org', '.fill' and '.previous' assembler directives
 | 
						|
- '-fno-common' option
 | 
						|
- '-Ttext' linker option
 | 
						|
- section alignment fixes
 | 
						|
- bit fields fixes
 | 
						|
- do not generate code for unused inline functions
 | 
						|
- '-oformat' linker option. 
 | 
						|
- added 'binary' output format.
 | 
						|
 | 
						|
version 0.9.20:
 | 
						|
 | 
						|
- added '-w' option
 | 
						|
- added '.gnu.linkonce' ELF sections support
 | 
						|
- fixed libc linking when running in memory (avoid 'stat' function
 | 
						|
  errors).
 | 
						|
- extended '-run' option to be able to give several arguments to a C
 | 
						|
  script.
 | 
						|
 | 
						|
version 0.9.19:
 | 
						|
 | 
						|
- "alacarte" linking (Dave Long)
 | 
						|
- simpler function call
 | 
						|
- more strict type checks
 | 
						|
- added 'const' and 'volatile' support and associated warnings
 | 
						|
- added -Werror, -Wunsupported, -Wwrite-strings, -Wall.
 | 
						|
- added __builtin_types_compatible_p() and __builtin_constant_p()
 | 
						|
- chars support in assembler (Dave Long)
 | 
						|
- .string, .globl, .section, .text, .data and .bss asm directive
 | 
						|
  support (Dave Long)
 | 
						|
- man page generated from tcc-doc.texi
 | 
						|
- fixed macro argument substitution
 | 
						|
- fixed zero argument macro parsing
 | 
						|
- changed license to LGPL
 | 
						|
- added -rdynamic option support
 | 
						|
 | 
						|
version 0.9.18:
 | 
						|
 | 
						|
- header fix (time.h)
 | 
						|
- fixed inline asm without operand case
 | 
						|
- fixed 'default:' or 'case x:' with '}' after (incorrect C construct accepted
 | 
						|
  by gcc)
 | 
						|
- added 'A' inline asm constraint.
 | 
						|
 | 
						|
version 0.9.17:
 | 
						|
 | 
						|
- PLT generation fix
 | 
						|
- tcc doc fixes (Peter Lund)
 | 
						|
- struct parse fix (signaled by Pedro A. Aranda Gutierrez)
 | 
						|
- better _Bool lvalue support (signaled by Alex Measday)
 | 
						|
- function parameters must be converted to pointers (signaled by Neil Brown)
 | 
						|
- sanitized string and character constant parsing
 | 
						|
- fixed comment parse (signaled by Damian M Gryski)
 | 
						|
- fixed macro function bug (signaled by Philippe Ribet)
 | 
						|
- added configure (initial patch by Mitchell N Charity)
 | 
						|
- added '-run' and '-v' options (initial patch by vlindos)
 | 
						|
- added real date report in __DATE__ and __TIME__ macros
 | 
						|
 | 
						|
version 0.9.16:
 | 
						|
 | 
						|
- added assembler language support
 | 
						|
- added GCC inline asm() support
 | 
						|
- fixed multiple variable definitions : uninitialized variables are
 | 
						|
  created as COMMON symbols.
 | 
						|
- optimized macro processing
 | 
						|
- added GCC statement expressions support
 | 
						|
- added GCC local labels support
 | 
						|
- fixed array declaration in old style function parameters
 | 
						|
- support casts in static structure initializations
 | 
						|
- added various __xxx[__] keywords for GCC compatibility
 | 
						|
- ignore __extension__ GCC in an expression or in a type (still not perfect)
 | 
						|
- added '? :' GCC extension support
 | 
						|
 | 
						|
version 0.9.15:
 | 
						|
 | 
						|
- compilation fixes for glibc 2.2, gcc 2.95.3 and gcc 3.2.
 | 
						|
- FreeBSD compile fixes. Makefile patches still missing (Carl Drougge).
 | 
						|
- fixed file type guessing if '.' is in the path.
 | 
						|
- fixed tcc_compile_string()
 | 
						|
- add a dummy page in ELF files to fix RX/RW accesses (pageexec at
 | 
						|
  freemail dot hu).
 | 
						|
 | 
						|
version 0.9.14:
 | 
						|
 | 
						|
- added #warning. error message if invalid preprocessing directive.
 | 
						|
- added CType structure to ease typing (faster parse).
 | 
						|
- suppressed secondary hash tables (faster parse).
 | 
						|
- rewrote parser by optimizing common cases (faster parse).
 | 
						|
- fixed signed long long comparisons.
 | 
						|
- fixed 'int a(), b();' declaration case.
 | 
						|
- fixed structure init without '{}'.
 | 
						|
- correct alignment support in structures.
 | 
						|
- empty structures support.
 | 
						|
- gcc testsuite now supported.
 | 
						|
- output only warning if implicit integer/pointer conversions.
 | 
						|
- added static bitfield init.
 | 
						|
 | 
						|
version 0.9.13:
 | 
						|
 | 
						|
- correct preprocessing token pasting (## operator) in all cases (added
 | 
						|
  preprocessing number token).
 | 
						|
- fixed long long register spill.
 | 
						|
- fixed signed long long '>>'.
 | 
						|
- removed memory leaks.
 | 
						|
- better error handling : processing can continue on link errors. A
 | 
						|
  custom callback can be added to display error messages. Most
 | 
						|
  errors do not call exit() now.
 | 
						|
- ignore -O, -W, -m and -f options
 | 
						|
- added old style function declarations
 | 
						|
- added GCC __alignof__ support.
 | 
						|
- added GCC typeof support.
 | 
						|
- added GCC computed gotos support.
 | 
						|
- added stack backtrace in runtime error message. Improved runtime
 | 
						|
  error position display.
 | 
						|
 | 
						|
version 0.9.12:
 | 
						|
 | 
						|
- more fixes for || and && handling.
 | 
						|
- improved '? :' type handling.
 | 
						|
- fixed bound checking generation with structures
 | 
						|
- force '#endif' to be in same file as matching '#if'
 | 
						|
- #include file optimization with '#ifndef #endif' construct detection
 | 
						|
- macro handling optimization
 | 
						|
- added tcc_relocate() and tcc_get_symbol() in libtcc.
 | 
						|
 | 
						|
version 0.9.11:
 | 
						|
 | 
						|
- stdarg.h fix for double type (thanks to Philippe Ribet).
 | 
						|
- correct white space characters and added MSDOS newline support.
 | 
						|
- fixed invalid implicit function call type declaration.
 | 
						|
- special macros such as __LINE__ are defined if tested with defined().
 | 
						|
- fixed '!' operator with relocated address.
 | 
						|
- added symbol + offset relocation (fixes some static variable initializers)
 | 
						|
- '-l' option can be specified anywhere. '-c' option yields default
 | 
						|
  output name. added '-r' option for relocatable output.
 | 
						|
- fixed '\nnn' octal parsing.
 | 
						|
- fixed local extern variables declarations.
 | 
						|
 | 
						|
version 0.9.10:
 | 
						|
 | 
						|
- fixed lvalue type when saved in local stack.
 | 
						|
- fixed '#include' syntax when using macros.
 | 
						|
- fixed '#line' bug.
 | 
						|
- removed size limit on strings. Unified string constants handling
 | 
						|
  with variable declarations.
 | 
						|
- added correct support for '\xX' in wchar_t strings.
 | 
						|
- added support for bound checking in generated executables
 | 
						|
- fixed -I include order.
 | 
						|
- fixed incorrect function displayed in runtime error.
 | 
						|
 | 
						|
version 0.9.9:
 | 
						|
 | 
						|
- fixed preprocessor expression parsing for #if/#elif.
 | 
						|
- relocated debug info (.stab section).
 | 
						|
- relocated bounds info (.bounds section).
 | 
						|
- fixed cast to char of char constants ('\377' is -1 instead of 255)
 | 
						|
- fixed implicit cast for unary plus.
 | 
						|
- strings and '__func__' have now 'char[]' type instead of 'char *'
 | 
						|
  (fixes sizeof() return value).
 | 
						|
- added __start_xxx and __stop_xxx symbols in linker.
 | 
						|
- better DLL creation support (option -shared begins to work).
 | 
						|
- ELF sections and hash tables are resized dynamically.
 | 
						|
- executables and DLLs are stripped by default.
 | 
						|
 | 
						|
version 0.9.8:
 | 
						|
 | 
						|
- First version of full ELF linking support (generate objects, static
 | 
						|
  executable, dynamic executable, dynamic libraries). Dynamic library
 | 
						|
  support is not finished (need PIC support in compiler and some
 | 
						|
  patches in symbol exporting).
 | 
						|
- First version of ELF loader for object (.o) and archive (.a) files.
 | 
						|
- Support of simple GNU ld scripts (GROUP and FILE commands)
 | 
						|
- Separated runtime library and bound check code from TCC (smaller
 | 
						|
  compiler core).
 | 
						|
- fixed register reload in float compare.
 | 
						|
- fixed implicit char/short to int casting.
 | 
						|
- allow array type for address of ('&') operator.
 | 
						|
- fixed unused || or && result.
 | 
						|
- added GCC style variadic macro support.
 | 
						|
- optimized bound checking code for array access.
 | 
						|
- tcc includes are now in $(prefix)/lib/tcc/include.
 | 
						|
- more command line options - more consistent handling of multiple
 | 
						|
  input files.
 | 
						|
- added tcc man page (thanks to Cyril Bouthors).
 | 
						|
- uClibc Makefile update
 | 
						|
- converted documentation to texinfo format.
 | 
						|
- added developper's guide in documentation.
 | 
						|
 | 
						|
version 0.9.7:
 | 
						|
 | 
						|
- added library API for easy dynamic compilation (see libtcc.h - first
 | 
						|
  draft).
 | 
						|
- fixed long long register spill bug.
 | 
						|
- fixed '? :' register spill bug.
 | 
						|
 | 
						|
version 0.9.6:
 | 
						|
 | 
						|
- added floating point constant propagation (fixes negative floating
 | 
						|
  point constants bug).
 | 
						|
 | 
						|
version 0.9.5:
 | 
						|
 | 
						|
 - uClibc patches (submitted by Alfonso Martone).
 | 
						|
 - error reporting fix
 | 
						|
 - added CONFIG_TCC_BCHECK to get smaller code if needed.
 | 
						|
 | 
						|
version 0.9.4:
 | 
						|
 | 
						|
 - windows port (currently cannot use -g, -b and dll functions).
 | 
						|
 - faster and simpler I/O handling.
 | 
						|
 - '-D' option works in all cases.
 | 
						|
 - preprocessor fixes (#elif and empty macro args)
 | 
						|
 - floating point fixes
 | 
						|
 - first code for CIL generation (does not work yet)
 | 
						|
 | 
						|
version 0.9.3:
 | 
						|
 | 
						|
 - better and smaller code generator.
 | 
						|
 - full ISOC99 64 bit 'long long' support.
 | 
						|
 - full 32 bit 'float', 64 bit 'double' and 96 bit 'long double' support.
 | 
						|
 - added '-U' option.
 | 
						|
 - added assembly sections support. 
 | 
						|
 - even faster startup time by mmaping sections instead of mallocing them.
 | 
						|
 - added GNUC __attribute__ keyword support (currently supports
 | 
						|
    'section' and 'aligned' attributes).
 | 
						|
 - added ELF file output (only usable for debugging now)
 | 
						|
 - added debug symbol generation (STAB format).
 | 
						|
 - added integrated runtime error analysis ('-g' option: print clear
 | 
						|
   run time error messages instead of "Segmentation fault").
 | 
						|
 - added first version of tiny memory and bound checker ('-b' option).
 | 
						|
 | 
						|
version 0.9.2:
 | 
						|
 | 
						|
 - even faster parsing.
 | 
						|
 - various syntax parsing fixes.
 | 
						|
 - fixed external relocation handling for variables or functions pointers.
 | 
						|
 - better function pointers type handling.
 | 
						|
 - can compile multiple files (-i option).
 | 
						|
 - ANSI C bit fields are supported.
 | 
						|
 - beginning of float/double/long double support.
 | 
						|
 - beginning of long long support.
 | 
						|
 | 
						|
version 0.9.1:
 | 
						|
 | 
						|
 - full ISOC99 initializers handling.
 | 
						|
 - compound literals.
 | 
						|
 - structures handle in assignments and as function param or return value.
 | 
						|
 - wide chars and strings.
 | 
						|
 - macro bug fix
 | 
						|
 | 
						|
version 0.9:
 | 
						|
 - initial version.
 |