]>
git.rm.cloudns.org Git - xonotic/gmqcc.git/log
Dale Weiler [Sun, 6 Jan 2013 05:17:30 +0000 (05:17 +0000)]
Less pointer dereferences
Dale Weiler [Sun, 6 Jan 2013 05:14:57 +0000 (05:14 +0000)]
Screw you clang :-)
Dale Weiler [Sun, 6 Jan 2013 05:13:19 +0000 (05:13 +0000)]
A little faster, plus some more research
Dale Weiler [Sun, 6 Jan 2013 04:09:12 +0000 (04:09 +0000)]
This is a work of art, it deserve nice comments :)
Dale Weiler [Sun, 6 Jan 2013 04:06:38 +0000 (04:06 +0000)]
Fixes and more documentation
Dale Weiler [Sun, 6 Jan 2013 03:52:37 +0000 (03:52 +0000)]
Add a notice
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)
Dale Weiler [Sun, 6 Jan 2013 03:33:21 +0000 (03:33 +0000)]
No more uninitialized
Dale Weiler [Sun, 6 Jan 2013 03:29:55 +0000 (03:29 +0000)]
Some more nicer loops
Dale Weiler [Sun, 6 Jan 2013 03:26:09 +0000 (03:26 +0000)]
Nicer loops
Dale Weiler [Sun, 6 Jan 2013 03:06:56 +0000 (03:06 +0000)]
Cleanups and documentation
Dale Weiler [Sun, 6 Jan 2013 02:41:15 +0000 (02:41 +0000)]
Remove override macros
Dale Weiler [Sun, 6 Jan 2013 02:40:36 +0000 (02:40 +0000)]
Remove an illegal mem_d
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.
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
Wolfgang Bumiller [Fri, 4 Jan 2013 13:52:00 +0000 (14:52 +0100)]
Merge branch 'master' of git://github.com/graphitemaster/gmqcc
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
Dale Weiler [Fri, 4 Jan 2013 12:26:44 +0000 (12:26 +0000)]
Disable enhanced diagnostics as they're too slow.
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.
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.
Dale Weiler [Fri, 4 Jan 2013 11:56:07 +0000 (11:56 +0000)]
Merge branch 'correct'
Dale Weiler [Fri, 4 Jan 2013 11:53:40 +0000 (11:53 +0000)]
Got rid of all the memleaks. We can now merge with master.
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.
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.
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.
Dale Weiler [Thu, 3 Jan 2013 21:38:07 +0000 (21:38 +0000)]
Fix another two leaks
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.
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).
Wolfgang Bumiller [Thu, 3 Jan 2013 13:58:02 +0000 (14:58 +0100)]
Merge remote-tracking branch 'origin/pp-unary-numbers'
Wolfgang Bumiller [Thu, 3 Jan 2013 12:20:57 +0000 (13:20 +0100)]
handling the ast-destruction in computed goto
Dale Weiler [Thu, 3 Jan 2013 12:05:02 +0000 (12:05 +0000)]
Merge branch 'master' of github.com:graphitemaster/gmqcc
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.
Wolfgang Bumiller [Thu, 3 Jan 2013 11:56:26 +0000 (12:56 +0100)]
check for TYPE_NOEXPR in general when applying an operator
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...
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
Dale Weiler [Thu, 3 Jan 2013 10:33:35 +0000 (10:33 +0000)]
Fix argument padding for win_fputs and alike.
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.
Dale Weiler [Wed, 2 Jan 2013 22:28:26 +0000 (22:28 +0000)]
Some error checking for computed goto.
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).
Dale Weiler [Wed, 2 Jan 2013 21:53:46 +0000 (21:53 +0000)]
Implemented __TIME__ for ftepp
Dale Weiler [Wed, 2 Jan 2013 21:51:22 +0000 (21:51 +0000)]
Implemented __DATE__ for ftepp
Dale Weiler [Wed, 2 Jan 2013 21:35:18 +0000 (21:35 +0000)]
Remove "got" left behind from debugging.
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).
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
Dale Weiler [Wed, 2 Jan 2013 16:34:55 +0000 (16:34 +0000)]
Fix some issues
Wolfgang Bumiller [Wed, 2 Jan 2013 16:23:49 +0000 (17:23 +0100)]
Allow unary minus in ftepp_if_value
Wolfgang Bumiller [Wed, 2 Jan 2013 14:20:07 +0000 (15:20 +0100)]
pragma code: signed correctness
Wolfgang Bumiller [Wed, 2 Jan 2013 14:08:02 +0000 (15:08 +0100)]
remove ast.h-include from lexer.h to parser.c...
Wolfgang Bumiller [Wed, 2 Jan 2013 14:05:52 +0000 (15:05 +0100)]
Makefile: ftepp.o: lexer.h
Wolfgang Bumiller [Wed, 2 Jan 2013 14:03:20 +0000 (15:03 +0100)]
lex.peek char->int
Wolfgang Bumiller [Wed, 2 Jan 2013 13:16:42 +0000 (14:16 +0100)]
tests for __VA_ARGS__
Wolfgang Bumiller [Wed, 2 Jan 2013 13:15:16 +0000 (14:15 +0100)]
__VA_ARGS__ support
Wolfgang Bumiller [Wed, 2 Jan 2013 09:45:55 +0000 (10:45 +0100)]
fix a leak: delete the output string of macro calls
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
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
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.
Dale Weiler [Tue, 1 Jan 2013 05:08:55 +0000 (05:08 +0000)]
Happy new years!
Dale Weiler [Mon, 31 Dec 2012 18:50:57 +0000 (18:50 +0000)]
Fix util_vasprintf.
Dale Weiler [Mon, 31 Dec 2012 18:34:13 +0000 (18:34 +0000)]
Add todo about util_vasprintf (too lazy to fix right now)
Dale Weiler [Mon, 31 Dec 2012 14:39:53 +0000 (14:39 +0000)]
Fix #include for <machine/endian.h> s/endiane/endian/
Wolfgang Bumiller [Mon, 31 Dec 2012 12:25:18 +0000 (13:25 +0100)]
Actually allocate a nil-vector for nil
Wolfgang Bumiller [Mon, 31 Dec 2012 12:20:08 +0000 (13:20 +0100)]
add codegen_output_type to ast_binary_codegen
Wolfgang Bumiller [Mon, 31 Dec 2012 12:19:34 +0000 (13:19 +0100)]
fix store op for nil as parameter
Wolfgang Bumiller [Mon, 31 Dec 2012 11:56:04 +0000 (12:56 +0100)]
Adding '&~=' to the -std=gmqcc operator list
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
Wolfgang Bumiller [Mon, 31 Dec 2012 11:40:09 +0000 (12:40 +0100)]
remove another hardcoded -std=gmqcc case
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
Wolfgang Bumiller [Mon, 31 Dec 2012 11:35:26 +0000 (12:35 +0100)]
Just allow variable declarations in for-loop initializers in any standard...
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
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
Wolfgang Bumiller [Mon, 31 Dec 2012 10:45:00 +0000 (11:45 +0100)]
nil in ternary, and fix ternary to honor -fcorrect-logic/-ftrue/false-empty-strings
Wolfgang Bumiller [Mon, 31 Dec 2012 10:39:00 +0000 (11:39 +0100)]
Explicitly allow 'return nil'
Wolfgang Bumiller [Mon, 31 Dec 2012 10:34:29 +0000 (11:34 +0100)]
This should actually cover all nil cases
Wolfgang Bumiller [Mon, 31 Dec 2012 10:30:02 +0000 (11:30 +0100)]
nil check in paramter type checking
Wolfgang Bumiller [Mon, 31 Dec 2012 10:23:49 +0000 (11:23 +0100)]
Allow assigning nil to a field
Wolfgang Bumiller [Mon, 31 Dec 2012 10:14:43 +0000 (11:14 +0100)]
gmqcc.ini.example: -Wparenthesis
Wolfgang Bumiller [Mon, 31 Dec 2012 10:14:34 +0000 (11:14 +0100)]
manpage: -Wparenthesis
Wolfgang Bumiller [Mon, 31 Dec 2012 10:14:24 +0000 (11:14 +0100)]
Activate -Wparenthesis by default
Wolfgang Bumiller [Mon, 31 Dec 2012 10:11:46 +0000 (11:11 +0100)]
Adding -Wparenthesis, fixing constant folding of && and ||
Dale Weiler [Sun, 30 Dec 2012 11:01:45 +0000 (11:01 +0000)]
Fix evaluation order bug
Wolfgang Bumiller [Sun, 30 Dec 2012 10:59:29 +0000 (11:59 +0100)]
Do we REALLY need to listen to splint?
Wolfgang Bumiller [Sun, 30 Dec 2012 10:03:59 +0000 (11:03 +0100)]
Clean up trailing whitespaces
Dale Weiler [Sun, 30 Dec 2012 09:59:32 +0000 (09:59 +0000)]
Merge branch 'master' of github.com:graphitemaster/gmqcc
Dale Weiler [Sun, 30 Dec 2012 09:58:52 +0000 (09:58 +0000)]
Add support for user defined messages for [[deprecated]] generalized attribute
Wolfgang Bumiller [Sun, 30 Dec 2012 09:37:15 +0000 (10:37 +0100)]
fix: ftepp_delete needs to ftepp_flush to not cause a leak on errors
Dale Weiler [Sun, 30 Dec 2012 06:43:07 +0000 (06:43 +0000)]
Implement [[deprecated]] general attribute, will mark functions as deprecated. Making calls to functions marked as such will trigger a compiler warning. Enabled by default.
Wolfgang Bumiller [Sat, 29 Dec 2012 20:15:59 +0000 (21:15 +0100)]
Properly support globals initialized to nil
Wolfgang Bumiller [Sat, 29 Dec 2012 18:11:06 +0000 (19:11 +0100)]
improvie/fix \{x...} char parsing
Wolfgang Bumiller [Sat, 29 Dec 2012 16:41:01 +0000 (17:41 +0100)]
gmqcc.ini.example: DIFFERENT_QUALIFIERS, DIFFERENT_ATTRIBUTES
Wolfgang Bumiller [Sat, 29 Dec 2012 16:38:50 +0000 (17:38 +0100)]
manpage: -Wdifferent-qualifiers -Wdifferent-attributes
Wolfgang Bumiller [Sat, 29 Dec 2012 16:36:27 +0000 (17:36 +0100)]
-Wdifferent-qualifiers, -Wdifferent-attributes
Dale Weiler [Sat, 29 Dec 2012 14:42:17 +0000 (14:42 +0000)]
Merge branch 'master' of github.com:graphitemaster/gmqcc
Dale Weiler [Sat, 29 Dec 2012 14:41:47 +0000 (14:41 +0000)]
Fix uninitialized-global
Wolfgang Bumiller [Sat, 29 Dec 2012 14:13:54 +0000 (15:13 +0100)]
Don't allow code like: v * '0 1 0' = 3; to actually work...
Wolfgang Bumiller [Sat, 29 Dec 2012 14:13:28 +0000 (15:13 +0100)]
gmqcc.ini.example: VECTOR_COMPONENTS
Wolfgang Bumiller [Sat, 29 Dec 2012 14:10:04 +0000 (15:10 +0100)]
manpage: -Ovector-components
Wolfgang Bumiller [Sat, 29 Dec 2012 14:05:04 +0000 (15:05 +0100)]
-Ovector-components
Dale Weiler [Sat, 29 Dec 2012 03:10:06 +0000 (19:10 -0800)]
Merge pull request #80 from matthiaskrgr/master
add .gitignore file
matthiaskrgr [Fri, 28 Dec 2012 22:33:43 +0000 (23:33 +0100)]
Merge remote-tracking branch 'upstream/master'
matthiaskrgr [Fri, 28 Dec 2012 22:32:33 +0000 (23:32 +0100)]
add .gitignore file