xonotic/gmqcc.git
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 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 agoFix some issues
Dale Weiler [Wed, 2 Jan 2013 16:34:55 +0000 (16:34 +0000)]
Fix some issues

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

8 years agonil in ternary, and fix ternary to honor -fcorrect-logic/-ftrue/false-empty-strings
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

8 years agoExplicitly allow 'return nil'
Wolfgang Bumiller [Mon, 31 Dec 2012 10:39:00 +0000 (11:39 +0100)]
Explicitly allow 'return nil'

8 years agoThis should actually cover all nil cases
Wolfgang Bumiller [Mon, 31 Dec 2012 10:34:29 +0000 (11:34 +0100)]
This should actually cover all nil cases

8 years agonil check in paramter type checking
Wolfgang Bumiller [Mon, 31 Dec 2012 10:30:02 +0000 (11:30 +0100)]
nil check in paramter type checking

8 years agoAllow assigning nil to a field
Wolfgang Bumiller [Mon, 31 Dec 2012 10:23:49 +0000 (11:23 +0100)]
Allow assigning nil to a field

8 years agogmqcc.ini.example: -Wparenthesis
Wolfgang Bumiller [Mon, 31 Dec 2012 10:14:43 +0000 (11:14 +0100)]
gmqcc.ini.example: -Wparenthesis

8 years agomanpage: -Wparenthesis
Wolfgang Bumiller [Mon, 31 Dec 2012 10:14:34 +0000 (11:14 +0100)]
manpage: -Wparenthesis

8 years agoActivate -Wparenthesis by default
Wolfgang Bumiller [Mon, 31 Dec 2012 10:14:24 +0000 (11:14 +0100)]
Activate -Wparenthesis by default

8 years agoAdding -Wparenthesis, fixing constant folding of && and ||
Wolfgang Bumiller [Mon, 31 Dec 2012 10:11:46 +0000 (11:11 +0100)]
Adding -Wparenthesis, fixing constant folding of && and ||

8 years agoFix evaluation order bug
Dale Weiler [Sun, 30 Dec 2012 11:01:45 +0000 (11:01 +0000)]
Fix evaluation order bug

8 years agoDo we REALLY need to listen to splint?
Wolfgang Bumiller [Sun, 30 Dec 2012 10:59:29 +0000 (11:59 +0100)]
Do we REALLY need to listen to splint?

8 years agoClean up trailing whitespaces
Wolfgang Bumiller [Sun, 30 Dec 2012 10:03:59 +0000 (11:03 +0100)]
Clean up trailing whitespaces

8 years agoMerge branch 'master' of github.com:graphitemaster/gmqcc
Dale Weiler [Sun, 30 Dec 2012 09:59:32 +0000 (09:59 +0000)]
Merge branch 'master' of github.com:graphitemaster/gmqcc

8 years agoAdd support for user defined messages for [[deprecated]] generalized attribute
Dale Weiler [Sun, 30 Dec 2012 09:58:52 +0000 (09:58 +0000)]
Add support for user defined messages for [[deprecated]] generalized attribute

8 years agofix: ftepp_delete needs to ftepp_flush to not cause a leak on errors
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

8 years agoImplement [[deprecated]] general attribute, will mark functions as deprecated. Makin...
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.

8 years agoProperly support globals initialized to nil
Wolfgang Bumiller [Sat, 29 Dec 2012 20:15:59 +0000 (21:15 +0100)]
Properly support globals initialized to nil

8 years agoimprovie/fix \{x...} char parsing
Wolfgang Bumiller [Sat, 29 Dec 2012 18:11:06 +0000 (19:11 +0100)]
improvie/fix \{x...} char parsing

8 years agogmqcc.ini.example: DIFFERENT_QUALIFIERS, DIFFERENT_ATTRIBUTES
Wolfgang Bumiller [Sat, 29 Dec 2012 16:41:01 +0000 (17:41 +0100)]
gmqcc.ini.example: DIFFERENT_QUALIFIERS, DIFFERENT_ATTRIBUTES

8 years agomanpage: -Wdifferent-qualifiers -Wdifferent-attributes
Wolfgang Bumiller [Sat, 29 Dec 2012 16:38:50 +0000 (17:38 +0100)]
manpage: -Wdifferent-qualifiers -Wdifferent-attributes

8 years ago-Wdifferent-qualifiers, -Wdifferent-attributes
Wolfgang Bumiller [Sat, 29 Dec 2012 16:36:27 +0000 (17:36 +0100)]
-Wdifferent-qualifiers, -Wdifferent-attributes

8 years agoMerge branch 'master' of github.com:graphitemaster/gmqcc
Dale Weiler [Sat, 29 Dec 2012 14:42:17 +0000 (14:42 +0000)]
Merge branch 'master' of github.com:graphitemaster/gmqcc

8 years agoFix uninitialized-global
Dale Weiler [Sat, 29 Dec 2012 14:41:47 +0000 (14:41 +0000)]
Fix uninitialized-global

8 years agoDon't allow code like: v * '0 1 0' = 3; to actually work...
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...

8 years agogmqcc.ini.example: VECTOR_COMPONENTS
Wolfgang Bumiller [Sat, 29 Dec 2012 14:13:28 +0000 (15:13 +0100)]
gmqcc.ini.example: VECTOR_COMPONENTS

8 years agomanpage: -Ovector-components
Wolfgang Bumiller [Sat, 29 Dec 2012 14:10:04 +0000 (15:10 +0100)]
manpage: -Ovector-components

8 years ago-Ovector-components
Wolfgang Bumiller [Sat, 29 Dec 2012 14:05:04 +0000 (15:05 +0100)]
-Ovector-components

8 years agoMerge pull request #80 from matthiaskrgr/master
Dale Weiler [Sat, 29 Dec 2012 03:10:06 +0000 (19:10 -0800)]
Merge pull request #80 from matthiaskrgr/master

add .gitignore file

8 years agoMerge remote-tracking branch 'upstream/master'
matthiaskrgr [Fri, 28 Dec 2012 22:33:43 +0000 (23:33 +0100)]
Merge remote-tracking branch 'upstream/master'

8 years agoadd .gitignore file
matthiaskrgr [Fri, 28 Dec 2012 22:32:33 +0000 (23:32 +0100)]
add .gitignore file

8 years agoTypo...
Wolfgang Bumiller [Fri, 28 Dec 2012 20:05:04 +0000 (21:05 +0100)]
Typo...

8 years agoUpdating gmqcc.ini.example
Wolfgang Bumiller [Fri, 28 Dec 2012 20:04:14 +0000 (21:04 +0100)]
Updating gmqcc.ini.example

8 years agoGMQCC_GITINFO
Wolfgang Bumiller [Fri, 28 Dec 2012 19:39:30 +0000 (20:39 +0100)]
GMQCC_GITINFO

8 years agomore general qualifier/attribute parsing, added not-yet-used AST_FLAG_INLINE and...
Wolfgang Bumiller [Fri, 28 Dec 2012 18:46:28 +0000 (19:46 +0100)]
more general qualifier/attribute parsing, added not-yet-used AST_FLAG_INLINE and [[inline]]

8 years agomanpage: -Wuninitialized-constant -Wuninitialized-global
Wolfgang Bumiller [Fri, 28 Dec 2012 18:11:29 +0000 (19:11 +0100)]
manpage: -Wuninitialized-constant -Wuninitialized-global

8 years agonoref testcase must use -Wno-uninitialized-global
Wolfgang Bumiller [Fri, 28 Dec 2012 18:09:06 +0000 (19:09 +0100)]
noref testcase must use -Wno-uninitialized-global

8 years ago-Wuninitialized-const, -Wuninitialized-global
Wolfgang Bumiller [Fri, 28 Dec 2012 18:07:43 +0000 (19:07 +0100)]
-Wuninitialized-const, -Wuninitialized-global

8 years agomanpage: -Wreserved-names, -funtyped-nil, -fpermissive
Wolfgang Bumiller [Fri, 28 Dec 2012 17:27:34 +0000 (18:27 +0100)]
manpage: -Wreserved-names, -funtyped-nil, -fpermissive

8 years ago-Wreserved-names, -fpermissive allows local variables named 'nil' to be created even...
Wolfgang Bumiller [Fri, 28 Dec 2012 17:22:09 +0000 (18:22 +0100)]
-Wreserved-names, -fpermissive allows local variables named 'nil' to be created even with -funtyped-nil, they supersede the global untyped 'nil'

8 years ago'nil' global with -funtyped-nil
Wolfgang Bumiller [Fri, 28 Dec 2012 17:16:19 +0000 (18:16 +0100)]
'nil' global with -funtyped-nil

8 years agoTYPE_NIL, builder->nil, ast_value_codegen for TYPE_NIL
Wolfgang Bumiller [Fri, 28 Dec 2012 17:05:28 +0000 (18:05 +0100)]
TYPE_NIL, builder->nil, ast_value_codegen for TYPE_NIL

8 years agoFix teh paren!
Dale Weiler [Fri, 28 Dec 2012 15:19:19 +0000 (15:19 +0000)]
Fix teh paren!

8 years agoadded util_vasprintf/util_asprintf .. so we can stop assuming a certian static array...
Dale Weiler [Fri, 28 Dec 2012 15:02:53 +0000 (15:02 +0000)]
added util_vasprintf/util_asprintf .. so we can stop assuming a certian static array size for formatting strings ... I expect to see full migration to this before the next release for protection of over/under flows. As well as identifers >= 1024 bytes :)

8 years agomemleak
Dale Weiler [Fri, 28 Dec 2012 14:47:27 +0000 (14:47 +0000)]
memleak

8 years agos/\t/ /g - utf8.c
Dale Weiler [Fri, 28 Dec 2012 12:57:41 +0000 (12:57 +0000)]
s/\t/    /g - utf8.c

8 years agoFix another Blub bug .. learn to use comments properly :P
Dale Weiler [Fri, 28 Dec 2012 12:54:20 +0000 (12:54 +0000)]
Fix another Blub bug .. learn to use comments properly :P

8 years agoFix a very possible bug
Dale Weiler [Fri, 28 Dec 2012 12:50:37 +0000 (12:50 +0000)]
Fix a very possible bug

8 years agoFixed another possible implementation specific bug thanks to this progressive splint...
Dale Weiler [Fri, 28 Dec 2012 12:43:08 +0000 (12:43 +0000)]
Fixed another possible implementation specific bug thanks to this progressive splint idea :)

8 years agoFix another warning
Dale Weiler [Fri, 28 Dec 2012 12:40:00 +0000 (12:40 +0000)]
Fix another warning

8 years agoFix another warning
Dale Weiler [Fri, 28 Dec 2012 12:36:15 +0000 (12:36 +0000)]
Fix another warning

8 years agoFix one warning
Dale Weiler [Fri, 28 Dec 2012 12:33:10 +0000 (12:33 +0000)]
Fix one warning

8 years agoAdded splint.sh (a progressive way to fix some possible bugs)
Dale Weiler [Fri, 28 Dec 2012 12:29:46 +0000 (12:29 +0000)]
Added splint.sh (a progressive way to fix some possible bugs)

8 years agoSo why doesn't any popular compiler complain about this
Wolfgang Bumiller [Fri, 28 Dec 2012 10:50:03 +0000 (11:50 +0100)]
So why doesn't any popular compiler complain about this

8 years ago... This... I'll have to git rewrite-history at some point
Wolfgang Bumiller [Fri, 28 Dec 2012 10:43:17 +0000 (11:43 +0100)]
... This... I'll have to git rewrite-history at some point

8 years agoWorking on getting gmqcc to work when compiled with tcc
Dale Weiler [Fri, 28 Dec 2012 09:30:01 +0000 (09:30 +0000)]
Working on getting gmqcc to work when compiled with tcc

8 years agoReorder operands
Dale Weiler [Fri, 28 Dec 2012 09:06:04 +0000 (09:06 +0000)]
Reorder operands

8 years agoQuoting of strings is forbid in some "make" implementations
Dale Weiler [Fri, 28 Dec 2012 09:05:14 +0000 (09:05 +0000)]
Quoting of strings is forbid in some "make" implementations

8 years agoGot it working on arm :)
Dale Weiler [Fri, 28 Dec 2012 08:59:41 +0000 (08:59 +0000)]
Got it working on arm :)

8 years agoAlways use -fsigned-char .. The compiler I was using had -funsigned-char by default...
Dale Weiler [Fri, 28 Dec 2012 08:52:13 +0000 (08:52 +0000)]
Always use -fsigned-char .. The compiler I was using had -funsigned-char by default on ARM (which was breaking everything ...) try it .. add -funsigned-char and run the test-suite (only 2 out of all the tests actually pass, and it's by fluke)

8 years agomanpage: -floop-labels
Wolfgang Bumiller [Thu, 27 Dec 2012 23:21:59 +0000 (00:21 +0100)]
manpage: -floop-labels