Wolfgang Bumiller
|
cf293bc669
|
handling the ast-destruction in computed goto
|
2013-01-03 13:21:11 +01:00 |
|
Dale Weiler
|
7d14fdf530
|
Merge branch 'master' of github.com:graphitemaster/gmqcc
|
2013-01-03 12:05:02 +00:00 |
|
Dale Weiler
|
9bda8f61f4
|
Add specialized diagnostics for when predefined macros are used and ftepp predefined macros are not enabled.
|
2013-01-03 12:04:32 +00:00 |
|
Wolfgang Bumiller
|
614fcb12f5
|
check for TYPE_NOEXPR in general when applying an operator
|
2013-01-03 12:56:26 +01:00 |
|
Wolfgang Bumiller
|
ae09831227
|
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...
|
2013-01-03 12:49:21 +01:00 |
|
Wolfgang Bumiller
|
e146fd121c
|
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
|
2013-01-03 12:46:33 +01:00 |
|
Dale Weiler
|
0ab15e9f22
|
Fix argument padding for win_fputs and alike.
|
2013-01-03 10:33:35 +00:00 |
|
Dale Weiler
|
a168c5efbe
|
More error checking and proper unreferencing of ast nodes if expressions for computed goto fails.
|
2013-01-02 22:39:24 +00:00 |
|
Dale Weiler
|
c1734d1b27
|
Some error checking for computed goto.
|
2013-01-02 22:28:26 +00:00 |
|
Dale Weiler
|
c750828632
|
Fix the testsuite bug, and implemented QCFLAGS enviroment variable support for setting the compile flags (the .tmpl rules takes precedence).
|
2013-01-02 22:16:02 +00:00 |
|
Dale Weiler
|
a2f63aae33
|
Implemented __TIME__ for ftepp
|
2013-01-02 21:53:46 +00:00 |
|
Dale Weiler
|
908f6ded8a
|
Implemented __DATE__ for ftepp
|
2013-01-02 21:51:22 +00:00 |
|
Dale Weiler
|
e08e4a9ce0
|
Remove "got" left behind from debugging.
|
2013-01-02 21:35:18 +00:00 |
|
Dale Weiler
|
a421d9a33b
|
Implemented computed goto + added goto test for testsuite (tests both normal and computed goto statements).
|
2013-01-02 21:32:57 +00:00 |
|
Wolfgang Bumiller
|
6c076f99f6
|
lex->flags.preprocessing causes the lexer to parse the unary number if it is one
|
2013-01-02 17:38:24 +01:00 |
|
Dale Weiler
|
467a4740da
|
Fix some issues
|
2013-01-02 16:34:55 +00:00 |
|
Wolfgang Bumiller
|
654eceb33b
|
Allow unary minus in ftepp_if_value
|
2013-01-02 17:26:35 +01:00 |
|
Wolfgang Bumiller
|
0d839bd138
|
pragma code: signed correctness
|
2013-01-02 15:20:07 +01:00 |
|
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 |
|