xonotic/gmqcc.git
6 years agoImplemented "reverse" enum attribute, e.g enum : reverse { A, B, C, D } -> A,B,C...
Dale Weiler [Sat, 9 Mar 2013 05:07:14 +0000 (05:07 +0000)]
Implemented "reverse" enum attribute, e.g enum : reverse { A, B, C, D } -> A,B,C,D = 3,2,1,0

6 years agoFix operator precedence, closes #101
Dale Weiler [Sat, 9 Mar 2013 04:25:02 +0000 (04:25 +0000)]
Fix operator precedence, closes #101

6 years agoBetter diagnostic when "floor" cannot be found.
Dale Weiler [Fri, 8 Mar 2013 09:23:35 +0000 (09:23 +0000)]
Better diagnostic when "floor" cannot be found.

6 years agoImplemented __builtin_mod, and % operator. Added floor builtin to the standalone...
Dale Weiler [Fri, 8 Mar 2013 09:17:54 +0000 (09:17 +0000)]
Implemented __builtin_mod, and % operator. Added floor builtin to the standalone executor.  Mod works so long as the compiler can find a suitable definition of "float floor(float)", otherwise it prints a diagnostic and gives up (original id1 Quake had floor so we can depend on it).

6 years agoImplemented concept of enumeration attributes (can be further extended, but currently...
Dale Weiler [Fri, 8 Mar 2013 08:01:45 +0000 (08:01 +0000)]
Implemented concept of enumeration attributes (can be further extended, but currently only "flag" is implemented as an attribute).  An enumeration with a flag attribute will act as a "flagged enumeration", one that automatically handles exponentiation of the constants defined inside it, i.e enum : flag { A, B, C }, A,B,C will equal 2, 4, 8.

6 years agoImplemented __builtin_exp
Dale Weiler [Fri, 8 Mar 2013 03:46:25 +0000 (03:46 +0000)]
Implemented __builtin_exp

6 years agoActually generate an ast_call for __builtin_pow for the ** operator, otherwise the...
Dale Weiler [Thu, 7 Mar 2013 23:05:40 +0000 (23:05 +0000)]
Actually generate an ast_call for __builtin_pow for the ** operator, otherwise the operator yeilds a ast_function, making "a ** b" not work, but since it's a function, allows **(a, b). Also added tests for exponentiation operator.

6 years agoAdd some ice
Dale Weiler [Thu, 7 Mar 2013 22:52:03 +0000 (22:52 +0000)]
Add some ice

6 years agoMake ** RIGHT associative
Dale Weiler [Thu, 7 Mar 2013 22:14:04 +0000 (22:14 +0000)]
Make ** RIGHT associative

6 years agoGet rid of the bullshit log stuff
Dale Weiler [Thu, 7 Mar 2013 22:09:14 +0000 (22:09 +0000)]
Get rid of the bullshit log stuff

6 years agoThey see me roll 'n, casting, so far they just think I'm implicit casting dirty,...
Dale Weiler [Thu, 7 Mar 2013 21:38:46 +0000 (21:38 +0000)]
They see me roll 'n, casting, so far they just think I'm implicit casting dirty, implicity casting dirty ..

6 years agoImplement exponentiation operator `**` as well as __builtin_pow (used for exponentiat...
Dale Weiler [Thu, 7 Mar 2013 21:31:19 +0000 (21:31 +0000)]
Implement exponentiation operator `**` as well as __builtin_pow (used for exponentiation operator).  Use of exponentiation operator with constants results in const folded (precomputed at compile time exponentiation), otherwise runtime exponentiation with some clever loops (slow!).

7 years agohopefully fix an off-by-1 vararg copy issue
Wolfgang Bumiller [Tue, 26 Feb 2013 15:39:28 +0000 (16:39 +0100)]
hopefully fix an off-by-1 vararg copy issue

7 years agoPrint the number for the test itself in the test-suite. The log10 can be improved.
Dale Weiler [Mon, 25 Feb 2013 10:01:36 +0000 (10:01 +0000)]
Print the number for the test itself in the test-suite.  The log10 can be improved.

7 years agoRemove debug printf
Dale Weiler [Mon, 25 Feb 2013 08:52:56 +0000 (08:52 +0000)]
Remove debug printf

7 years agoPush definitions when -O0
Dale Weiler [Mon, 25 Feb 2013 08:52:17 +0000 (08:52 +0000)]
Push definitions when -O0

7 years agoMerge branch 'master' into cooking
Wolfgang Bumiller [Wed, 20 Feb 2013 22:08:58 +0000 (23:08 +0100)]
Merge branch 'master' into cooking

7 years agofix: don't mess up multiline macros in files ending with \r\n
Wolfgang Bumiller [Wed, 20 Feb 2013 22:08:50 +0000 (23:08 +0100)]
fix: don't mess up multiline macros in files ending with \r\n

7 years agoupdate to .gitignore
Wolfgang Bumiller [Wed, 13 Feb 2013 09:55:32 +0000 (10:55 +0100)]
update to .gitignore

7 years agoMerge branch 'master' into cooking
Wolfgang Bumiller [Tue, 12 Feb 2013 13:31:27 +0000 (14:31 +0100)]
Merge branch 'master' into cooking

7 years agofix
Dale Weiler [Mon, 11 Feb 2013 18:02:42 +0000 (18:02 +0000)]
fix

7 years agoLess duplication
Dale Weiler [Mon, 11 Feb 2013 17:51:23 +0000 (17:51 +0000)]
Less duplication

7 years agoFix fucking mingw32 shit.
Dale Weiler [Mon, 11 Feb 2013 17:49:17 +0000 (17:49 +0000)]
Fix fucking mingw32 shit.

7 years agoinclude: guard the actual inclusion with ftepp->output_on so that include inside...
Wolfgang Bumiller [Mon, 11 Feb 2013 11:13:27 +0000 (12:13 +0100)]
include: guard the actual inclusion with ftepp->output_on so that include inside #if 0 doesn't happen

7 years agoLifetime analysis: Don't go through the blocks as a graph, instead, go through only...
Wolfgang Bumiller [Mon, 11 Feb 2013 10:37:39 +0000 (11:37 +0100)]
Lifetime analysis: Don't go through the blocks as a graph, instead, go through only the list.
The difference in code is rather small, but it's much faster.

7 years agoBOOM
Dale Weiler [Sun, 10 Feb 2013 13:59:24 +0000 (13:59 +0000)]
BOOM

7 years agoBOOM
Dale Weiler [Sun, 10 Feb 2013 13:57:22 +0000 (13:57 +0000)]
BOOM

7 years agoConsider cppchecks (performance) warnings.
Dale Weiler [Sun, 10 Feb 2013 13:47:50 +0000 (13:47 +0000)]
Consider cppchecks (performance) warnings.

7 years agoSigh
Dale Weiler [Sun, 10 Feb 2013 02:09:12 +0000 (02:09 +0000)]
Sigh

7 years agoFix mem leak.
Dale Weiler [Sun, 10 Feb 2013 02:08:17 +0000 (02:08 +0000)]
Fix mem leak.

7 years agoOops
Dale Weiler [Fri, 8 Feb 2013 19:07:12 +0000 (19:07 +0000)]
Oops

7 years agodepend rule for $(OBJ_P) PAK utility.
Dale Weiler [Fri, 8 Feb 2013 16:45:05 +0000 (16:45 +0000)]
depend rule for $(OBJ_P) PAK utility.

7 years agoThese includes are not required
Dale Weiler [Fri, 8 Feb 2013 16:43:31 +0000 (16:43 +0000)]
These includes are not required

7 years agoAdded $(PAK) to Makefile for clean rule.
Dale Weiler [Fri, 8 Feb 2013 16:42:43 +0000 (16:42 +0000)]
Added $(PAK) to Makefile for clean rule.

7 years agoendian swap on FOURCC for "PACK" on BE systems.
Dale Weiler [Fri, 8 Feb 2013 16:40:47 +0000 (16:40 +0000)]
endian swap on FOURCC for "PACK" on BE systems.

7 years agoFix some memleaks.
Dale Weiler [Fri, 8 Feb 2013 16:39:14 +0000 (16:39 +0000)]
Fix some memleaks.

7 years agoA command line interface for the PAK utility, made it a seperate build target too.
Dale Weiler [Fri, 8 Feb 2013 16:32:15 +0000 (16:32 +0000)]
A command line interface for the PAK utility, made it a seperate build target too.

7 years agoImplemented __VA_COUNT__
Dale Weiler [Fri, 8 Feb 2013 12:30:17 +0000 (12:30 +0000)]
Implemented __VA_COUNT__

7 years agoMake it compile as C++ code AGAIN
Dale Weiler [Fri, 8 Feb 2013 12:20:48 +0000 (12:20 +0000)]
Make it compile as C++ code AGAIN

7 years agoActually add fs.c
Dale Weiler [Fri, 8 Feb 2013 12:08:24 +0000 (12:08 +0000)]
Actually add fs.c

7 years agoCleanup cargocult directory and file specific things, to fs.c (renamed file.c which...
Dale Weiler [Fri, 8 Feb 2013 12:06:59 +0000 (12:06 +0000)]
Cleanup cargocult directory and file specific things, to fs.c (renamed file.c which also contains directory handling stuff). Also cleaned up some stuff, and added proper end comments to conditional inclusion stuff.

7 years agofix build issue
Dale Weiler [Thu, 7 Feb 2013 20:10:01 +0000 (20:10 +0000)]
fix build issue

7 years agoAdd directory support for extract_all
Dale Weiler [Thu, 7 Feb 2013 20:08:50 +0000 (20:08 +0000)]
Add directory support for extract_all

7 years agoCleanups and fixes to the PAK utility, can now extract/insert, tested and functional...
Dale Weiler [Thu, 7 Feb 2013 17:21:15 +0000 (17:21 +0000)]
Cleanups and fixes to the PAK utility, can now extract/insert, tested and functional for the most part.

7 years agoFixes to the PAK utility.
Dale Weiler [Thu, 7 Feb 2013 17:07:29 +0000 (17:07 +0000)]
Fixes to the PAK utility.

7 years agoWork in progress PAK extractor/insterter.
Dale Weiler [Thu, 7 Feb 2013 16:22:47 +0000 (16:22 +0000)]
Work in progress PAK extractor/insterter.

7 years agoUpdate makefile
Dale Weiler [Wed, 6 Feb 2013 10:54:14 +0000 (10:54 +0000)]
Update makefile

7 years agoMake the testsuite C++ compatible.
Dale Weiler [Wed, 6 Feb 2013 10:52:09 +0000 (10:52 +0000)]
Make the testsuite C++ compatible.

7 years agoMake it compile as C++ code again.
Dale Weiler [Wed, 6 Feb 2013 10:36:27 +0000 (10:36 +0000)]
Make it compile as C++ code again.

7 years agofind aliases in parser_find_global instead of parser_sya_operand
Wolfgang Bumiller [Wed, 6 Feb 2013 09:55:06 +0000 (10:55 +0100)]
find aliases in parser_find_global instead of parser_sya_operand

7 years agoStore the ast nodes for aliases
Dale Weiler [Wed, 6 Feb 2013 09:44:23 +0000 (09:44 +0000)]
Store the ast nodes for aliases

7 years agoAliases to aliases is a bad idea, revert. Added better tests to show unused aliases
Dale Weiler [Wed, 6 Feb 2013 09:28:42 +0000 (09:28 +0000)]
Aliases to aliases is a bad idea, revert.  Added better tests to show unused aliases

7 years agoFix alias bug. Implemented support for aliases of vectors (x, y, z components)....
Dale Weiler [Wed, 6 Feb 2013 09:09:47 +0000 (09:09 +0000)]
Fix alias bug.  Implemented support for aliases of vectors (x, y, z components). Also made aliases corrector resident (e.g alias to vector foo, named bop, indexing bol_x [instead of bop_x] will result in a correction suggestion of bop_x now).

7 years agoSupport for aliases to aliases too.
Dale Weiler [Wed, 6 Feb 2013 08:43:11 +0000 (08:43 +0000)]
Support for aliases to aliases too.

7 years agoSome sanity checks for aliases (undeclared variable checks, and incompatible types...
Dale Weiler [Wed, 6 Feb 2013 05:51:05 +0000 (05:51 +0000)]
Some sanity checks for aliases (undeclared variable checks, and incompatible types in alias checks.)

7 years agoadd todo
Dale Weiler [Wed, 6 Feb 2013 05:38:34 +0000 (05:38 +0000)]
add todo

7 years agoImplemented generalized attribute aliases. You can now alias functions, locals,...
Dale Weiler [Wed, 6 Feb 2013 05:30:09 +0000 (05:30 +0000)]
Implemented generalized attribute aliases.  You can now alias functions, locals, or globals with [[alias("old_name")]] type new_name;

7 years agoMerge branch 'cooking' of github.com:graphitemaster/gmqcc into cooking
Dale Weiler [Tue, 5 Feb 2013 17:16:09 +0000 (17:16 +0000)]
Merge branch 'cooking' of github.com:graphitemaster/gmqcc into cooking

7 years agoperl ops -> pops
Dale Weiler [Tue, 5 Feb 2013 17:15:28 +0000 (17:15 +0000)]
perl ops -> pops

7 years agoast referencing
Dale Weiler [Tue, 5 Feb 2013 17:14:56 +0000 (17:14 +0000)]
ast referencing

7 years agoast_array_index_codegen: never regenerate code
Wolfgang Bumiller [Tue, 5 Feb 2013 16:54:14 +0000 (17:54 +0100)]
ast_array_index_codegen: never regenerate code

7 years agoMerge branch 'cooking' of github.com:graphitemaster/gmqcc into cooking
Dale Weiler [Tue, 5 Feb 2013 16:35:12 +0000 (16:35 +0000)]
Merge branch 'cooking' of github.com:graphitemaster/gmqcc into cooking

7 years agoMerge branch 'cooking' of github.com:graphitemaster/gmqcc into cooking
Dale Weiler [Tue, 5 Feb 2013 16:34:55 +0000 (16:34 +0000)]
Merge branch 'cooking' of github.com:graphitemaster/gmqcc into cooking

Conflicts:
parser.c

7 years agoremoving some left-over alloc checks
Wolfgang Bumiller [Tue, 5 Feb 2013 16:34:40 +0000 (17:34 +0100)]
removing some left-over alloc checks

7 years agoWork in progress <=> operator.
Dale Weiler [Tue, 5 Feb 2013 16:34:03 +0000 (16:34 +0000)]
Work in progress <=> operator.

7 years agofixing that comment
Wolfgang Bumiller [Tue, 5 Feb 2013 16:24:02 +0000 (17:24 +0100)]
fixing that comment

7 years agoinsert an error when an operator doesn't get found - note the comment...
Wolfgang Bumiller [Tue, 5 Feb 2013 16:17:38 +0000 (17:17 +0100)]
insert an error when an operator doesn't get found - note the comment...

7 years agoBetter handling of multiple body functions.
Dale Weiler [Tue, 5 Feb 2013 03:28:20 +0000 (03:28 +0000)]
Better handling of multiple body functions.

7 years agoUpdate doc/specification.tex
Dale Weiler [Mon, 4 Feb 2013 16:13:11 +0000 (11:13 -0500)]
Update doc/specification.tex

7 years agoUpdate doc/specification.tex
Dale Weiler [Mon, 4 Feb 2013 11:22:28 +0000 (06:22 -0500)]
Update doc/specification.tex

7 years agoUpdate doc/specification.tex
Dale Weiler [Mon, 4 Feb 2013 07:48:36 +0000 (02:48 -0500)]
Update doc/specification.tex

7 years agoWork in progress specification LaTeX document for "The GMQCC QuakeC Programming Language"
Dale Weiler [Mon, 4 Feb 2013 07:18:39 +0000 (07:18 +0000)]
Work in progress specification LaTeX document for "The GMQCC QuakeC Programming Language"

7 years agoget that message back in
Wolfgang Bumiller [Sun, 3 Feb 2013 23:28:35 +0000 (00:28 +0100)]
get that message back in

7 years agoYes, that's what you are SUPPOSED to do in this case: ERROR, not default to crap
Wolfgang Bumiller [Sun, 3 Feb 2013 23:20:41 +0000 (00:20 +0100)]
Yes, that's what you are SUPPOSED to do in this case: ERROR, not default to crap

7 years agoReverting this awful unmaintainable mess of option description system
Wolfgang Bumiller [Sun, 3 Feb 2013 23:19:56 +0000 (00:19 +0100)]
Reverting this awful unmaintainable mess of option description system

7 years agofix: rotate_entfield_array_index_nodes deleting the old array caused expressions...
Wolfgang Bumiller [Sun, 3 Feb 2013 22:38:06 +0000 (23:38 +0100)]
fix: rotate_entfield_array_index_nodes deleting the old array caused expressions to be deleted recursively

7 years agoproperly mask #message, #warning, #error by ftepp->output_on
Wolfgang Bumiller [Sun, 3 Feb 2013 22:23:50 +0000 (23:23 +0100)]
properly mask #message, #warning, #error by ftepp->output_on

7 years agoAdding a WIP style sheet for mandoc html output
Wolfgang Bumiller [Sun, 3 Feb 2013 18:38:42 +0000 (19:38 +0100)]
Adding a WIP style sheet for mandoc html output

7 years agoMerge branch 'master' into cooking
Wolfgang Bumiller [Sun, 3 Feb 2013 18:01:30 +0000 (19:01 +0100)]
Merge branch 'master' into cooking

7 years agoAdd -fdarkplaces-string-table-bug to the default flags
Wolfgang Bumiller [Sun, 3 Feb 2013 18:01:27 +0000 (19:01 +0100)]
Add -fdarkplaces-string-table-bug to the default flags

7 years agoFix this target for archlinux
Dale Weiler [Sat, 2 Feb 2013 09:02:03 +0000 (09:02 +0000)]
Fix this target for archlinux

7 years agoMerge pull request #96 from matthiaskrgr/cooking_PKGBUILD
Dale Weiler [Sat, 2 Feb 2013 08:58:57 +0000 (00:58 -0800)]
Merge pull request #96 from matthiaskrgr/cooking_PKGBUILD

PKGBUILDs: rename "arch" to "archlinux", move archbsd PKGBUILDs into own...

7 years agoPKGBUILDs: rename "arch" to "archlinux", move archbsd PKGBUILDs into own "archbsd...
matthiaskrgr [Sat, 2 Feb 2013 08:54:31 +0000 (09:54 +0100)]
PKGBUILDs: rename "arch" to "archlinux", move archbsd PKGBUILDs into own "archbsd" parent directory.

7 years agos/%d/%s/
Dale Weiler [Sat, 2 Feb 2013 01:04:26 +0000 (01:04 +0000)]
s/%d/%s/

7 years agoBetter printing of token errors.
Dale Weiler [Sat, 2 Feb 2013 01:03:39 +0000 (01:03 +0000)]
Better printing of token errors.

7 years agotypo
Dale Weiler [Sat, 2 Feb 2013 00:59:19 +0000 (00:59 +0000)]
typo

7 years agoUpdate authors file
Dale Weiler [Sat, 2 Feb 2013 00:58:15 +0000 (00:58 +0000)]
Update authors file

7 years agoAdd bitnot test for testsuite.
Dale Weiler [Sat, 2 Feb 2013 00:12:46 +0000 (00:12 +0000)]
Add bitnot test for testsuite.

7 years agooops
Dale Weiler [Fri, 1 Feb 2013 23:12:48 +0000 (23:12 +0000)]
oops

7 years agoMerge branch 'cooking' of github.com:graphitemaster/gmqcc into cooking
Dale Weiler [Fri, 1 Feb 2013 23:11:26 +0000 (23:11 +0000)]
Merge branch 'cooking' of github.com:graphitemaster/gmqcc into cooking

7 years agoFix ~ unary operator (can now const-fold). Also things like b &= ~1 work now. We...
Dale Weiler [Fri, 1 Feb 2013 23:10:23 +0000 (23:10 +0000)]
Fix ~ unary operator (can now const-fold).  Also things like b &= ~1 work now.  We also cache ast_value of float (-1) for -1-x (which is how ~ is implemented).

7 years agoMerge branch 'cooking' of git://github.com/graphitemaster/gmqcc into cooking
Wolfgang Bumiller [Fri, 1 Feb 2013 18:12:45 +0000 (19:12 +0100)]
Merge branch 'cooking' of git://github.com/graphitemaster/gmqcc into cooking

7 years agoWork in progress ~ operator implemented as -1-x.
Dale Weiler [Fri, 1 Feb 2013 12:56:01 +0000 (12:56 +0000)]
Work in progress ~ operator implemented as -1-x.

7 years agoFix memleak and assignment for cached lengths in corrector
Dale Weiler [Fri, 1 Feb 2013 06:22:29 +0000 (06:22 +0000)]
Fix memleak and assignment for cached lengths in corrector

7 years agomanpage: removed -Wpreprocessor
Wolfgang Bumiller [Thu, 31 Jan 2013 21:23:29 +0000 (22:23 +0100)]
manpage: removed -Wpreprocessor

7 years agoconverted qcvm.1 to mdoc
Wolfgang Bumiller [Thu, 31 Jan 2013 21:15:01 +0000 (22:15 +0100)]
converted qcvm.1 to mdoc

7 years agoIgnore most memory comparisions by validating the lengths are the same first. Become...
Dale Weiler [Wed, 30 Jan 2013 23:32:15 +0000 (23:32 +0000)]
Ignore most memory comparisions by validating the lengths are the same first.  Becomes O(log(n)) from O(n) for correct_exists.

7 years agoCache lengths in corrector. This speeds up the corrector a little.
Dale Weiler [Wed, 30 Jan 2013 23:22:03 +0000 (23:22 +0000)]
Cache lengths in corrector.  This speeds up the corrector a little.

7 years agoAdded definition file for test-suite, used by default by the test system. To overrid...
Dale Weiler [Wed, 30 Jan 2013 08:04:56 +0000 (08:04 +0000)]
Added definition file for test-suite, used by default by the test system.  To override the defs globally, use -defs=file from the command line for the test-suite.  To override the defs per-file, use F: -no-defs flag in the test template file.

7 years agoOlder clang had -Wmissing-variable-declarations, which causes a heap of warnings...
Dale Weiler [Wed, 30 Jan 2013 06:52:36 +0000 (06:52 +0000)]
Older clang had -Wmissing-variable-declarations, which causes a heap of warnings, we disable it, because it's a stupid warning.  However, because it's unsupported in newer clang, disabling it causes a warning, so we need to -Wno-unknown-warning-option.  *sigh*