Wolfgang (Blub) Bumiller
|
24f9b63475
|
parsing goto
|
2012-11-25 21:53:14 +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
|
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
|
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
|
613e1e7247
|
Change the parser to use the hashtable functions
|
2012-11-25 13:23:37 +01:00 |
|
Wolfgang (Blub) Bumiller
|
5897f0439c
|
A nice internal error
|
2012-11-23 22:15:17 +01:00 |
|
Dale Weiler
|
46fff99fad
|
ast_binstore_codegen initialize left ir value to null for output left side used for lvalue to prevent clang from warning. Also fixed uninitialized bug in hashtable implementation
|
2012-11-23 06:26:19 +00:00 |
|
Wolfgang (Blub) Bumiller
|
fafc755274
|
Fixing up ast_binstore_codegen to handle array updates
|
2012-11-22 22:42:47 +01:00 |
|
Wolfgang (Blub) Bumiller
|
ed53040907
|
Fix unused parameters in ast.c
|
2012-11-22 21:39:30 +01:00 |
|
Wolfgang (Blub) Bumiller
|
55915b5217
|
initialize some values
|
2012-11-22 21:10:34 +01:00 |
|
Wolfgang (Blub) Bumiller
|
f719a81e2a
|
Fixing short-logic for 'if': it wanted to add the jump to the wrong block
|
2012-11-22 20:29:55 +01:00 |
|
Wolfgang (Blub) Bumiller
|
ba9217e576
|
make ast_function_label also work when -dumpfin is used instead of -dump
|
2012-11-21 21:59:25 +01:00 |
|
Wolfgang (Blub) Bumiller
|
e20184ae59
|
ast_ternary needs to adopt the output type
|
2012-11-21 20:57:00 +01:00 |
|
Wolfgang (Blub) Bumiller
|
be52ca3879
|
More verbose error for invalid parameter types
|
2012-11-21 20:53:00 +01:00 |
|
Wolfgang (Blub) Bumiller
|
a7fb45f102
|
removed phi_out from ast_ternary since we have a place in ast_expression_common for this kind of value
|
2012-11-21 20:13:31 +01:00 |
|
Wolfgang (Blub) Bumiller
|
268ad7db53
|
Fix wrong merge_id
|
2012-11-21 19:55:12 +01:00 |
|
Wolfgang (Blub) Bumiller
|
de5592dfc5
|
-fperl-logic, off by default, so casting to boolean now
|
2012-11-21 19:40:11 +01:00 |
|
Wolfgang (Blub) Bumiller
|
ebc6954bf5
|
casting explicitly to boolean values in early out logic
|
2012-11-21 19:36:28 +01:00 |
|
Wolfgang (Blub) Bumiller
|
bd1bc0dc59
|
Actually it's likely...
|
2012-11-21 17:42:44 +01:00 |
|
Wolfgang (Blub) Bumiller
|
b1425dfcf1
|
'likely' hint for IFs
|
2012-11-21 17:37:45 +01:00 |
|
Wolfgang (Blub) Bumiller
|
ca2b414c7c
|
experimental -fshort-logic, currently perl-like - might have to use NOT(NOT(x)) to fix this
|
2012-11-21 16:08:08 +01:00 |
|
Wolfgang (Blub) Bumiller
|
5c52e817ea
|
Add the missing jump from after the actual last case
|
2012-11-19 22:17:24 +01:00 |
|
Wolfgang (Blub) Bumiller
|
986d58877f
|
Enter the outgoing block after a switch
|
2012-11-19 22:08:38 +01:00 |
|
Wolfgang (Blub) Bumiller
|
2a55dd7234
|
fix bnot_id
|
2012-11-19 22:06:23 +01:00 |
|
Wolfgang (Blub) Bumiller
|
06ba28f2a0
|
ast_switch
|
2012-11-19 21:17:44 +01:00 |
|
Wolfgang (Blub) Bumiller
|
8ac689c03a
|
Error in the ast already about unreachable statements and don't upset the IR
|
2012-11-19 19:42:25 +01:00 |
|
Wolfgang (Blub) Bumiller
|
ea75003cf4
|
break and continue support
|
2012-11-19 19:39:52 +01:00 |
|
Wolfgang (Blub) Bumiller
|
d1640f177f
|
Free the 3 actual vectors, not the first 3 times
|
2012-11-15 21:40:32 +01:00 |
|
Wolfgang (Blub) Bumiller
|
906f319673
|
Replaced it all...
|
2012-11-15 18:32:09 +01:00 |
|
Dale Weiler
|
2e84cc0b41
|
Use new console system everywhere.
|
2012-11-15 00:28:46 +00:00 |
|
Wolfgang (Blub) Bumiller
|
b61ae53ecd
|
fix wrong const qualifier
|
2012-11-13 00:11:07 +01:00 |
|
Wolfgang (Blub) Bumiller
|
d60a76abd1
|
allowing inexing of array-fields
|
2012-11-12 23:35:47 +01:00 |
|
Wolfgang (Blub) Bumiller
|
0340a6a6e7
|
support for ast_entfield nodes with specific output types, fixing array-field instantiating code to print the correct name on error
|
2012-11-12 22:39:43 +01:00 |
|
Wolfgang (Blub) Bumiller
|
0224de02d5
|
add an asterror message for ast_entfield_new with a wrong type
|
2012-11-12 22:33:34 +01:00 |
|
Wolfgang (Blub) Bumiller
|
d959c71be6
|
genearting field arrays
|
2012-11-12 20:33:49 +01:00 |
|
Wolfgang (Blub) Bumiller
|
83438d9833
|
call ir_function_finalize on array accessors otherwise they'll blow up stuff
|
2012-11-11 23:46:03 +01:00 |
|
Wolfgang (Blub) Bumiller
|
bde2175779
|
Generating function-local arrays
|
2012-11-11 23:31:57 +01:00 |
|
Wolfgang (Blub) Bumiller
|
a0b6008c2e
|
fix an uninitialized value
|
2012-11-11 21:32:04 +01:00 |
|
Wolfgang (Blub) Bumiller
|
a78cdd5366
|
calling the array setter when required
|
2012-11-11 21:27:02 +01:00 |
|
Wolfgang (Blub) Bumiller
|
feec2d74ee
|
Fix array-index codegen conditions
|
2012-11-11 19:02:50 +01:00 |
|
Wolfgang (Blub) Bumiller
|
30d87ee837
|
get-accessor calling in ast_array_index_codegen
|
2012-11-11 16:32:59 +01:00 |
|
Wolfgang (Blub) Bumiller
|
1ab303c528
|
Store accessors in the ast_value for access from within the ast - generate accessors after generating all the globals to not mess up the order of globals in the output
|
2012-11-11 16:22:09 +01:00 |
|
Wolfgang (Blub) Bumiller
|
7d9568f806
|
array accessor function genaration
|
2012-11-11 16:06:27 +01:00 |
|
Wolfgang (Blub) Bumiller
|
25ad091866
|
ast->ir for TYPE_ARRAY globals
|
2012-11-11 12:14:44 +01:00 |
|
Wolfgang (Blub) Bumiller
|
a7d3a2d6ea
|
adding opts_max_array_size with a default of 1024, adding some TODO errors for arrays in the AST
|
2012-11-11 11:09:36 +01:00 |
|
Wolfgang (Blub) Bumiller
|
62d062f860
|
for arrays, ast_value will contain several ir_values, ir_v will point to the [0] element
|
2012-11-11 10:51:40 +01:00 |
|
Wolfgang (Blub) Bumiller
|
42b9848375
|
Locals of type .vector will now also properly generate all 3 locals
|
2012-11-11 10:13:01 +01:00 |
|
Wolfgang (Blub) Bumiller
|
a27750966f
|
globals of type .vector will now properly generate 3 globals
|
2012-11-11 10:13:00 +01:00 |
|