From 42b3640bc56b5d90d69f391e84e0813c787577f8 Mon Sep 17 00:00:00 2001 From: Dale Weiler Date: Tue, 13 Jan 2015 21:29:09 -0500 Subject: [PATCH] Remove these too --- CHANGES | 195 -------------------------------------------------------- INSTALL | 62 ------------------ TODO | 64 ------------------- 3 files changed, 321 deletions(-) delete mode 100644 CHANGES delete mode 100644 INSTALL delete mode 100644 TODO diff --git a/CHANGES b/CHANGES deleted file mode 100644 index 1dfa59d..0000000 --- a/CHANGES +++ /dev/null @@ -1,195 +0,0 @@ -Release 0.3.5: - * Preprocessor: - - Added warning for when preprocessor directives are used in - a macro. - * Language: - - Added vector bit operations. - - Added vector cross product operator `><` for -std=gmqcc. - - Added `[[eraseable]]` and `[[accumulation]]` attributes. - - Removed &~= operator for -std=gmqcc. - - #pragmas which are ignored are actually ignored to EOL. - * Compilation: - - 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). - - 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. - - Archlinux/Archbsd package now generates MTREE. - * Documentation: - - 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: - - 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. - - 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-. - - 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. diff --git a/INSTALL b/INSTALL deleted file mode 100644 index ffd45bd..0000000 --- a/INSTALL +++ /dev/null @@ -1,62 +0,0 @@ - Installing gmqcc - -1. Prerequisites - - A C-Compiler such as gcc or clang - - GNU Make or BSD Make - -2. Compilation - If using GNU make program - make - - If using BSD make program, the BSDmakefile should be - used instead when you invoke make, if however it ignores BSDmakefile - you can supply it with -f. - - make -f BSDmakefile - - If no error appears, the following binary files will have been - created: - - gmqcc - - qcvm - - gmqpak - -3. Installation - The `install' target will install the 2 binaries to /usr/local/bin - by default. - The Makefile honors the following variables: - - - DESTDIR: The installation directory root. - - PREFIX: The installation prefix, default: /usr/local - - BINDIR: Directory for binary executables, - deafult: $PREFIX/bin - - To install to /usr/local run: - - make install - - To install to /usr run: - - make PREFIX=/usr install - - To install to a package-staging directory such as $pkgdir when - writing a build script file: - - make DESTDIR=$pkgdir install - - - ArchLinux PKGBUILDs (release and git build) can be found in the - respective folders in ./distro/archlinux - - ArchBSD PKGBUILDs (release and git build) can be found in the - respective folders in ./distro/archbsd - - Slackware SlackBuilds (git build) can be found in ./distro/slackware - - Gentoo ebuilds (release) can be found in ./distro/gentoo, as well - as a README explaining how to build them - - Debian archives (git build) can be created invoking make in - ./distro/deb - - Fedora spec files (release) can be found in ./distro/fedora, as well - as a README explaining how to build them. diff --git a/TODO b/TODO deleted file mode 100644 index 356c4b8..0000000 --- a/TODO +++ /dev/null @@ -1,64 +0,0 @@ -GMQCC is quite feature complete. But that doesn't address the fact that -it can be improved. This is a list of things that we'd like to support -in the distant future. When the time comes, we can just select a topic -from here and open a ticket for it on the issue tracker. But for the -meantime, this is sort of a cultivating flat file database. - -Optimizations: - The following are optimizations that can be implemented after the - transformation into static-single assignment (SSA). - - Global Value Numbering: - Eliminate redundancy by constructing a value graph of the source - then determining which values are computed by equivalent expressions. - Similar to Common Subexpression Elimination (CSE), however expressions - are determined via underlying equivalence, opposed to lexically identical - expressions (CSE). - - The following are optimizations that can be implemented before the - transformation into a binary (code generator). - - Code factoring: - The process of finding sequences of code that are identical, - or can be parameterized or reordered to be identical. - Which can be replaced with calls to a shared subroutine. To - reduce duplicated code. (Size optimization) - -Language Features: - The following are language features that we'd like to see implemented in the - future. - - AST Macros: - Macros with sanity. Not textual substiution. - - Classes: - Like C++, but minus the stupidity: - - No type operator overloads - - Keep operator overloading for basic operators though. - - No inheritance - - No virtuals / pure virtuals - - Essentially "C structs but with operators" :) - - Overloaded Functions: - Ability to make individual functions with the same name, but take - different amount of arguments or type of arguments. - - Default Argument Substiution: - Ability to specify default values for arguments in functions. - void foo(string bar, string baz="default"); - Supplying just one argument will expand the second argument to - become "default", otherwise if two arguments are specified then - the "default" string is overrode with what ever the user passes. - - Namespaces: - There is already a ticket open on this. They'd work just like C++ - identically even. - -Testsuite: - The following are things we'd like to see added to the testsuite - in the distant future: - - Interface: - Ability to select individual tests, or set parameters manually - opposed to using the static task-template files. (A method to - override them rather). -- 2.39.2