Commit Graph

165 Commits

Author SHA1 Message Date
Andrew Kelley 430e33b869 partially fix parseh command 2017-01-10 15:39:52 -05:00
Andrew Kelley 8d27a02705 pass division by zero test 2017-01-08 22:35:31 -05:00
Andrew Kelley 6caf32195a pass unnecessary if statement test 2017-01-08 22:25:38 -05:00
Andrew Kelley 76d0e49e61 fix unable to eval const expr test case 2017-01-08 10:54:05 -05:00
Andrew Kelley 3ef447fa20 don't try to eval extern functions at compile time 2017-01-08 10:30:05 -05:00
Andrew Kelley 090ff05054 add compile error for initializing struct with non struct type 2017-01-07 14:24:08 -05:00
Andrew Kelley cf62f02ba9 don't mark call instruction as generated
pass cast unreachable test
2017-01-06 02:04:27 -05:00
Andrew Kelley 23feafdef0 pass more tests
by removing assertion, fixing error column,
and updating expected message
2017-01-05 19:25:36 -05:00
Andrew Kelley 837cc467f7 pass array access compile error tests 2017-01-05 19:05:48 -05:00
Andrew Kelley e621ad014e pass cannot assign to constant test 2017-01-05 18:50:36 -05:00
Andrew Kelley 438feebbcf pass undeclared identifier test 2017-01-05 04:01:11 -05:00
Andrew Kelley 349cd79fe4 containers created during eval get names for parameters 2017-01-05 03:22:00 -05:00
Andrew Kelley 6ec6589bd8 IR: pass MT19937_64 test 2017-01-05 00:59:37 -05:00
Andrew Kelley c32a060d4f IR: add unreachable code compiler error 2017-01-04 23:21:33 -05:00
Andrew Kelley 664b41af65 fix debug information for function pointers in structs 2017-01-04 01:56:21 -05:00
Andrew Kelley 69132bdeda IR: progress toward compiling standard library
* comptime fn call
 * is_comptime doesn't count as an instruction dependency
 * update more std code to latest zig
2016-12-31 17:10:29 -05:00
Andrew Kelley 5f89393acb IR: implement binary not instruction 2016-12-31 02:23:39 -05:00
Andrew Kelley 2ccdaee101 IR: add error for goto jumping over variable declaration 2016-12-31 01:58:37 -05:00
Andrew Kelley 76fa6cdce3 eradicate use of zeroes in std 2016-12-31 01:31:23 -05:00
Andrew Kelley 29bb175f4f IR: handle phi instruction with 0 resulting incoming values 2016-12-30 18:47:54 -05:00
Andrew Kelley 6bbee194b9 IR: better basic block dependency detection 2016-12-30 18:34:05 -05:00
Andrew Kelley a9acc8cb45 IR: error for returning from defer expression
also fix peer type resolution for pure error mixed with error union
2016-12-28 03:47:02 -05:00
Andrew Kelley f6ac2fa70e IR: pass pointerToVoidReturnType test 2016-12-28 01:31:46 -05:00
Andrew Kelley 25a5fc32fe IR: pass passSliceOfEmptyStructToFn test 2016-12-28 01:15:09 -05:00
Andrew Kelley 15f843e70f IR: pass castSliceToU8Slice test 2016-12-26 17:11:36 -05:00
Andrew Kelley 66a83d8738 IR: pass intToEnum test 2016-12-26 16:34:18 -05:00
Andrew Kelley c8a7ab7eff IR: pass cStringConcatenation test 2016-12-26 16:04:14 -05:00
Andrew Kelley 735cdbfdac IR: pass intToPtrCast test 2016-12-26 15:45:50 -05:00
Andrew Kelley 3ef6663b72 IR: pass genericMallocFree test 2016-12-26 03:02:20 -05:00
Andrew Kelley 110a6f39ca IR: pass explicitCastMaybePointers test 2016-12-26 02:53:42 -05:00
Andrew Kelley 4664f793dc IR: pass enumToInt test 2016-12-26 02:36:04 -05:00
Andrew Kelley f47dea2a2e IR: support compile time global pointer reinterpret
this required moving the place we store types to ConstExprValue
2016-12-25 04:15:23 -05:00
Andrew Kelley 6f91fb4c37 IR: support const ref 2016-12-22 10:39:10 -05:00
Andrew Kelley ba8af0f1e2 IR: fix missing implicit casts in init expressions
and implement runtime struct init instruction
2016-12-22 09:35:07 -05:00
Andrew Kelley 3e25ff65c3 IR: fix switch enum variable for void enum field 2016-12-22 08:05:37 -05:00
Andrew Kelley 5fc95c2a53 IR: port some tests 2016-12-22 00:55:21 -05:00
Andrew Kelley d544672ed4 IR: fix compile time evaluation of else prong in switch 2016-12-21 23:48:02 -05:00
Andrew Kelley 43be6ccb03 IR: fix phi instruction when one of the predecessors is unreachable 2016-12-21 23:04:04 -05:00
Andrew Kelley 9b61682037 IR: implement runtime enum init and switch on enum with variable 2016-12-21 21:49:05 -05:00
Andrew Kelley 1f6dacbb2f IR: enum init support 2016-12-20 01:50:32 -05:00
Andrew Kelley c10ae8622b IR: fix lazy eval of enum field access 2016-12-19 21:06:55 -05:00
Andrew Kelley 3ea4f264ff IR: update all error messages to be useful if generic instantiation 2016-12-19 19:54:51 -05:00
Andrew Kelley 2419f0c914 IR: support maybe defers 2016-12-19 17:25:09 -05:00
Andrew Kelley 09d50e35a4 IR: support error defers 2016-12-19 16:45:15 -05:00
Andrew Kelley 09c34352f8 IR: if and switch guaranteed compile time if target expr is 2016-12-19 00:04:51 -05:00
Andrew Kelley 956ff8a7f9 better error message generic instantiations 2016-12-18 21:15:40 -05:00
Andrew Kelley 132e2fa5d9 errors from inline fn calls include stack trace 2016-12-18 20:52:40 -05:00
Andrew Kelley cfc9f7422f IR: add MaybeOkOr instruction 2016-12-18 20:22:28 -05:00
Andrew Kelley 82101198f1 workaround for Arch being a primitive type 2016-12-18 20:09:34 -05:00
Andrew Kelley a71fbe49cb IR: add FnProto instruction 2016-12-18 19:40:26 -05:00