Commit graph

2211 commits

Author SHA1 Message Date
Wolfgang (Blub) Bumiller
21c2fcb929 A note about how early-out in if-expressions can be translated more efficiently 2012-11-21 19:22:28 +01:00
Wolfgang (Blub) Bumiller
bd1bc0dc59 Actually it's likely... 2012-11-21 17:42:44 +01:00
Wolfgang (Blub) Bumiller
5a6b2bceb2 Little optimization to not produce an unreachable goto instruction 2012-11-21 17:40:35 +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
1dfb14fef0 Fixing warnings 2012-11-21 16:07:36 +01:00
Wolfgang (Blub) Bumiller
390ac0d871 A hopefully working naive PHI solution 2012-11-21 16:05:54 +01:00
Dale Weiler
be8981a5c3 Implemented multi-line comparitive tests, fixed output of stdout/stderr pair logs. Some other cleanups, and stuff 2012-11-20 06:06:46 +00:00
Wolfgang (Blub) Bumiller
57e7303cf4 Adding break/continue testcases 2012-11-20 00:21:03 +01:00
Wolfgang (Blub) Bumiller
6bc72a0262 *sigh* 2012-11-20 00:20:42 +01:00
Wolfgang (Blub) Bumiller
62ff522013 Fixing switch testcase 7 2012-11-20 00:16:49 +01:00
Wolfgang (Blub) Bumiller
5778b6ffb6 switch testcases 2012-11-19 23:50:47 +01:00
Wolfgang (Blub) Bumiller
f4043faf0b -frelaxed-switch to enable switch on non-constant cases 2012-11-19 22:27:58 +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
4649c12fa9 Parsing of switches 2012-11-19 22:06:29 +01:00
Wolfgang (Blub) Bumiller
2a55dd7234 fix bnot_id 2012-11-19 22:06:23 +01:00
Wolfgang (Blub) Bumiller
63969180cf 'case' and 'default' are now keywords too, not just switch 2012-11-19 21:40:38 +01:00
Wolfgang (Blub) Bumiller
06ba28f2a0 ast_switch 2012-11-19 21:17:44 +01:00
Wolfgang (Blub) Bumiller
b72900214b fix a warning and remove unused variables 2012-11-19 19:44:26 +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
2d8bf20d43 moving 'return' parsing into a function 2012-11-19 19:22:00 +01:00
Wolfgang (Blub) Bumiller
6e888396b5 moving keywords into an array 2012-11-19 19:20:26 +01:00
Wolfgang (Blub) Bumiller
3391874ebf Fix con_vprintmsg madness 2012-11-19 19:19:30 +01:00
Wolfgang (Blub) Bumiller
276346e63c This is probably what was intended actually 2012-11-19 19:06:38 +01:00
Dale Weiler
61fa54318c Merge branch 'master' into test-suite
Conflicts:
	Makefile
	ir.c
2012-11-19 02:13:46 +00:00
Dale Weiler
091173341e Added test for variadic arguments 2012-11-19 02:11:24 +00:00
Dale Weiler
245908f491 Added command line parsing to test-suite 2012-11-19 02:05:18 +00:00
Dale Weiler
b1c27e3bf2 stdout/stderr logging functional now. 2012-11-19 00:22:57 +00:00
Dale Weiler
4e85dfa71e Test suite now logs stdout/stderr to respective files 2012-11-18 22:59:23 +00:00
Wolfgang (Blub) Bumiller
19e82883ea Fixing some indentation 2012-11-18 20:56:11 +01:00
Wolfgang (Blub) Bumiller
f1735d91b8 remove a redundant ir_function member 2012-11-18 20:36:02 +01:00
Wolfgang (Blub) Bumiller
12fca5ef8f Make the disasm a bit more verbose as to where globals are 2012-11-18 20:32:22 +01:00
Wolfgang (Blub) Bumiller
ed6189e655 do not set a function-defs nargs to > 8 2012-11-18 20:32:06 +01:00
Wolfgang (Blub) Bumiller
149481b80c CALL to handle extparams, renamed extparams again 2012-11-18 20:17:59 +01:00
Wolfgang (Blub) Bumiller
45cd90c777 Add a # prefix to EXTPARM%i 2012-11-18 20:11:14 +01:00
Wolfgang (Blub) Bumiller
f023004a67 Make functions copy their extparams 2012-11-18 20:06:28 +01:00
Wolfgang (Blub) Bumiller
e8d1e5dbc0 Make the >8 parameter message a warning 2012-11-18 19:19:38 +01:00
Wolfgang (Blub) Bumiller
41235108c4 Importing a tiny README file 2012-11-18 19:15:20 +01:00
Wolfgang (Blub) Bumiller
ccb9cf5347 Importing LICENSE file 2012-11-18 19:14:06 +01:00
Wolfgang (Blub) Bumiller
2652353f50 Checking in an INSTALL file 2012-11-18 18:54:10 +01:00
Wolfgang (Blub) Bumiller
2ab7d8d5c3 Adding myself to main.c's copyright notice 2012-11-18 17:06:26 +01:00
Wolfgang (Blub) Bumiller
e4998e0798 Added #include 2012-11-18 16:22:07 +01:00
Wolfgang (Blub) Bumiller
43a72b2a63 Don't skip the \n after parsing a pragma in the lexer otherwise 2 pragmas in the row wouldn't work 2012-11-18 16:17:19 +01:00
Wolfgang (Blub) Bumiller
a5dbfacf2f pragma line(lineno) - sets the linenumber for the line after the pragma 2012-11-18 15:32:03 +01:00
Wolfgang (Blub) Bumiller
e66f2bcb33 Better linecounting for pragmas; support for prgama file(filename) 2012-11-18 15:30:49 +01:00
Wolfgang (Blub) Bumiller
d3861cea9f Make pragmas pass through the preprocessor so the user can write them manually 2012-11-18 15:30:24 +01:00
Wolfgang (Blub) Bumiller
9898ab5316 fixup line counting in #pragmas 2012-11-18 15:23:00 +01:00
Wolfgang (Blub) Bumiller
79619fbf50 Experimental support for push/pop(line) pragmas 2012-11-18 15:14:42 +01:00