Wolfgang (Blub) Bumiller
|
8188d0b9f7
|
Sanity check for -Wternary-precedence
|
2012-12-01 12:36:54 +01:00 |
|
Wolfgang (Blub) Bumiller
|
ed4c513b1e
|
-Wternary-precedence; *sight* this is tough
|
2012-12-01 12:35:46 +01:00 |
|
Wolfgang (Blub) Bumiller
|
b966cd4f4d
|
More ternary fixes
|
2012-12-01 00:50:04 +01:00 |
|
Wolfgang (Blub) Bumiller
|
43c0343755
|
Offsetting builtins so we can use 'if builtin!=0' as condition but also allow a '#0' builtin
|
2012-12-01 00:36:24 +01:00 |
|
Wolfgang (Blub) Bumiller
|
75ab0e6663
|
and 'const' is a keyword, not an ident
|
2012-12-01 00:33:07 +01:00 |
|
Wolfgang (Blub) Bumiller
|
ac9d68387c
|
var const / const var - both need to be allowed
|
2012-12-01 00:32:18 +01:00 |
|
Wolfgang (Blub) Bumiller
|
d52879315d
|
some SYA fix; adding optional variable parsing to the head of a switch block
|
2012-12-01 00:31:00 +01:00 |
|
Wolfgang (Blub) Bumiller
|
8d014cc6eb
|
changing parse_statement_or_block to return a bool and put the output block into a pointer, so that NULL can still be possible
|
2012-11-30 21:31:19 +01:00 |
|
Wolfgang (Blub) Bumiller
|
cda62cef20
|
apparently #0 is a valid builtin number, used for some NULL funcs
|
2012-11-30 21:25:18 +01:00 |
|
Wolfgang (Blub) Bumiller
|
2a3e7c1cff
|
field constants - revert globals generated after fields
|
2012-11-30 21:11:25 +01:00 |
|
Wolfgang (Blub) Bumiller
|
316298650e
|
remember if an ast_value is a field-declaration, build fields before globals
|
2012-11-30 21:03:57 +01:00 |
|
Wolfgang (Blub) Bumiller
|
f587e9cfb3
|
remove array-field without parens warning since it seems to not be broken in fteqcc anymore
|
2012-11-30 14:47:55 +01:00 |
|
Wolfgang (Blub) Bumiller
|
535fd5744b
|
lex_ctx of a return will be at the return keyword now
|
2012-11-30 14:42:18 +01:00 |
|
Wolfgang (Blub) Bumiller
|
207293bf74
|
revert 1 of the error messages
|
2012-11-30 14:37:54 +01:00 |
|
Wolfgang (Blub) Bumiller
|
321a1fe0d6
|
Keep track of the beginning of a block
|
2012-11-30 14:37:23 +01:00 |
|
Wolfgang (Blub) Bumiller
|
eec61af381
|
mark vectors as used when their members are used
|
2012-11-30 14:30:25 +01:00 |
|
Wolfgang (Blub) Bumiller
|
600ecda860
|
Set the full const/var qualifier; only generate warnings about unimplemented functions if they have no qualifier at all
|
2012-11-30 14:05:25 +01:00 |
|
Wolfgang (Blub) Bumiller
|
5e23e8296d
|
don't just store a 'bool constant' in the ast/ir, store the complete qualifier: 'int cvq', moved CV_ defines into gmqcc.h
|
2012-11-30 13:47:28 +01:00 |
|
Wolfgang (Blub) Bumiller
|
8e043c8447
|
Remove the 'warnreturn' parameter in some parser functions
|
2012-11-30 12:37:46 +01:00 |
|
Wolfgang (Blub) Bumiller
|
a58061464e
|
actually removing -Wmissing-return-values from parser.c and enabling the ast code for it
|
2012-11-30 12:11:36 +01:00 |
|
Wolfgang (Blub) Bumiller
|
08551eefba
|
Fix a small typo
|
2012-11-26 14:05:31 +01:00 |
|
Dale Weiler
|
77272da718
|
opval is asserted .. need (void) to hide warning when NDEBUG
|
2012-11-26 02:12:50 +00:00 |
|
Wolfgang (Blub) Bumiller
|
ec2ff09eff
|
operator &~= must not cause the generated binstore to free the destination twice
|
2012-11-26 00:15:07 +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
|
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
|
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
|
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 |
|
Wolfgang (Blub) Bumiller
|
797ceb9e04
|
handling TOKEN_CHARCONST - -Wmultibyte-character
|
2012-11-25 22:11:21 +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
|
24f9b63475
|
parsing goto
|
2012-11-25 21:53:14 +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
|
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 |
|