Wolfgang (Blub) Bumiller
|
23e0637e85
|
ir_function_create_block now takes a lex_ctx instead of copying from the function; ast_ternary: need to remember the _end_ block of the 2 expressions because that's where the jump is actually supposed to be
|
2012-11-25 23:48:29 +01:00 |
|
Wolfgang (Blub) Bumiller
|
d70fcdec42
|
don't set the request-Lvalue flag for an array index
|
2012-11-25 23:35:49 +01:00 |
|
Wolfgang (Blub) Bumiller
|
0af62801f4
|
Don't add redeclared globals a second time
|
2012-11-25 23:35:31 +01:00 |
|
Wolfgang (Blub) Bumiller
|
7c241da548
|
more verbose errors in the ast when an ir-create fails
|
2012-11-25 23:32:10 +01:00 |
|
Wolfgang (Blub) Bumiller
|
38df8b5e40
|
Another case for -fassign-function-types
|
2012-11-25 23:28:47 +01:00 |
|
Wolfgang (Blub) Bumiller
|
0d3896ca54
|
introducing -fassign-function-types, previously guarded by std==qcc this is now the flag to cause a warning (-Wassign-function-types) instead of an error when assigning functions of wrong types
|
2012-11-25 23:27:48 +01:00 |
|
Wolfgang (Blub) Bumiller
|
b4a5517851
|
fix a lexer error which parsed !! as one operator
|
2012-11-25 23:24:39 +01:00 |
|
Wolfgang (Blub) Bumiller
|
2f5a26a4de
|
__builtin_debug_printtype directive... helped me down tracking a bug: parsing typedeffed types in parameter lists properly now
|
2012-11-25 22:57:11 +01:00 |
|
Wolfgang (Blub) Bumiller
|
08ef8bd045
|
Only check the ast-type of a switch case, not if it's an ACTUAL constant, fteqcc doesn't either... grrr
|
2012-11-25 22:40:35 +01:00 |
|
Wolfgang (Blub) Bumiller
|
10f49a38ca
|
actually handle unary plus...
|
2012-11-25 22:38:52 +01:00 |
|
Wolfgang (Blub) Bumiller
|
089e490c69
|
Allow float constants which start with a dot
|
2012-11-25 22:35:41 +01:00 |
|
Wolfgang (Blub) Bumiller
|
42bd37a2e8
|
Ah right, 'var' is not an actual keyword, support TOKEN_IDENT-var inside functions
|
2012-11-25 22:26:28 +01:00 |
|
Wolfgang (Blub) Bumiller
|
f1bbdb7d45
|
Use the correct default cv-qualifier on locals
|
2012-11-25 22:16:08 +01:00 |
|
Wolfgang (Blub) Bumiller
|
c62e0a93eb
|
Allow 'var' in functions... even there initialized locals seem to be constant by default... laaaaaaaame
|
2012-11-25 22:15:08 +01:00 |
|
Dale Weiler
|
967254f7f2
|
Fix the testsuite to properly error on failed loads
|
2012-11-25 21:12:26 +00:00 |
|
Wolfgang (Blub) Bumiller
|
797ceb9e04
|
handling TOKEN_CHARCONST - -Wmultibyte-character
|
2012-11-25 22:11:21 +01:00 |
|
Wolfgang (Blub) Bumiller
|
2234090398
|
Actually use TOKEN_CHARCONST in the lexer...
|
2012-11-25 22:04:27 +01:00 |
|
Wolfgang (Blub) Bumiller
|
0301ea7818
|
Don't error about creating an unreachable statement if the node we're about to generate is an ast_label
|
2012-11-25 21:59:57 +01:00 |
|
Wolfgang (Blub) Bumiller
|
e2602e6b87
|
Filling up remaining gotos at the end of a function for when the label is defined after the goto; erroring for missing labels
|
2012-11-25 21:56:38 +01:00 |
|
Wolfgang (Blub) Bumiller
|
2ec8ef4406
|
making goto a keyword
|
2012-11-25 21:56:21 +01:00 |
|
Wolfgang (Blub) Bumiller
|
24f9b63475
|
parsing goto
|
2012-11-25 21:53:14 +01:00 |
|
Wolfgang (Blub) Bumiller
|
4b71b74c6a
|
Add the array tests, seem to have forgotten to add those...
|
2012-11-25 21:41:30 +01:00 |
|
Wolfgang (Blub) Bumiller
|
f431b7a693
|
Support codegen of ast_label and ast_goto in any order
|
2012-11-25 21:40:26 +01:00 |
|
Wolfgang (Blub) Bumiller
|
474d8bd6f0
|
ast_label, and labels later used for goto
|
2012-11-25 21:27:14 +01:00 |
|
Wolfgang (Blub) Bumiller
|
336d91494f
|
temporarily disable the 'constant' flag when parsing the initializer to avoid the 'assigning to constant' error in a block-local constant
|
2012-11-25 21:10:43 +01:00 |
|
Wolfgang (Blub) Bumiller
|
22173df7bd
|
Allow 'const' within function bodies
|
2012-11-25 21:08:30 +01:00 |
|
Wolfgang (Blub) Bumiller
|
36cdffe1b3
|
Fix linecounting mistake in try_digraph
|
2012-11-25 21:07:03 +01:00 |
|
Wolfgang (Blub) Bumiller
|
3424b7227b
|
Set the output to NULL always before parsing stuff
|
2012-11-25 20:48:06 +01:00 |
|
Wolfgang (Blub) Bumiller
|
4513fc4d0b
|
fix wrong parameter order in parse_variable calls, dammit I hate how 'bool' and 'int' are implicitly convertible here
|
2012-11-25 20:29:12 +01:00 |
|
Wolfgang (Blub) Bumiller
|
1b72cb264a
|
more on CV_CONST/CV_VAR, initializers to check 'constant' not just 'hasvalue'
|
2012-11-25 20:25:39 +01:00 |
|
Wolfgang (Blub) Bumiller
|
6cd432a909
|
const/variable qualifier flag for parse_variable
|
2012-11-25 20:22:47 +01:00 |
|
Wolfgang (Blub) Bumiller
|
779c974511
|
Allow dangling semicolons for now
|
2012-11-25 20:18:40 +01:00 |
|
Wolfgang (Blub) Bumiller
|
f2887f1208
|
a '(void)' parameter list does not mean 1 parameter of type void, but empty... xonotic needs this
|
2012-11-25 19:44:21 +01:00 |
|
Wolfgang (Blub) Bumiller
|
b59401db1b
|
fixed: -frelaxed-switch check was in the wrong position
|
2012-11-25 19:42:16 +01:00 |
|
Wolfgang (Blub) Bumiller
|
353b1f945f
|
assignment to constant error
|
2012-11-25 19:37:31 +01:00 |
|
Wolfgang (Blub) Bumiller
|
39f572fe99
|
constant flag, -finitialized-nonconstants to turn initialized globals into mutable variables
|
2012-11-25 19:35:00 +01:00 |
|
Wolfgang (Blub) Bumiller
|
6e400ca81f
|
ast: isconst->hasvalue, const keyword will set the const flag
|
2012-11-25 19:30:10 +01:00 |
|
Wolfgang (Blub) Bumiller
|
55aa53beca
|
Parse the 'not' keyword in if as TOKEN_IDENT
|
2012-11-25 19:20:00 +01:00 |
|
Wolfgang (Blub) Bumiller
|
ca033e5acd
|
Some side-effect propagation for better warnings, so that comma-operators with assignments in them don't cause the -Weffectless-statement warning, and fixing ternary precedence for fte operator list
|
2012-11-25 19:19:36 +01:00 |
|
Wolfgang (Blub) Bumiller
|
63d89f9f5a
|
Allow regular AND used on non-float types
|
2012-11-25 18:56:22 +01:00 |
|
Wolfgang (Blub) Bumiller
|
bf23ed948d
|
Allow strings to contain a backslash and a newline at the end
|
2012-11-25 18:38:04 +01:00 |
|
Wolfgang (Blub) Bumiller
|
2c0a9d78df
|
Guard translatable strings by -ftranslatable-strings, defaults to ON with -std=fteqcc
|
2012-11-25 18:25:01 +01:00 |
|
Wolfgang (Blub) Bumiller
|
66317aaef9
|
update noops flag while parsing a translatable string
|
2012-11-25 18:23:48 +01:00 |
|
Wolfgang (Blub) Bumiller
|
7838e772de
|
Translatable string constants
|
2012-11-25 18:22:00 +01:00 |
|
Wolfgang (Blub) Bumiller
|
0df394dcbc
|
parser_const_string can now create a translatable string
|
2012-11-25 18:17:08 +01:00 |
|
Wolfgang (Blub) Bumiller
|
f65dbda659
|
linecounting fix for push/pop(line) pragmas
|
2012-11-25 18:13:46 +01:00 |
|
Wolfgang (Blub) Bumiller
|
e3acdcf0a9
|
Let's not have + and - as sole token, always allow ++ and -- to become operators independent of the noops flag
|
2012-11-25 18:07:19 +01:00 |
|
Wolfgang (Blub) Bumiller
|
b457bfec2a
|
linecounting...
|
2012-11-25 18:02:54 +01:00 |
|
Wolfgang (Blub) Bumiller
|
04347508e6
|
linecounting issue in the lexer
|
2012-11-25 17:50:31 +01:00 |
|
Wolfgang (Blub) Bumiller
|
9a9ecd574e
|
Fix a bug in the lexer causing double-dots to double the character after the 2nd dot
|
2012-11-25 17:43:24 +01:00 |
|