gmqcc/CHANGES
Dale Weiler 2d654ddcff Update
2013-06-16 02:48:31 +00:00

114 lines
4.3 KiB
Text

Release 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 (^)
* Compilation:
- Optimized memory usage (now uses on average %3 less memory for
compilation).
- Fixed dotranslate (translatable strings)
* 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.
* Testsuite:
- Fixed a floating point exception rasied by modulo operation in
-memchk.
* Build:
- Added gentoo ebuilds.
- Added win32 Makefile for building win32 packages.
- Added slackware pkg build files
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.
- Added generic attribute syntax and reintroduced `noreturn`
as [[noreturn]].
- Added [[deprecated]] and [[deprecated("message")]].
- 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.
- 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(), floor()
* Commandline:
- Nicer memory dumps
- Support for making individual warnings an error
- via -Werror-<warning>
- 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
* Crashes
2012-12-23 Hotfix v0.2.1
* General bugfixes
2012-12-23 Release 0.2
* Preprocessor:
- Added xonotic compatible preprocessor.
* Language
- Basic xonotic compatibility
- Array support
- Added fteqcc's string escape sequences.
- Support for `noref`.
- Support for `goto` with labels like in fteqcc.
- `break` and `continue`.
- Short circuit logic.
- Support for translatable strings via _("str") like in
fteqcc.
* Compilation
- Warnings about uninitialized values
2012-11-17 Release 0.1
* Compiles id1 code