Wolfgang Bumiller
|
ebb7cb2ae3
|
parsing of loop labels
|
2012-12-27 23:43:20 +01:00 |
|
Wolfgang Bumiller
|
517b6fed81
|
Another bool->int fix; now clang-compiled gmqcc actually works...
|
2012-12-27 14:33:58 +01:00 |
|
Wolfgang Bumiller
|
5cfd97c344
|
-fbail-on-werror option
|
2012-12-27 12:46:36 +01:00 |
|
Wolfgang Bumiller
|
f832b86dcd
|
Fixing uninitialized warnings in parser.c
|
2012-12-26 20:00:17 +01:00 |
|
Wolfgang Bumiller
|
da927b5d41
|
print an error when static is used in global scope - this is currently not being handled as expected
|
2012-12-24 11:38:33 +01:00 |
|
Wolfgang Bumiller
|
2b468cb0ee
|
Added the 'static' keyword.
Implements #71
|
2012-12-24 11:30:58 +01:00 |
|
Dale Weiler
|
d51a6ab3db
|
Whitespace
|
2012-12-23 09:10:31 +00:00 |
|
Dale Weiler
|
5bc815c63f
|
Revert "Whitespace fixes"
This reverts commit 4580dcf1ea .
|
2012-12-23 09:10:07 +00:00 |
|
Dale Weiler
|
4580dcf1ea
|
Whitespace fixes
|
2012-12-23 08:42:53 +00:00 |
|
Dale Weiler
|
c3964cf29d
|
Make compiler and virtual-machine compile as C++ code, also removed gmqcc_voidptr hack.
|
2012-12-23 07:51:19 +00:00 |
|
Dale Weiler
|
d35d953a91
|
Remove parser_compile_string_len, and make parser_compiler_string take an additional length argument.
|
2012-12-23 07:22:15 +00:00 |
|
Wolfgang Bumiller
|
e8cd9411b0
|
-Wunknown-attribute; and don't error on unknown attributes
|
2012-12-22 18:16:41 +01:00 |
|
Wolfgang Bumiller
|
7cf0ba5aa8
|
'noreturn' is now an attribute and parsed as [[noreturn]]
|
2012-12-22 18:09:56 +01:00 |
|
Wolfgang Bumiller
|
1f070b740f
|
-ffalse-empty-strings in && and ||
|
2012-12-22 17:31:31 +01:00 |
|
Wolfgang Bumiller
|
0fe71af4ce
|
-fcorrect-logic now handles only vectors
|
2012-12-22 17:18:37 +01:00 |
|
Wolfgang Bumiller
|
8459895fdd
|
Fix a bug with -fperl-logic and -fcorrect-logic
|
2012-12-22 16:25:19 +01:00 |
|
Dale Weiler
|
fa401b6f56
|
Cleanups and make compile with clang again with no warnings.
|
2012-12-22 08:22:50 +00:00 |
|
Dale Weiler
|
7d2a2f2ade
|
cleanups and fixes that cppcheck found
|
2012-12-22 08:07:54 +00:00 |
|
Wolfgang Bumiller
|
93341dd009
|
*sigh*
|
2012-12-20 20:57:05 +01:00 |
|
Wolfgang Bumiller
|
a6547a15f3
|
no need to check the array, the 2nd NOT is a NOT_F
|
2012-12-20 20:56:49 +01:00 |
|
Wolfgang Bumiller
|
ccbccad994
|
fix -fcorrect-logic to use double-not instead of a single one - wow that was a bad one
|
2012-12-20 20:55:56 +01:00 |
|
Wolfgang Bumiller
|
68c4070f62
|
Fix the -fcorrect-logic condition
|
2012-12-20 20:40:59 +01:00 |
|
Wolfgang Bumiller
|
0988b731b7
|
Fix -fcorrect-logic
|
2012-12-20 20:33:05 +01:00 |
|
Wolfgang Bumiller
|
4f9c7861ec
|
For loops may have an empty condition - don't try processing a NULL
|
2012-12-20 20:23:35 +01:00 |
|
Wolfgang Bumiller
|
a985a5cab1
|
while/for/do now all use process_condition, ast_loop got 2 new parameters for more efficient translation
|
2012-12-20 20:22:31 +01:00 |
|
Wolfgang Bumiller
|
d72cb42b08
|
process_condition function used by parse_if - need to still add it to loops
|
2012-12-20 19:51:30 +01:00 |
|
Wolfgang Bumiller
|
34063108a6
|
since unary not doesn't fold these, remove them from immediate_is_true
|
2012-12-20 19:19:12 +01:00 |
|
Wolfgang Bumiller
|
4319922b3c
|
introducing an immediate_is_true which follows the new -f flags on strings and vector truthfulness, used in logic-op constant folding; const folding now disabled for functions-constants on NOT because it's stupid
|
2012-12-20 19:18:22 +01:00 |
|
Wolfgang Bumiller
|
6b9eff19f1
|
unary not now uses NOT_F with -ftrue-empty-strings
|
2012-12-20 19:04:56 +01:00 |
|
Wolfgang Bumiller
|
b85441d6af
|
Making logical 'and' and 'or' use NOT_ in -fcorrect-logic for both operands normally, but only for the first with -fperl-logic
|
2012-12-20 19:00:23 +01:00 |
|
Wolfgang Bumiller
|
d76e6b103d
|
ast_return needs the correct context...
|
2012-12-20 15:01:19 +01:00 |
|
Wolfgang (Blub) Bumiller
|
57aaf57dfc
|
Revert "Fix FTFBS stuff"
This reverts commit 2cc51b8eb0 .
|
2012-12-19 22:15:38 +01:00 |
|
Dale Weiler
|
2cc51b8eb0
|
Fix FTFBS stuff
|
2012-12-19 21:05:40 +00:00 |
|
Wolfgang (Blub) Bumiller
|
664b6d6604
|
'noreturn' is - for now - a keyword, and used just like noref/var/const, to mark a function as not-returning
|
2012-12-19 20:56:22 +01:00 |
|
Wolfgang (Blub) Bumiller
|
ba434c8e22
|
removing ast_expression_common.variadic, adding ast_expression_common.flags, added AST_FLAG_VARIADIC and AST_FLAG_NORETURN
|
2012-12-19 20:45:48 +01:00 |
|
Rudolf Polzer
|
acf4da9385
|
Fixes for some minor bugs clang-analyzer and cppcheck found
Signed-off-by: Dale Weiler <killfieldengine@gmail.com>
|
2012-12-18 16:54:51 +00:00 |
|
Wolfgang (Blub) Bumiller
|
2a61a65ce0
|
-fperl-logic now doesn't allow logic ops with operands of different types, but therefore uses the correct output type
|
2012-12-18 16:56:22 +01:00 |
|
Wolfgang (Blub) Bumiller
|
9b9fbb6e3b
|
Added intrinsic: __builtin_debug_typestring(expr) to get the type of an expression as string
|
2012-12-18 16:52:30 +01:00 |
|
Wolfgang (Blub) Bumiller
|
b337f630c8
|
Remove a TODO message
|
2012-12-18 16:36:06 +01:00 |
|
Wolfgang (Blub) Bumiller
|
b7117e08ce
|
parsewarning and genwarning to use vcompile_warning
|
2012-12-17 18:26:26 +01:00 |
|
Dale Weiler
|
8e0515de44
|
Added -Wunknown-pragmas
|
2012-12-17 16:14:43 +00:00 |
|
Wolfgang (Blub) Bumiller
|
f0687adbaa
|
Error when the assignop for an assignment is invalid, eg. when trying to assign arrays
|
2012-12-17 16:00:08 +01:00 |
|
Wolfgang (Blub) Bumiller
|
f9b1d057b5
|
Moving all the global opts_ variables into a struct, now there's one global 'opts' struct
|
2012-12-06 13:23:53 +01:00 |
|
Wolfgang (Blub) Bumiller
|
04a57d871e
|
unexpected typename error when there are typenames in an expression
|
2012-12-05 17:14:44 +01:00 |
|
Wolfgang (Blub) Bumiller
|
8777624fe2
|
ast_block_add_expr now lets the block fully adopt the type of the added expression
|
2012-12-05 12:57:00 +01:00 |
|
Wolfgang (Blub) Bumiller
|
f140251e85
|
s/parser_sy_pop/parser_sy_apply_operator/
|
2012-12-04 21:04:14 +01:00 |
|
Wolfgang (Blub) Bumiller
|
8e077f378e
|
-Werror now changes the word 'warning' into 'error'
|
2012-12-04 12:54:53 +01:00 |
|
Wolfgang (Blub) Bumiller
|
0e4e81d94f
|
Parsing the 'noref' keyword; this also gets rid of some code duplication
|
2012-12-04 12:17:43 +01:00 |
|
Wolfgang (Blub) Bumiller
|
88a4721de7
|
Parsing noref-pragma
|
2012-12-03 20:37:02 +01:00 |
|
Wolfgang (Blub) Bumiller
|
02ec45363e
|
Get rid of some code duplication
|
2012-12-02 17:57:08 +01:00 |
|