Wolfgang Bumiller
|
558a091c08
|
remove ast.h-include from lexer.h to parser.c...
|
2013-01-02 15:08:02 +01:00 |
|
Wolfgang Bumiller
|
14593ce789
|
Makefile: ftepp.o: lexer.h
|
2013-01-02 15:05:52 +01:00 |
|
Wolfgang Bumiller
|
359ba5f728
|
lex.peek char->int
|
2013-01-02 15:03:20 +01:00 |
|
Wolfgang Bumiller
|
8331a2982d
|
tests for __VA_ARGS__
|
2013-01-02 14:16:42 +01:00 |
|
Wolfgang Bumiller
|
38a664ed72
|
__VA_ARGS__ support
|
2013-01-02 14:15:16 +01:00 |
|
Wolfgang Bumiller
|
3c212c8389
|
fix a leak: delete the output string of macro calls
|
2013-01-02 10:45:55 +01:00 |
|
Wolfgang Bumiller
|
dce7a0c72b
|
update old_string on failure in ftepp_macro_expand to not segfault on a preprocessor-error inside recursive preprocessor calls
|
2013-01-02 10:44:39 +01:00 |
|
Wolfgang Bumiller
|
c7280fca52
|
when recursinve into macros copy the previous line number; fixes macros showing line 1 for each error
|
2013-01-02 10:35:00 +01:00 |
|
Dale Weiler
|
686394654f
|
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.
|
2013-01-01 07:59:04 +00:00 |
|
Dale Weiler
|
29db4a44ed
|
Happy new years!
|
2013-01-01 05:08:55 +00:00 |
|
Dale Weiler
|
2f356f12e6
|
Fix util_vasprintf.
|
2012-12-31 18:50:57 +00:00 |
|
Dale Weiler
|
f4c3080824
|
Add todo about util_vasprintf (too lazy to fix right now)
|
2012-12-31 18:34:13 +00:00 |
|
Dale Weiler
|
1182ab55c5
|
Fix #include for <machine/endian.h> s/endiane/endian/
|
2012-12-31 14:40:08 +00:00 |
|
Wolfgang Bumiller
|
2b1eaa6df3
|
Actually allocate a nil-vector for nil
|
2012-12-31 13:25:18 +01:00 |
|
Wolfgang Bumiller
|
5a5cb74db2
|
add codegen_output_type to ast_binary_codegen
|
2012-12-31 13:20:08 +01:00 |
|
Wolfgang Bumiller
|
0c673dfebb
|
fix store op for nil as parameter
|
2012-12-31 13:19:34 +01:00 |
|
Wolfgang Bumiller
|
12d87fba1b
|
Adding '&~=' to the -std=gmqcc operator list
|
2012-12-31 12:56:04 +01:00 |
|
Wolfgang Bumiller
|
0920cb6ec4
|
Another hardcoded -std=gmqcc option removed and added to the implied -std=gmqcc flags
|
2012-12-31 12:43:15 +01:00 |
|
Wolfgang Bumiller
|
0626bbef8e
|
remove another hardcoded -std=gmqcc case
|
2012-12-31 12:40:09 +01:00 |
|
Wolfgang Bumiller
|
d8254cede0
|
-std=gmqcc now implies -Werror-missing-return-values; another hardcoded error removed
|
2012-12-31 12:37:47 +01:00 |
|
Wolfgang Bumiller
|
17951ac92c
|
Just allow variable declarations in for-loop initializers in any standard...
|
2012-12-31 12:35:26 +01:00 |
|
Wolfgang Bumiller
|
d47da25b82
|
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
|
2012-12-31 12:29:25 +01:00 |
|
Wolfgang Bumiller
|
26d43e650f
|
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
|
2012-12-31 12:08:47 +01:00 |
|
Wolfgang Bumiller
|
a170154927
|
nil in ternary, and fix ternary to honor -fcorrect-logic/-ftrue/false-empty-strings
|
2012-12-31 11:45:00 +01:00 |
|
Wolfgang Bumiller
|
2cf4b4e56d
|
Explicitly allow 'return nil'
|
2012-12-31 11:39:00 +01:00 |
|
Wolfgang Bumiller
|
4d5153854b
|
This should actually cover all nil cases
|
2012-12-31 11:34:29 +01:00 |
|
Wolfgang Bumiller
|
819ed10f29
|
nil check in paramter type checking
|
2012-12-31 11:30:02 +01:00 |
|
Wolfgang Bumiller
|
5bb9351a3f
|
Allow assigning nil to a field
|
2012-12-31 11:23:49 +01:00 |
|
Wolfgang Bumiller
|
2637f6f824
|
gmqcc.ini.example: -Wparenthesis
|
2012-12-31 11:14:43 +01:00 |
|
Wolfgang Bumiller
|
f698e796d2
|
manpage: -Wparenthesis
|
2012-12-31 11:14:34 +01:00 |
|
Wolfgang Bumiller
|
3538b505da
|
Activate -Wparenthesis by default
|
2012-12-31 11:14:24 +01:00 |
|
Wolfgang Bumiller
|
0c4806b4a0
|
Adding -Wparenthesis, fixing constant folding of && and ||
|
2012-12-31 11:11:46 +01:00 |
|
Dale Weiler
|
d750d17be5
|
Fix evaluation order bug
|
2012-12-30 11:01:45 +00:00 |
|
Wolfgang Bumiller
|
5a013c5b89
|
Do we REALLY need to listen to splint?
|
2012-12-30 11:59:29 +01:00 |
|
Wolfgang Bumiller
|
d9282ed988
|
Clean up trailing whitespaces
|
2012-12-30 11:03:59 +01:00 |
|
Dale Weiler
|
af3ba03a5b
|
Merge branch 'master' of github.com:graphitemaster/gmqcc
|
2012-12-30 09:59:32 +00:00 |
|
Dale Weiler
|
46374e94ca
|
Add support for user defined messages for [[deprecated]] generalized attribute
|
2012-12-30 09:58:52 +00:00 |
|
Wolfgang Bumiller
|
048ef3e796
|
fix: ftepp_delete needs to ftepp_flush to not cause a leak on errors
|
2012-12-30 10:37:15 +01:00 |
|
Dale Weiler
|
921877e8a4
|
Implement [[deprecated]] general attribute, will mark functions as deprecated. Making calls to functions marked as such will trigger a compiler warning. Enabled by default.
|
2012-12-30 06:43:07 +00:00 |
|
Wolfgang Bumiller
|
755ee5462f
|
Properly support globals initialized to nil
|
2012-12-29 21:15:59 +01:00 |
|
Wolfgang Bumiller
|
432a29e4d9
|
improvie/fix \{x...} char parsing
|
2012-12-29 19:11:06 +01:00 |
|
Wolfgang Bumiller
|
d961cfb855
|
gmqcc.ini.example: DIFFERENT_QUALIFIERS, DIFFERENT_ATTRIBUTES
|
2012-12-29 17:41:20 +01:00 |
|
Wolfgang Bumiller
|
64ccc88a9e
|
manpage: -Wdifferent-qualifiers -Wdifferent-attributes
|
2012-12-29 17:41:20 +01:00 |
|
Wolfgang Bumiller
|
8bdd060112
|
-Wdifferent-qualifiers, -Wdifferent-attributes
|
2012-12-29 17:41:20 +01:00 |
|
Dale Weiler
|
d700bb66b2
|
Merge branch 'master' of github.com:graphitemaster/gmqcc
|
2012-12-29 14:42:17 +00:00 |
|
Dale Weiler
|
842b0a1271
|
Fix uninitialized-global
|
2012-12-29 14:41:47 +00:00 |
|
Wolfgang Bumiller
|
33be9d4559
|
Don't allow code like: v * '0 1 0' = 3; to actually work...
|
2012-12-29 15:13:54 +01:00 |
|
Wolfgang Bumiller
|
fda4f4d027
|
gmqcc.ini.example: VECTOR_COMPONENTS
|
2012-12-29 15:13:28 +01:00 |
|
Wolfgang Bumiller
|
3d67b29a7b
|
manpage: -Ovector-components
|
2012-12-29 15:10:04 +01:00 |
|
Wolfgang Bumiller
|
73bc4cc3e4
|
-Ovector-components
|
2012-12-29 15:05:04 +01:00 |
|