xonotic/gmqcc.git
8 years agomoving -Olocal-temps to -O4 until the issues are solved
Wolfgang Bumiller [Mon, 7 Jan 2013 11:58:56 +0000 (12:58 +0100)]
moving -Olocal-temps to -O4 until the issues are solved

8 years agoGuard 2 peephole optimizations which should only work on the currently-last instructi...
Wolfgang Bumiller [Sun, 6 Jan 2013 23:22:54 +0000 (00:22 +0100)]
Guard 2 peephole optimizations which should only work on the currently-last instruction by a check if it's actually really at the end...

8 years agoFix some possible NULL access in an error case
Wolfgang Bumiller [Sun, 6 Jan 2013 23:22:16 +0000 (00:22 +0100)]
Fix some possible NULL access in an error case

8 years ago__STD_QCCX__ on -std=qccx - I have no idea about what qccx does/can do but at least...
Wolfgang Bumiller [Sun, 6 Jan 2013 19:52:12 +0000 (20:52 +0100)]
__STD_QCCX__ on -std=qccx - I have no idea about what qccx does/can do but at least now -fftepp includes the macros...

8 years agomanpage: bring the list of included -f and -W flags for each described -std up to...
Wolfgang Bumiller [Sun, 6 Jan 2013 19:50:18 +0000 (20:50 +0100)]
manpage: bring the list of included -f and -W flags for each described -std up to date

8 years agoAdding -ftranslatable-strings to -std=gmqcc
Wolfgang Bumiller [Sun, 6 Jan 2013 19:49:57 +0000 (20:49 +0100)]
Adding -ftranslatable-strings to -std=gmqcc

8 years agomake the LNOF header compiler friendlier
Wolfgang Bumiller [Sun, 6 Jan 2013 15:40:38 +0000 (16:40 +0100)]
make the LNOF header compiler friendlier

8 years agoMerge branch 'master' of git://github.com/graphitemaster/gmqcc
Wolfgang Bumiller [Sun, 6 Jan 2013 15:37:05 +0000 (16:37 +0100)]
Merge branch 'master' of git://github.com/graphitemaster/gmqcc

8 years agofixup qcvm parameter handling, now progs.dat can be specified anywhere not just at...
Wolfgang Bumiller [Sun, 6 Jan 2013 15:37:02 +0000 (16:37 +0100)]
fixup qcvm parameter handling, now progs.dat can be specified anywhere not just at the end

8 years agoPipe stderr from makedepend for depend rule in makefile to /dev/null
Dale Weiler [Sun, 6 Jan 2013 15:27:39 +0000 (15:27 +0000)]
Pipe stderr from makedepend for depend rule in makefile to /dev/null

8 years agoAdd test alias to check for make file
Dale Weiler [Sun, 6 Jan 2013 15:12:46 +0000 (15:12 +0000)]
Add test alias to check for make file

8 years agoAdd splint rule to makefile
Dale Weiler [Sun, 6 Jan 2013 12:43:46 +0000 (12:43 +0000)]
Add splint rule to makefile

8 years agoremove never reached return
Dale Weiler [Sun, 6 Jan 2013 12:39:37 +0000 (12:39 +0000)]
remove never reached return

8 years agoEnable corrector by default
Dale Weiler [Sun, 6 Jan 2013 12:29:25 +0000 (12:29 +0000)]
Enable corrector by default

8 years agoMerge branch 'screwaround'
Dale Weiler [Sun, 6 Jan 2013 12:29:07 +0000 (12:29 +0000)]
Merge branch 'screwaround'

8 years agoremove a the
Dale Weiler [Sun, 6 Jan 2013 12:28:27 +0000 (12:28 +0000)]
remove a the

8 years agoDocument the awesome hack
Dale Weiler [Sun, 6 Jan 2013 12:24:05 +0000 (12:24 +0000)]
Document the awesome hack

8 years agoAn evil optimization to the trie, now has a fixed amount of branches and uses a char...
Wolfgang Bumiller [Sun, 6 Jan 2013 12:07:28 +0000 (13:07 +0100)]
An evil optimization to the trie, now has a fixed amount of branches and uses a char-to-index map to index into the branches...

8 years agoCleaner transformation calls (one less size_t for agruments). We can coalesce it...
Dale Weiler [Sun, 6 Jan 2013 11:02:39 +0000 (11:02 +0000)]
Cleaner transformation calls (one less size_t for agruments). We can coalesce it in correct_edit.

8 years agoLeave a space here for makedepend
Dale Weiler [Sun, 6 Jan 2013 10:56:25 +0000 (10:56 +0000)]
Leave a space here for makedepend

8 years agoAdd a "depend" rule for the makefile. It uses makedepend to generate dependinces...
Dale Weiler [Sun, 6 Jan 2013 10:55:22 +0000 (10:55 +0000)]
Add a "depend" rule for the makefile.  It uses makedepend to generate dependinces that are catted to the current Makefile.

8 years agoNo need to +1 for comparision in correct_known_resize
Dale Weiler [Sun, 6 Jan 2013 10:37:09 +0000 (10:37 +0000)]
No need to +1 for comparision in correct_known_resize

8 years agoFix comments
Dale Weiler [Sun, 6 Jan 2013 10:35:43 +0000 (10:35 +0000)]
Fix comments

8 years agoRemove trailing shitspace
Dale Weiler [Sun, 6 Jan 2013 10:33:09 +0000 (10:33 +0000)]
Remove trailing shitspace

8 years agoUse -O2 by default
Dale Weiler [Sun, 6 Jan 2013 10:29:29 +0000 (10:29 +0000)]
Use -O2 by default

8 years agoLess pointer dereferences
Dale Weiler [Sun, 6 Jan 2013 05:17:30 +0000 (05:17 +0000)]
Less pointer dereferences

8 years agoScrew you clang :-)
Dale Weiler [Sun, 6 Jan 2013 05:14:57 +0000 (05:14 +0000)]
Screw you clang :-)

8 years agoA little faster, plus some more research
Dale Weiler [Sun, 6 Jan 2013 05:13:19 +0000 (05:13 +0000)]
A little faster, plus some more research

8 years agoThis is a work of art, it deserve nice comments :)
Dale Weiler [Sun, 6 Jan 2013 04:09:12 +0000 (04:09 +0000)]
This is a work of art, it deserve nice comments :)

8 years agoFixes and more documentation
Dale Weiler [Sun, 6 Jan 2013 04:06:38 +0000 (04:06 +0000)]
Fixes and more documentation

8 years agoAdd a notice
Dale Weiler [Sun, 6 Jan 2013 03:52:37 +0000 (03:52 +0000)]
Add a notice

8 years agoUse memcmp with strlen for correct_exists (it's a hell of a lot faster)
Dale Weiler [Sun, 6 Jan 2013 03:34:56 +0000 (03:34 +0000)]
Use memcmp with strlen for correct_exists (it's a hell of a lot faster)

8 years agoNo more uninitialized
Dale Weiler [Sun, 6 Jan 2013 03:33:21 +0000 (03:33 +0000)]
No more uninitialized

8 years agoSome more nicer loops
Dale Weiler [Sun, 6 Jan 2013 03:29:55 +0000 (03:29 +0000)]
Some more nicer loops

8 years agoNicer loops
Dale Weiler [Sun, 6 Jan 2013 03:26:09 +0000 (03:26 +0000)]
Nicer loops

8 years agoCleanups and documentation
Dale Weiler [Sun, 6 Jan 2013 03:06:56 +0000 (03:06 +0000)]
Cleanups and documentation

8 years agoRemove override macros
Dale Weiler [Sun, 6 Jan 2013 02:41:15 +0000 (02:41 +0000)]
Remove override macros

8 years agoRemove an illegal mem_d
Dale Weiler [Sun, 6 Jan 2013 02:40:36 +0000 (02:40 +0000)]
Remove an illegal mem_d

8 years agoCleanup the pool system for correct.c. Use blubs correct_resize stuff.
Dale Weiler [Sun, 6 Jan 2013 02:39:07 +0000 (02:39 +0000)]
Cleanup the pool system for correct.c.  Use blubs correct_resize stuff.

8 years agoDon't use notices
Dale Weiler [Sat, 5 Jan 2013 20:44:53 +0000 (20:44 +0000)]
Don't use notices

8 years agoBetter IRC hook
Dale Weiler [Sat, 5 Jan 2013 20:43:47 +0000 (20:43 +0000)]
Better IRC hook

8 years agonotifications
Dale Weiler [Sat, 5 Jan 2013 20:39:50 +0000 (20:39 +0000)]
notifications

8 years agoAdd irc to travis
Dale Weiler [Sat, 5 Jan 2013 20:39:17 +0000 (20:39 +0000)]
Add irc to travis

8 years agoAdd travis.yml
Dale Weiler [Sat, 5 Jan 2013 20:31:17 +0000 (20:31 +0000)]
Add travis.yml

8 years agoCommitting an evil allocator and a trie to speed up the correction stuff
Wolfgang Bumiller [Sat, 5 Jan 2013 18:09:36 +0000 (19:09 +0100)]
Committing an evil allocator and a trie to speed up the correction stuff

8 years agoMerge branch 'master' of git://github.com/graphitemaster/gmqcc
Wolfgang Bumiller [Fri, 4 Jan 2013 13:52:00 +0000 (14:52 +0100)]
Merge branch 'master' of git://github.com/graphitemaster/gmqcc

8 years agoGet rid of correct_strndup and correct_concat altogether, reduces each generated...
Wolfgang Bumiller [Fri, 4 Jan 2013 13:50:50 +0000 (14:50 +0100)]
Get rid of correct_strndup and correct_concat altogether, reduces each generated edit to a single alloc

8 years agoDisable enhanced diagnostics as they're too slow.
Dale Weiler [Fri, 4 Jan 2013 12:26:44 +0000 (12:26 +0000)]
Disable enhanced diagnostics as they're too slow.

8 years agoImplemented -f[no]enhanced-diagnostics, to enable/disable the usage of enhanced diagn...
Dale Weiler [Fri, 4 Jan 2013 12:07:42 +0000 (12:07 +0000)]
Implemented -f[no]enhanced-diagnostics, to enable/disable the usage of enhanced diagnostics.

8 years agoRemove constant string literal for correction check, use parse_tokval of the current...
Dale Weiler [Fri, 4 Jan 2013 11:58:27 +0000 (11:58 +0000)]
Remove constant string literal for correction check, use parse_tokval of the current parser state instead. Accidently left it behind from debugging.

8 years agoMerge branch 'correct'
Dale Weiler [Fri, 4 Jan 2013 11:56:07 +0000 (11:56 +0000)]
Merge branch 'correct'

8 years agoGot rid of all the memleaks. We can now merge with master.
Dale Weiler [Fri, 4 Jan 2013 11:53:40 +0000 (11:53 +0000)]
Got rid of all the memleaks.  We can now merge with 

8 years agoItegration of corrector. Seems to be some leaks in the score keeping for the probabi...
Dale Weiler [Fri, 4 Jan 2013 11:44:25 +0000 (11:44 +0000)]
Itegration of corrector.  Seems to be some leaks in the score keeping for the probability system.

8 years agoCleanups and add the corrector to the makefile. Starting integration with the parser.
Dale Weiler [Fri, 4 Jan 2013 10:05:41 +0000 (10:05 +0000)]
Cleanups and add the corrector to the makefile.  Starting integration with the parser.

8 years agoFix all the memleaks in the corrector. Holy shit, the amount of hours I wasted trying...
Dale Weiler [Fri, 4 Jan 2013 09:46:22 +0000 (09:46 +0000)]
Fix all the memleaks in the corrector. Holy shit, the amount of hours I wasted trying to find out where I left out ONE little free.

8 years agoFix another two leaks
Dale Weiler [Thu, 3 Jan 2013 21:38:07 +0000 (21:38 +0000)]
Fix another two leaks

8 years agoRemove some memory leaks in the corrector. There is still some memory leaks that...
Dale Weiler [Thu, 3 Jan 2013 21:25:35 +0000 (21:25 +0000)]
Remove some memory leaks in the corrector.  There is still some memory leaks that are proving impossible to fix.

8 years agoWork on "did you mean? <ident>" support for errors. Using a three-part Bayes Theorem...
Dale Weiler [Thu, 3 Jan 2013 19:39:41 +0000 (19:39 +0000)]
Work on "did you mean? <ident>" support for errors.  Using a three-part Bayes Theorem expression (language model, error model and control mechanisim).

8 years agoMerge remote-tracking branch 'origin/pp-unary-numbers'
Wolfgang Bumiller [Thu, 3 Jan 2013 13:58:02 +0000 (14:58 +0100)]
Merge remote-tracking branch 'origin/pp-unary-numbers'

8 years agohandling the ast-destruction in computed goto
Wolfgang Bumiller [Thu, 3 Jan 2013 12:20:57 +0000 (13:20 +0100)]
handling the ast-destruction in computed goto

8 years agoMerge branch 'master' of github.com:graphitemaster/gmqcc
Dale Weiler [Thu, 3 Jan 2013 12:05:02 +0000 (12:05 +0000)]
Merge branch 'master' of github.com:graphitemaster/gmqcc

8 years agoAdd specialized diagnostics for when predefined macros are used and ftepp predefined...
Dale Weiler [Thu, 3 Jan 2013 12:04:32 +0000 (12:04 +0000)]
Add specialized diagnostics for when predefined macros are used and ftepp predefined macros are not enabled.

8 years agocheck for TYPE_NOEXPR in general when applying an operator
Wolfgang Bumiller [Thu, 3 Jan 2013 11:56:26 +0000 (12:56 +0100)]
check for TYPE_NOEXPR in general when applying an operator

8 years agoIntroducing TYPE_NOEXPR so that these undefined labels cannot be used on the expressi...
Wolfgang Bumiller [Thu, 3 Jan 2013 11:49:21 +0000 (12:49 +0100)]
Introducing TYPE_NOEXPR so that these undefined labels cannot be used on the expression side of goto ternary expressions; ast_label now is TYPE_NOEXPR; we may consider setting ast_ifthen to that too unless we want ifthen to return a value...

8 years agoparse_expression now takes a boolean flag on whether or not it should be creating...
Wolfgang Bumiller [Thu, 3 Jan 2013 11:46:33 +0000 (12:46 +0100)]
parse_expression now takes a boolean flag on whether or not it should be creating ast_labels for undefined identifiers; creating the label later will pick it up and set its undefined flag to false

8 years agoFix argument padding for win_fputs and alike.
Dale Weiler [Thu, 3 Jan 2013 10:33:35 +0000 (10:33 +0000)]
Fix argument padding for win_fputs and alike.

8 years agoMore error checking and proper unreferencing of ast nodes if expressions for computed...
Dale Weiler [Wed, 2 Jan 2013 22:39:24 +0000 (22:39 +0000)]
More error checking and proper unreferencing of ast nodes if expressions for computed goto fails.

8 years agoSome error checking for computed goto.
Dale Weiler [Wed, 2 Jan 2013 22:28:26 +0000 (22:28 +0000)]
Some error checking for computed goto.

8 years agoFix the testsuite bug, and implemented QCFLAGS enviroment variable support for settin...
Dale Weiler [Wed, 2 Jan 2013 22:16:02 +0000 (22:16 +0000)]
Fix the testsuite bug, and implemented QCFLAGS enviroment variable support for setting the compile flags (the .tmpl rules takes precedence).

8 years agoImplemented __TIME__ for ftepp
Dale Weiler [Wed, 2 Jan 2013 21:53:46 +0000 (21:53 +0000)]
Implemented __TIME__ for ftepp

8 years agoImplemented __DATE__ for ftepp
Dale Weiler [Wed, 2 Jan 2013 21:51:22 +0000 (21:51 +0000)]
Implemented __DATE__ for ftepp

8 years agoRemove "got" left behind from debugging.
Dale Weiler [Wed, 2 Jan 2013 21:35:18 +0000 (21:35 +0000)]
Remove "got" left behind from debugging.

8 years agoImplemented computed goto + added goto test for testsuite (tests both normal and...
Dale Weiler [Wed, 2 Jan 2013 21:32:57 +0000 (21:32 +0000)]
Implemented computed goto + added goto test for testsuite (tests both normal and computed goto statements).

8 years agolex->flags.preprocessing causes the lexer to parse the unary number if it is one
Wolfgang Bumiller [Wed, 2 Jan 2013 16:38:24 +0000 (17:38 +0100)]
lex->flags.preprocessing causes the lexer to parse the unary number if it is one

8 years agoFix some issues
Dale Weiler [Wed, 2 Jan 2013 16:34:55 +0000 (16:34 +0000)]
Fix some issues

8 years agoAllow unary minus in ftepp_if_value
Wolfgang Bumiller [Wed, 2 Jan 2013 16:23:49 +0000 (17:23 +0100)]
Allow unary minus in ftepp_if_value

8 years agopragma code: signed correctness
Wolfgang Bumiller [Wed, 2 Jan 2013 14:20:07 +0000 (15:20 +0100)]
pragma code: signed correctness

8 years agoremove ast.h-include from lexer.h to parser.c...
Wolfgang Bumiller [Wed, 2 Jan 2013 14:08:02 +0000 (15:08 +0100)]
remove ast.h-include from lexer.h to parser.c...

8 years agoMakefile: ftepp.o: lexer.h
Wolfgang Bumiller [Wed, 2 Jan 2013 14:05:52 +0000 (15:05 +0100)]
Makefile: ftepp.o: lexer.h

8 years agolex.peek char->int
Wolfgang Bumiller [Wed, 2 Jan 2013 14:03:20 +0000 (15:03 +0100)]
lex.peek char->int

8 years agotests for __VA_ARGS__
Wolfgang Bumiller [Wed, 2 Jan 2013 13:16:42 +0000 (14:16 +0100)]
tests for __VA_ARGS__

8 years ago__VA_ARGS__ support
Wolfgang Bumiller [Wed, 2 Jan 2013 13:15:16 +0000 (14:15 +0100)]
__VA_ARGS__ support

8 years agofix a leak: delete the output string of macro calls
Wolfgang Bumiller [Wed, 2 Jan 2013 09:45:55 +0000 (10:45 +0100)]
fix a leak: delete the output string of macro calls

8 years agoupdate old_string on failure in ftepp_macro_expand to not segfault on a preprocessor...
Wolfgang Bumiller [Wed, 2 Jan 2013 09:44:39 +0000 (10:44 +0100)]
update old_string on failure in ftepp_macro_expand to not segfault on a preprocessor-error inside recursive preprocessor calls

8 years agowhen recursinve into macros copy the previous line number; fixes macros showing line...
Wolfgang Bumiller [Wed, 2 Jan 2013 09:35:00 +0000 (10:35 +0100)]
when recursinve into macros copy the previous line number; fixes macros showing line 1 for each error

8 years agoImplemented a optimized hash-set that can be used in various parts of the compiler...
Dale Weiler [Tue, 1 Jan 2013 07:59:04 +0000 (07:59 +0000)]
Implemented a optimized hash-set that can be used in various parts of the compiler (to get a little more speed). I intend this to replace the hackery that is code_genstring, and code_util_str_htgeth.

8 years agoHappy new years!
Dale Weiler [Tue, 1 Jan 2013 05:08:55 +0000 (05:08 +0000)]
Happy new years!

8 years agoFix util_vasprintf.
Dale Weiler [Mon, 31 Dec 2012 18:50:57 +0000 (18:50 +0000)]
Fix util_vasprintf.

8 years agoAdd todo about util_vasprintf (too lazy to fix right now)
Dale Weiler [Mon, 31 Dec 2012 18:34:13 +0000 (18:34 +0000)]
Add todo about util_vasprintf (too lazy to fix right now)

8 years agoFix #include for <machine/endian.h> s/endiane/endian/
Dale Weiler [Mon, 31 Dec 2012 14:39:53 +0000 (14:39 +0000)]
Fix #include for <machine/endian.h> s/endiane/endian/

8 years agoActually allocate a nil-vector for nil
Wolfgang Bumiller [Mon, 31 Dec 2012 12:25:18 +0000 (13:25 +0100)]
Actually allocate a nil-vector for nil

8 years agoadd codegen_output_type to ast_binary_codegen
Wolfgang Bumiller [Mon, 31 Dec 2012 12:20:08 +0000 (13:20 +0100)]
add codegen_output_type to ast_binary_codegen

8 years agofix store op for nil as parameter
Wolfgang Bumiller [Mon, 31 Dec 2012 12:19:34 +0000 (13:19 +0100)]
fix store op for nil as parameter

8 years agoAdding '&~=' to the -std=gmqcc operator list
Wolfgang Bumiller [Mon, 31 Dec 2012 11:56:04 +0000 (12:56 +0100)]
Adding '&~=' to the -std=gmqcc operator list

8 years agoAnother hardcoded -std=gmqcc option removed and added to the implied -std=gmqcc flags
Wolfgang Bumiller [Mon, 31 Dec 2012 11:43:15 +0000 (12:43 +0100)]
Another hardcoded -std=gmqcc option removed and added to the implied -std=gmqcc flags

8 years agoremove another hardcoded -std=gmqcc case
Wolfgang Bumiller [Mon, 31 Dec 2012 11:40:09 +0000 (12:40 +0100)]
remove another hardcoded -std=gmqcc case

8 years ago-std=gmqcc now implies -Werror-missing-return-values; another hardcoded error removed
Wolfgang Bumiller [Mon, 31 Dec 2012 11:37:47 +0000 (12:37 +0100)]
-std=gmqcc now implies -Werror-missing-return-values; another hardcoded error removed

8 years agoJust allow variable declarations in for-loop initializers in any standard...
Wolfgang Bumiller [Mon, 31 Dec 2012 11:35:26 +0000 (12:35 +0100)]
Just allow variable declarations in for-loop initializers in any standard...

8 years agoChanging -Wtoo-few-parameters to -Winvalid-parameter-count; removing hardcoded COMPIL...
Wolfgang Bumiller [Mon, 31 Dec 2012 11:29:25 +0000 (12:29 +0100)]
Changing -Wtoo-few-parameters to -Winvalid-parameter-count; removing hardcoded COMPILER_GMQCC code which makes invalid parameter counts an error and instead make -std=gmqcc imply -Werror-invalid-parameter-count

8 years agoAdding some more internal-error messages where they were missing; fixed ast_ternary_c...
Wolfgang Bumiller [Mon, 31 Dec 2012 11:08:47 +0000 (12:08 +0100)]
Adding some more internal-error messages where they were missing; fixed ast_ternary_codegen to use the ast_node's type instead of the ir generated ones to avoid erroring on TYPE_NIL