X-Git-Url: https://git.xonotic.org/?a=blobdiff_plain;f=CHANGES;h=eba45dc755bf5cc94fa831c3f44049f556ce19b0;hb=c2cf41baf95c7a45789e4c73202928baf9e9b650;hp=963044aedc8c24092235f431dd91f81dcb49539f;hpb=d0efaa50d4d290ec9fa37340e6a635db296304ff;p=xonotic%2Fgmqcc.git diff --git a/CHANGES b/CHANGES index 963044a..eba45dc 100644 --- a/CHANGES +++ b/CHANGES @@ -1,10 +1,80 @@ -Release v0.2.4 +Release 0.4.0: + * Language: + - Vector bitops + * Compilation: + - Fixed constant folding + - New LNO format + - Shadowed locals fix + - Added warnings for weird precedence usage + * Testsuite: + - Important fixes to the testsuite (removal of false positives + and false negitives) + * Build: + - Generate PDFs of man documents for Windows releases + * Documentation: + - Fix some mdoc syntax usage + +2013-08-20 v0.3.0 + * Language: + - Return assignments, the ability to assign to the return keyword + as if it were a local variable. + - Added bitwise XOR operator (^) + - Array initializers: e.g float a[] = {1, 2, 3}; + - Fix bug that dissalowed language operators to be used in strings. + * Compilation: + - Optimized memory usage (now uses on average %3 less memory for + compilation). + - Fixed dotranslate (translatable strings) + - Rewrote constant folding optimization pass for the parser. + - New additional dead-code-elimination-consatant-fold pass for + if statements whos expression can be evaluated at compile-time + (allowing the if/else branch to be entierly elided at compile-time). + - Added support for columns in error diagnostics. + - Limit corrector to <= 16 byte strings. + - Improved hash function for hashtable (old hash function had 15% error, + this speeds up compilation) + - Improved performance of in-house allocator with branch-hinting, speeds + up compilation of Xonotic by 3 seconds! + * QCVM: + - Escape strings for -printdefs + * Commandline: + - Added statistic dumps, gives information about the number of used + hashtables, vectors, and number of unique sizes of vectors and + hashtables. The amount of memory used for vectors. As well as the + number of strdups used in total for compilation. + - Added compile statistic dumps, gives information about the compiled + binary, and LNO, such as the size, CRC, the number of times a + specific optimization was applied, etc. + - Make -std=qcc default + * Testsuite: + - Fixed a floating point exception rasied by modulo operation in + -memchk. + - Added support for the test-suite to source tests and task-template + files from subdirectories in the test/ directory. + - Now prints the number of failed tests (if any) after all tests + are attempted. + - Fixed some bugs with error handling resulting in false-positives. + * Build: + - Can now be compiled with TCC (Tiny C compiler) and function as + intended (previously couldn't due to bug in TCC codegen). + - Added Gentoo ebuilds. + - Added Win32 Makefile for building Win32 packages. + - Added Slackware pkg build files. + - Added Fedora spec files. + - Added Makefile for the BSD make variant. + * Misc: + - Added valgrind memcheck hook to in-house allocator to help aid + in finding invalid reads/writes, and more accurate leaks. + +2012-04-27 v0.2.9 * Preprocessor: - __VA_ARGS__ support + _ __VA_ARGS__ indexing - Predefined macros like __DATE__, __TIME__, ... (check the manpage for a full list) - Signed numbers as single token in the - Fixes some issues with #if operations on macros. + - Speed improvements * Language: - Untyped `nil` keyword. - Removed the `noreturn` keyword. @@ -14,19 +84,52 @@ Release v0.2.4 - Support for `static` variables in functions. - Support for labeled loops. - UTF-8 Support + - enum support: without enum-types + (ie no `typedef enum { } foo;`) + - Accessing vector components via the dot operator on all + expressions. Eg: (3 * v).y + - Type restricted variadict parameters: + ie: void print(string...); + - Accessing varargs from QC via: ...(index, type) + - New operators: ** (exponentiation), % (modulo), etc + - Enumeration attributes: flag, reverse * Compilation: - Various optimizations and progs-size reductions. - A new spell-checking algorithm tries to hint you at existing variables on error. - * qcvm: + - Some problems with VM related vector-instructions issues + have been solved in both DP and our own executor. A new + compatbility option (enabled by default) has been added for + now: -flegacy-vector-maths + - Compiler intrinsics: __builtin_floor, __builtin_mod, + __builtin_exp, __builtin_isnan + - Improved memory tracing + - Speed improvements + * QCVM: - Improved commandline argument handling. - - More builtins: sqrt(), normalize() + - More builtins: sqrt(), normalize(), floor() * Commandline: + - Nicer memory dumps - Support for making individual warnings an error - via -Werror- + - added --add-info * Testsuite: - Support for QCFLAGS to run tests with several additional flags. + - Added support for preprocessor tests + - Added preprocessor tests + - Added defs.qh (auto included) for qcvm definitions + * Syntax Highlighting: + - Added various syntax highlighting description files for + various text editors / integrated development envirorments, + including support for: geany, kate, kwrite, kdevelop, QtCreator, + gtksourceview, gedit, sany, nano, jedit + * Build: + - Build scripts for building debian, archlinux and archbsd + packages for x86, and x86_64. + - Makefile targets for gource visualization, and render of + gource visualization. + 2012-12-27 Hotfix v0.2.2 * Liferanges @@ -46,7 +149,6 @@ Release v0.2.4 - Support for `goto` with labels like in fteqcc. - `break` and `continue`. - Short circuit logic. - - `noreturn` keyword. - Support for translatable strings via _("str") like in fteqcc. * Compilation