mirror of
https://github.com/DarkPlacesEngine/gmqcc.git
synced 2025-04-19 00:11:42 +00:00
Update CHANGES files
This commit is contained in:
parent
300fb9905b
commit
99e3ae9773
1 changed files with 73 additions and 36 deletions
109
CHANGES
109
CHANGES
|
@ -1,18 +1,55 @@
|
|||
Release 0.4.0:
|
||||
Release 0.3.5:
|
||||
* Preprocessor:
|
||||
- Added warning for when preprocessor directives are used in
|
||||
a macro.
|
||||
* Language:
|
||||
- Vector bitops
|
||||
- Added vector bit operations.
|
||||
- Added vector cross product operator `><` for -std=gmqcc.
|
||||
- Added `[[eraseable]]` attribute.
|
||||
- Removed &~= operator for -std=gmqcc.
|
||||
- #pragmas which are ignored are actually ignored to EOL.
|
||||
* Compilation:
|
||||
- Fixed constant folding
|
||||
- New LNO format
|
||||
- Shadowed locals fix
|
||||
- Added warnings for weird precedence usage
|
||||
- Fixed constant folding.
|
||||
- Fixed column printing in diagnostics.
|
||||
- Added support for columns in LNOF.
|
||||
- Shadowed locals fix.
|
||||
- Improved warning diagnostics for precedence usage and other
|
||||
various diagnostics.
|
||||
- Added constant folding logic for builtin functions.
|
||||
- Prevent divide by zero in constant folding.
|
||||
- Added unary elision optimization, cases where a unary expression
|
||||
cancels itself out, e.g `-(-a)` now simplifies to `a`.
|
||||
- Added strength reduce optimization, for divisions e.g `(A / 10)`
|
||||
now strength reduces to `(A * (1 / 10)` where `(1 / 10)` is
|
||||
evaluated at compile time.
|
||||
- Added superfluous expression elision optimization, e.g `(A + 0),
|
||||
(A - 0), (A * 1), (A / 1)` can be simplified to just `A`.
|
||||
- Quake world now compiles with -std=qcc
|
||||
- Constant folding for `if than` now works for ternary expressions
|
||||
too.
|
||||
- Fixed `[[alias]]` attribute type checking, now you can't alias
|
||||
invalid types.
|
||||
* QCVM:
|
||||
- Properly exits on error now.
|
||||
* Lexer:
|
||||
- Now prints the character the lexer fails on instead of the
|
||||
token value.
|
||||
* Testsuite:
|
||||
- Important fixes to the testsuite (removal of false positives
|
||||
and false negitives)
|
||||
and false negitives).
|
||||
- Added a new utility `check-proj.sh` which downloads various Quake
|
||||
mods and attempts to compile them.
|
||||
* Commandline:
|
||||
- Made -fshort-logic, -funtyped-nil and -fvariadic-args default
|
||||
for -std=gmqcc.
|
||||
* Build:
|
||||
- Generate PDFs of man documents for Windows releases
|
||||
- Generate PDFs of man documents for Windows releases.
|
||||
- Archlinux/Archbsd package now generates MTREE.
|
||||
* Documentation:
|
||||
- Fix some mdoc syntax usage
|
||||
- Fixed mdoc(s).
|
||||
* Misc:
|
||||
- Added some export scripts for xonotic and nexuiz which generate
|
||||
specially crafted packages that are used by the check-proj script.
|
||||
|
||||
2013-08-20 v0.3.0
|
||||
* Language:
|
||||
|
@ -45,7 +82,7 @@ Release 0.4.0:
|
|||
- 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
|
||||
- Make -std=qcc default.
|
||||
* Testsuite:
|
||||
- Fixed a floating point exception rasied by modulo operation in
|
||||
-memchk.
|
||||
|
@ -71,10 +108,10 @@ Release 0.4.0:
|
|||
- __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
|
||||
(check the manpage for a full list).
|
||||
- Signed numbers as single token in the.
|
||||
- Fixes some issues with #if operations on macros.
|
||||
- Speed improvements
|
||||
- Speed improvements.
|
||||
* Language:
|
||||
- Untyped `nil` keyword.
|
||||
- Removed the `noreturn` keyword.
|
||||
|
@ -83,16 +120,16 @@ Release 0.4.0:
|
|||
- Added [[deprecated]] and [[deprecated("message")]].
|
||||
- Support for `static` variables in functions.
|
||||
- Support for labeled loops.
|
||||
- UTF-8 Support
|
||||
- UTF-8 Support.
|
||||
- enum support: without enum-types
|
||||
(ie no `typedef enum { } foo;`)
|
||||
(ie no `typedef enum { } foo;`).
|
||||
- Accessing vector components via the dot operator on all
|
||||
expressions. Eg: (3 * v).y
|
||||
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
|
||||
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
|
||||
|
@ -100,30 +137,30 @@ Release 0.4.0:
|
|||
- 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
|
||||
now: -flegacy-vector-maths.
|
||||
- Compiler intrinsics: __builtin_floor, __builtin_mod,
|
||||
__builtin_exp, __builtin_isnan
|
||||
- Improved memory tracing
|
||||
- Speed improvements
|
||||
__builtin_exp, __builtin_isnan.
|
||||
- Improved memory tracing.
|
||||
- Speed improvements.
|
||||
* QCVM:
|
||||
- Improved commandline argument handling.
|
||||
- More builtins: sqrt(), normalize(), floor()
|
||||
- More builtins: sqrt(), normalize(), floor().
|
||||
* Commandline:
|
||||
- Nicer memory dumps
|
||||
- Nicer memory dumps.
|
||||
- Support for making individual warnings an error
|
||||
- via -Werror-<warning>
|
||||
- added --add-info
|
||||
- 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
|
||||
- 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
|
||||
gtksourceview, gedit, sany, nano, jedit.
|
||||
* Build:
|
||||
- Build scripts for building debian, archlinux and archbsd
|
||||
packages for x86, and x86_64.
|
||||
|
@ -142,8 +179,8 @@ Release 0.4.0:
|
|||
* Preprocessor:
|
||||
- Added xonotic compatible preprocessor.
|
||||
* Language
|
||||
- Basic xonotic compatibility
|
||||
- Array support
|
||||
- Basic xonotic compatibility.
|
||||
- Array support.
|
||||
- Added fteqcc's string escape sequences.
|
||||
- Support for `noref`.
|
||||
- Support for `goto` with labels like in fteqcc.
|
||||
|
@ -152,7 +189,7 @@ Release 0.4.0:
|
|||
- Support for translatable strings via _("str") like in
|
||||
fteqcc.
|
||||
* Compilation
|
||||
- Warnings about uninitialized values
|
||||
- Warnings about uninitialized values.
|
||||
|
||||
2012-11-17 Release 0.1
|
||||
* Compiles id1 code
|
||||
* Compiles id1 code.
|
||||
|
|
Loading…
Reference in a new issue