xonotic/gmqcc.git
9 years agothere's no -f flag named overlap-locals... removed the opts.def entry
Wolfgang Bumiller [Thu, 27 Dec 2012 21:18:39 +0000 (22:18 +0100)]
there's no -f flag named overlap-locals... removed the opts.def entry

9 years agoMerge pull request #77 from matthiaskrgr/PKGBUILD
Wolfgang Bumiller [Thu, 27 Dec 2012 19:10:10 +0000 (11:10 -0800)]
Merge pull request #77 from matthiaskrgr/PKGBUILD

PKGBUILDs: note myself as contributor.

9 years agoPKGBUILDs: note myself as contributor.
matthiaskrgr [Thu, 27 Dec 2012 19:07:58 +0000 (20:07 +0100)]
PKGBUILDs: note myself as contributor.

9 years agobumping arch/release PKGBUILD to 0.2.2
Wolfgang Bumiller [Thu, 27 Dec 2012 13:48:52 +0000 (14:48 +0100)]
bumping arch/release PKGBUILD to 0.2.2

9 years agoAnother bool->int fix; now clang-compiled gmqcc actually works...
Wolfgang Bumiller [Thu, 27 Dec 2012 13:33:58 +0000 (14:33 +0100)]
Another bool->int fix; now clang-compiled gmqcc actually works...

9 years agomanpage: -fbail-on-werror
Wolfgang Bumiller [Thu, 27 Dec 2012 11:48:36 +0000 (12:48 +0100)]
manpage: -fbail-on-werror

9 years ago-fbail-on-werror option
Wolfgang Bumiller [Thu, 27 Dec 2012 11:46:36 +0000 (12:46 +0100)]
-fbail-on-werror option

9 years agofix: when there are no additional temps the first one allocated slot's size was count...
Wolfgang Bumiller [Thu, 27 Dec 2012 10:46:08 +0000 (11:46 +0100)]
fix: when there are no additional temps the first one allocated slot's size was counted twice resulting in some additional unused globals

9 years agoMerge pull request #75 from matthiaskrgr/master
Wolfgang Bumiller [Thu, 27 Dec 2012 10:06:04 +0000 (02:06 -0800)]
Merge pull request #75 from matthiaskrgr/master

mention PKGBUILDs in INSTALL file, fix typo in manpage

9 years agomanpage: -Oglobal-temps
Wolfgang Bumiller [Wed, 26 Dec 2012 22:20:49 +0000 (23:20 +0100)]
manpage: -Oglobal-temps

9 years ago-Oglobal-temps
Wolfgang Bumiller [Wed, 26 Dec 2012 22:18:45 +0000 (23:18 +0100)]
-Oglobal-temps

9 years agofix -v option parsing in qcvm
Wolfgang Bumiller [Wed, 26 Dec 2012 21:49:50 +0000 (22:49 +0100)]
fix -v option parsing in qcvm

9 years agofactoring out temp-slot-assignment and using it for the declared locals too, makes...
Wolfgang Bumiller [Wed, 26 Dec 2012 21:09:54 +0000 (22:09 +0100)]
factoring out temp-slot-assignment and using it for the declared locals too, makes -Olocal-temps more effective

9 years agomanpage: gmqcc: fix typo
matthiaskrgr [Wed, 26 Dec 2012 21:03:08 +0000 (22:03 +0100)]
manpage: gmqcc: fix typo

9 years agoINSTALL: mention ArchLinux PKGBUILDs.
matthiaskrgr [Wed, 26 Dec 2012 20:57:26 +0000 (21:57 +0100)]
INSTALL: mention ArchLinux PKGBUILDs.

9 years agoSwitch over to LONGBIT
Wolfgang Bumiller [Wed, 26 Dec 2012 20:39:00 +0000 (21:39 +0100)]
Switch over to LONGBIT

9 years agoMerge pull request #74 from matthiaskrgr/PKGBUILD
Wolfgang Bumiller [Wed, 26 Dec 2012 20:31:25 +0000 (12:31 -0800)]
Merge pull request #74 from matthiaskrgr/PKGBUILD

add arch PKGBUILDs for git and release build.

9 years agoPKGBUILD: formatting
matthiaskrgr [Wed, 26 Dec 2012 19:21:41 +0000 (20:21 +0100)]
PKGBUILD: formatting

9 years agoadd PKGBUILD for release build.
matthiaskrgr [Wed, 26 Dec 2012 19:17:29 +0000 (20:17 +0100)]
add PKGBUILD for release build.

9 years agoPKGBUILD: license is MIT
matthiaskrgr [Wed, 26 Dec 2012 19:13:07 +0000 (20:13 +0100)]
PKGBUILD: license is MIT

9 years agofix uninitialized warnings in ir.c
Wolfgang Bumiller [Wed, 26 Dec 2012 19:06:30 +0000 (20:06 +0100)]
fix uninitialized warnings in ir.c

9 years agoPKGBUILD: install custom license file.
matthiaskrgr [Wed, 26 Dec 2012 19:07:51 +0000 (20:07 +0100)]
PKGBUILD: install custom license file.

9 years agoPKGBUILD: license is not GPL actually
matthiaskrgr [Wed, 26 Dec 2012 19:03:17 +0000 (20:03 +0100)]
PKGBUILD: license is not GPL actually

9 years agoFixing uninitialized warnings in parser.c
Wolfgang Bumiller [Wed, 26 Dec 2012 19:00:17 +0000 (20:00 +0100)]
Fixing uninitialized warnings in parser.c

9 years agoadding -fno-strict-aliasing
Wolfgang Bumiller [Wed, 26 Dec 2012 18:58:53 +0000 (19:58 +0100)]
adding -fno-strict-aliasing

9 years agoadd PKGBUILD for git build.
matthiaskrgr [Wed, 26 Dec 2012 18:58:40 +0000 (19:58 +0100)]
add PKGBUILD for git build.

9 years agomanpage: -dump, -dumpfin
Wolfgang Bumiller [Wed, 26 Dec 2012 18:37:55 +0000 (19:37 +0100)]
manpage: -dump, -dumpfin

9 years agoMerge pull request #73 from matthiaskrgr/master
Wolfgang Bumiller [Wed, 26 Dec 2012 18:21:31 +0000 (10:21 -0800)]
Merge pull request #73 from matthiaskrgr/master

fix some typos in todo file

9 years agoTODO: fix typos
matthiaskrgr [Wed, 26 Dec 2012 18:15:40 +0000 (19:15 +0100)]
TODO: fix typos

9 years agocounters for -Ocall-stores because we all love numbers
Wolfgang Bumiller [Wed, 26 Dec 2012 18:11:26 +0000 (19:11 +0100)]
counters for -Ocall-stores because we all love numbers

9 years agoDon't copy return values away from OFS_RETURN if they don't get locked.
Wolfgang Bumiller [Wed, 26 Dec 2012 17:33:16 +0000 (18:33 +0100)]
Don't copy return values away from OFS_RETURN if they don't get locked.

9 years agomanpage: -Ovoid-return
Wolfgang Bumiller [Wed, 26 Dec 2012 09:28:01 +0000 (10:28 +0100)]
manpage: -Ovoid-return

9 years agomanpage: added -v to the qcvm manpage
Wolfgang Bumiller [Wed, 26 Dec 2012 09:26:04 +0000 (10:26 +0100)]
manpage: added -v to the qcvm manpage

9 years ago-Ovoid-return - the last INSTR_RETURN of a void functions is replaced by INSTR_DONE...
Wolfgang Bumiller [Wed, 26 Dec 2012 09:24:33 +0000 (10:24 +0100)]
-Ovoid-return - the last INSTR_RETURN of a void functions is replaced by INSTR_DONE to reduce the instruction count

9 years agoverbose switches for the qcvm; makes -printfuns find the instruction-count of a funct...
Wolfgang Bumiller [Wed, 26 Dec 2012 09:23:45 +0000 (10:23 +0100)]
verbose switches for the qcvm; makes -printfuns find the instruction-count of a function and print that too

9 years agoActually generate the vector member ir_values in ir_function_finalize, since ir_build...
Wolfgang Bumiller [Tue, 25 Dec 2012 22:51:29 +0000 (23:51 +0100)]
Actually generate the vector member ir_values in ir_function_finalize, since ir_builder_gen_global is too late / happens after life ranges; this should fix -Ooverlap-locals

9 years agomanpage: -Ocall-stores
Wolfgang Bumiller [Tue, 25 Dec 2012 22:28:09 +0000 (23:28 +0100)]
manpage: -Ocall-stores

9 years ago-Ocall-stores as part of -O1: instead of having CALL instructions issue STOREs for...
Wolfgang Bumiller [Tue, 25 Dec 2012 22:25:59 +0000 (23:25 +0100)]
-Ocall-stores as part of -O1: instead of having CALL instructions issue STOREs for every parameter, use the newly introduced 'lock' flag to make the operations generating the call's parameters generate them right into the OFS_PARM if there's no interfering CALL in between

9 years agodo the locking before processing the call-reads otherwise all the call's parameters...
Wolfgang Bumiller [Tue, 25 Dec 2012 22:24:31 +0000 (23:24 +0100)]
do the locking before processing the call-reads otherwise all the call's parameters get locked as well

9 years agoliferange calc now sets the 'locked' flag on values when reaching a CALL
Wolfgang Bumiller [Tue, 25 Dec 2012 20:03:26 +0000 (21:03 +0100)]
liferange calc now sets the 'locked' flag on values when reaching a CALL

9 years agoThe very aggressive -Ooverlap-strings
Wolfgang Bumiller [Tue, 25 Dec 2012 19:38:05 +0000 (20:38 +0100)]
The very aggressive -Ooverlap-strings

9 years agoEnsure that the members[] array is filled for vector types so the liferange function...
Wolfgang Bumiller [Mon, 24 Dec 2012 11:52:15 +0000 (12:52 +0100)]
Ensure that the members[] array is filled for vector types so the liferange function can use all of them

9 years agoTests for the previous vector-liferange change
Wolfgang Bumiller [Mon, 24 Dec 2012 11:43:16 +0000 (12:43 +0100)]
Tests for the previous vector-liferange change

9 years agoNow this should deal with vector life ranges more correctly.
Wolfgang Bumiller [Mon, 24 Dec 2012 11:43:05 +0000 (12:43 +0100)]
Now this should deal with vector life ranges more correctly.

9 years agoprint an error when static is used in global scope - this is currently not being...
Wolfgang Bumiller [Mon, 24 Dec 2012 10:38:33 +0000 (11:38 +0100)]
print an error when static is used in global scope - this is currently not being handled as expected

9 years agoAdded the 'static' keyword.
Wolfgang Bumiller [Mon, 24 Dec 2012 10:30:58 +0000 (11:30 +0100)]
Added the 'static' keyword.

Implements #71

9 years agomanpage: -q, --quiet
Wolfgang Bumiller [Mon, 24 Dec 2012 10:03:34 +0000 (11:03 +0100)]
manpage: -q, --quiet

9 years agomanpage: -fftepp-predefs
Wolfgang Bumiller [Mon, 24 Dec 2012 10:01:24 +0000 (11:01 +0100)]
manpage: -fftepp-predefs

9 years ago-q, --quiet option
Wolfgang Bumiller [Mon, 24 Dec 2012 09:53:51 +0000 (10:53 +0100)]
-q, --quiet option

9 years agoone too many zeros
Dale Weiler [Mon, 24 Dec 2012 08:19:57 +0000 (08:19 +0000)]
one too many zeros

9 years agoAdded my awesome MT1997 PRNG, and use it instead of stdio's rand()/srand() .. which...
Dale Weiler [Mon, 24 Dec 2012 01:43:27 +0000 (01:43 +0000)]
Added my awesome MT1997 PRNG, and use it instead of stdio's rand()/srand() .. which are implementation specific .. and simply unsafe (for example one of the compilers at work simply has it's standard library implementation of rand() return 0 always (which is perfectly conformant)).

9 years agoAdded ftepp predefs flag (ability to turn on/off predefs) disabled by default (even...
Dale Weiler [Mon, 24 Dec 2012 00:21:55 +0000 (00:21 +0000)]
Added ftepp predefs flag (ability to turn on/off predefs) disabled by default (even with -ftepp), enabled with -E, to enable use -fftepp-predefs.

9 years agoImplemented __FILE__, __LINE__, __RANDOM__, __RANDOM_LAST__, __COUNTER__ and __COUNTE...
Dale Weiler [Mon, 24 Dec 2012 00:12:24 +0000 (00:12 +0000)]
Implemented __FILE__, __LINE__, __RANDOM__, __RANDOM_LAST__, __COUNTER__ and __COUNTER_LAST__ as predefined macros.  __FUNCTION__ is not implemented yet due to the overall complexity in making it constant.

9 years ago-Ostrip-constant-names
Wolfgang Bumiller [Sun, 23 Dec 2012 21:58:46 +0000 (22:58 +0100)]
-Ostrip-constant-names

9 years agocode_genstring now caches strings, no need for code_cachestring
Wolfgang Bumiller [Sun, 23 Dec 2012 13:59:09 +0000 (14:59 +0100)]
code_genstring now caches strings, no need for code_cachestring

9 years ago-Olocaltemps -> -Olocal-temps for consistency; added manpage entry; removed leftover...
Wolfgang Bumiller [Sun, 23 Dec 2012 20:39:04 +0000 (21:39 +0100)]
-Olocaltemps -> -Olocal-temps for consistency; added manpage entry; removed leftover manpage entry for -foverlap-locals; -Olocal-temps moved from -O1 to -O3 due to stability concerns

9 years agorevert 3ef30e850da5e5
Wolfgang Bumiller [Sun, 23 Dec 2012 20:34:04 +0000 (21:34 +0100)]
revert 3ef30e850da5e5

9 years agoRemove ir_block_create_{add,sub,mul,div}, they're not used; STOREP instructions don...
Wolfgang Bumiller [Sun, 23 Dec 2012 20:29:15 +0000 (21:29 +0100)]
Remove ir_block_create_{add,sub,mul,div}, they're not used; STOREP instructions don't themselves to their target pointer's 'writes' list, but 'reads' list instead

9 years agoStart instruction numbering at 1 and make parameters live at 0
Wolfgang Bumiller [Sun, 23 Dec 2012 20:20:16 +0000 (21:20 +0100)]
Start instruction numbering at 1 and make parameters live at 0

9 years agoDon't store off CALL results if they're never read
Wolfgang Bumiller [Sun, 23 Dec 2012 20:11:56 +0000 (21:11 +0100)]
Don't store off CALL results if they're never read

9 years agoEven safer vector macros
Wolfgang Bumiller [Sun, 23 Dec 2012 19:55:15 +0000 (20:55 +0100)]
Even safer vector macros

9 years agoLife Ranges: First deal with all writes, then with all reads, since writes will remov...
Wolfgang Bumiller [Sun, 23 Dec 2012 19:50:21 +0000 (20:50 +0100)]
Life Ranges: First deal with all writes, then with all reads, since writes will remove values from the Living set

9 years agoFixing vector macros
Wolfgang Bumiller [Sun, 23 Dec 2012 19:49:50 +0000 (20:49 +0100)]
Fixing vector macros

9 years agoadded -disasm-func to the qcvm
Wolfgang Bumiller [Sun, 23 Dec 2012 19:45:43 +0000 (20:45 +0100)]
added -disasm-func to the qcvm

9 years agostrcmp and strncmp builtins
Wolfgang Bumiller [Sun, 23 Dec 2012 18:22:38 +0000 (19:22 +0100)]
strcmp and strncmp builtins

9 years agoAdding strcat builtin to qcvm
Wolfgang Bumiller [Sun, 23 Dec 2012 18:05:39 +0000 (19:05 +0100)]
Adding strcat builtin to qcvm

9 years agodon't optimize out NOT_S instructions for COND
Wolfgang Bumiller [Sun, 23 Dec 2012 16:51:01 +0000 (17:51 +0100)]
don't optimize out NOT_S instructions for COND

9 years agomanpage: remove the MUL_FV/VF section, it wouldn't be legal code anyway
Wolfgang Bumiller [Sun, 23 Dec 2012 16:50:44 +0000 (17:50 +0100)]
manpage: remove the MUL_FV/VF section, it wouldn't be legal code anyway

9 years agomanpage: optimization section
Wolfgang Bumiller [Sun, 23 Dec 2012 16:46:40 +0000 (17:46 +0100)]
manpage: optimization section

9 years agoMask overlap-locals by -Ooverlap-locals, and count (the amount of overlapped functions)
Wolfgang Bumiller [Sun, 23 Dec 2012 16:40:56 +0000 (17:40 +0100)]
Mask overlap-locals by -Ooverlap-locals, and count (the amount of overlapped functions)

9 years agoTry generating the function-locals in a later pass; with the option to overlap them.
Wolfgang Bumiller [Sun, 23 Dec 2012 16:32:39 +0000 (17:32 +0100)]
Try generating the function-locals in a later pass; with the option to overlap them.

9 years agoFix a nasty bug in the executor; and make null-strings be shown as (null) in the...
Wolfgang Bumiller [Sun, 23 Dec 2012 16:32:14 +0000 (17:32 +0100)]
Fix a nasty bug in the executor; and make null-strings be shown as (null) in the trace output

9 years agoAdd -Ooverlap-locals to -O3
Wolfgang Bumiller [Sun, 23 Dec 2012 15:31:21 +0000 (16:31 +0100)]
Add -Ooverlap-locals to -O3

9 years agoremember the maximum amount of required function-locals
Wolfgang Bumiller [Sun, 23 Dec 2012 15:31:01 +0000 (16:31 +0100)]
remember the maximum amount of required function-locals

9 years agoir_function now has a flags field - flags are: IR_FLAG_HAS_{ARRAYS,UNINITIALIZED...
Wolfgang Bumiller [Sun, 23 Dec 2012 15:21:38 +0000 (16:21 +0100)]
ir_function now has a flags field - flags are: IR_FLAG_HAS_{ARRAYS,UNINITIALIZED,GOTO}

9 years agoutil_swa_* + GMQCC_INLINE
Wolfgang Bumiller [Sun, 23 Dec 2012 12:11:20 +0000 (13:11 +0100)]
util_swa_* + GMQCC_INLINE

9 years agoDon't generate defs for locals or parameters unless using -g
Wolfgang Bumiller [Sun, 23 Dec 2012 11:22:27 +0000 (12:22 +0100)]
Don't generate defs for locals or parameters unless using -g

9 years agoutf8lib.c -> utf8.c - I hope windows 8 allows this filename :P
Wolfgang Bumiller [Sun, 23 Dec 2012 09:44:03 +0000 (10:44 +0100)]
utf8lib.c -> utf8.c - I hope windows 8 allows this filename :P

9 years agolicense header
Wolfgang Bumiller [Sun, 23 Dec 2012 09:35:21 +0000 (10:35 +0100)]
license header

9 years agoUchar -> uchar_t for consistency
Wolfgang Bumiller [Sun, 23 Dec 2012 09:34:29 +0000 (10:34 +0100)]
Uchar -> uchar_t for consistency

9 years agomanpage: -futf8
Wolfgang Bumiller [Sat, 22 Dec 2012 21:48:41 +0000 (22:48 +0100)]
manpage: -futf8

9 years agoutf8 tests
Wolfgang Bumiller [Sat, 22 Dec 2012 21:46:42 +0000 (22:46 +0100)]
utf8 tests

9 years agoBetter error message for -futf8
Wolfgang Bumiller [Sat, 22 Dec 2012 21:44:14 +0000 (22:44 +0100)]
Better error message for -futf8

9 years agofix and speed up u8_analyze for our purposes
Wolfgang Bumiller [Sat, 22 Dec 2012 21:43:14 +0000 (22:43 +0100)]
fix and speed up u8_analyze for our purposes

9 years ago-futf8 implementation
Wolfgang Bumiller [Sat, 22 Dec 2012 21:34:57 +0000 (22:34 +0100)]
-futf8 implementation

9 years agou8_analyze: return false on any invalid character, we do not allow invalid/overlong...
Wolfgang Bumiller [Sat, 22 Dec 2012 21:31:10 +0000 (22:31 +0100)]
u8_analyze: return false on any invalid character, we do not allow invalid/overlong characters in code at all

9 years agoImporting utf8lib
Wolfgang Bumiller [Fri, 21 Dec 2012 11:18:57 +0000 (12:18 +0100)]
Importing utf8lib

9 years agoBump 0.2 -> 0.3
Dale Weiler [Sun, 23 Dec 2012 09:18:17 +0000 (09:18 +0000)]
Bump 0.2 -> 0.3

9 years agoDon't generate vector defs if the vector's name starts with a # because that's an... 0.2
Wolfgang Bumiller [Sun, 23 Dec 2012 09:14:25 +0000 (10:14 +0100)]
Don't generate vector defs if the vector's name starts with a # because that's an 'IMMEDIATE'

9 years agoWhitespace
Dale Weiler [Sun, 23 Dec 2012 09:10:31 +0000 (09:10 +0000)]
Whitespace

9 years agoRevert "Whitespace fixes"
Dale Weiler [Sun, 23 Dec 2012 09:10:07 +0000 (09:10 +0000)]
Revert "Whitespace fixes"

This reverts commit 4580dcf1eacfce517e95b654b73d6e72db366273.

9 years agoWhitespace fixes
Dale Weiler [Sun, 23 Dec 2012 08:42:53 +0000 (08:42 +0000)]
Whitespace fixes

9 years agoLies ... damned lies, all lies I tell you ... copy-pasta lies!
Dale Weiler [Sun, 23 Dec 2012 08:17:05 +0000 (08:17 +0000)]
Lies ... damned lies, all lies I tell you ... copy-pasta lies!

9 years agoActually fix the segfault this time
Dale Weiler [Sun, 23 Dec 2012 08:08:05 +0000 (08:08 +0000)]
Actually fix the segfault this time

9 years agocon_default_out for opts.pp_only (removes recently added TODO .. and fixes a segfault)
Dale Weiler [Sun, 23 Dec 2012 07:57:06 +0000 (07:57 +0000)]
con_default_out for opts.pp_only (removes recently added TODO .. and fixes a segfault)

9 years agoMake compiler and virtual-machine compile as C++ code, also removed gmqcc_voidptr...
Dale Weiler [Sun, 23 Dec 2012 07:51:19 +0000 (07:51 +0000)]
Make compiler and virtual-machine compile as C++ code, also removed gmqcc_voidptr hack.

9 years agoRemove parser_compile_string_len, and make parser_compiler_string take an additional...
Dale Weiler [Sun, 23 Dec 2012 07:22:15 +0000 (07:22 +0000)]
Remove parser_compile_string_len, and make parser_compiler_string take an additional length argument.

9 years agofix comments
Dale Weiler [Sun, 23 Dec 2012 07:19:49 +0000 (07:19 +0000)]
fix comments

9 years agofixes, and removed a #pragma warning(disable ...) in MSVC .. thanks to the FILE wrapp...
Dale Weiler [Sun, 23 Dec 2012 07:18:00 +0000 (07:18 +0000)]
fixes, and removed a #pragma warning(disable ...) in MSVC .. thanks to the FILE wrapping interface.

9 years agoCleanup flexible array / vector system
Dale Weiler [Sun, 23 Dec 2012 07:14:16 +0000 (07:14 +0000)]
Cleanup flexible array / vector system