Commit Graph

1080 Commits (cd08c1f3be278366ee69c3cf4ab1091eb884e264)

Author SHA1 Message Date
Andrew Kelley 8dc45bc505 port more tests 2016-12-22 10:10:04 -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 ed962d9d21 IR: port another test 2016-12-22 08:48:08 -05:00
Andrew Kelley 3e25ff65c3 IR: fix switch enum variable for void enum field 2016-12-22 08:05:37 -05:00
Andrew Kelley dab3ddab45 IR: port more tests 2016-12-22 01:42:30 -05:00
Andrew Kelley 5a71718757 IR: port more tests 2016-12-22 01:20:08 -05:00
Andrew Kelley 5fc95c2a53 IR: port some tests 2016-12-22 00:55:21 -05:00
Andrew Kelley 46033a2128 pass void parameters test 2016-12-22 00:46:17 -05:00
Andrew Kelley 23bebdbcd5 IR: port some tests 2016-12-22 00:20:14 -05:00
Andrew Kelley 56cc2e2b24 migrate all the temporary tests to new test file 2016-12-22 00:12:27 -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 b55efe5fab update more std library to new zig 2016-12-21 23:34:14 -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 b4c2f7e310 get_error_type calls ensure_complete_type on child 2016-12-21 22:42:58 -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 14422e0312 organize tests 2016-12-19 00:53:18 -05:00
Andrew Kelley 6b2d06710c IR: start a new passing self hosted test suite 2016-12-19 00:41:37 -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
Andrew Kelley f12fbce0f5 IR: memoize compile-time evaluated fn invocations 2016-12-18 18:23:46 -05:00
Andrew Kelley 4816121e00 remove duplicate definition of container_string 2016-12-18 17:53:12 -05:00
Andrew Kelley ba008fb9d7 IR: ability to return a container from a function 2016-12-18 17:50:47 -05:00
Andrew Kelley 37b13bf151 hello.zig working with all structs anonymous 2016-12-18 17:24:52 -05:00
Andrew Kelley e50ced44a2 IR: all structs anonymous 2016-12-18 16:56:50 -05:00
Andrew Kelley 2e6aa6d813 IR: fix codegen of ref instruction 2016-12-18 13:55:34 -05:00
Andrew Kelley a76b048354 IR: phi instruction handles unreachable values correctly 2016-12-18 13:37:50 -05:00
Andrew Kelley b59841a80f IR: fix err variable in ErrOkOr instruction 2016-12-18 13:20:19 -05:00
Andrew Kelley 0cdfd5c141 IR: fix container field access via container pointer 2016-12-18 02:13:07 -05:00
Andrew Kelley 0d2f2b79ea IR: basic support for implicit casting to const pointer 2016-12-18 01:54:27 -05:00
Andrew Kelley 69cf0ea568 IR: fix type of decls accessed via namespace 2016-12-18 00:53:29 -05:00
Andrew Kelley 3e4194bf9e IR: add runime negation 2016-12-18 00:36:11 -05:00
Andrew Kelley 05b3b6a45e IR: update some std code to newest zig 2016-12-18 00:25:26 -05:00
Andrew Kelley 83a668b9ca IR: unreachable has lowest priority when resolving peer types 2016-12-18 00:25:07 -05:00
Andrew Kelley 9f08bfb38d IR: make generic function type have zero_bits flag 2016-12-18 00:24:39 -05:00
Andrew Kelley 85b6d14637 IR: support var type args and fix phi peer type resolution 2016-12-18 00:09:43 -05:00
Andrew Kelley e73faf9a9e IR: allow undefined compile time values sometimes 2016-12-17 22:13:15 -05:00
Andrew Kelley d245fabb80 IR: consolidate Ref and PrefixOpAddressOf instructions 2016-12-17 22:00:55 -05:00
Andrew Kelley 0f047337ac IR: fix `this` expression
Previously it returned a block instead of a function when
a function had any arguments.
2016-12-17 20:47:35 -05:00
Andrew Kelley a07d7ee53d IR: fix compile time switch eval for enums 2016-12-17 17:57:26 -05:00
Andrew Kelley c64f9991d5 IR: fix switching on enum 2016-12-17 17:48:07 -05:00
Andrew Kelley 12fcbecbf8 IR: add more instructions
* MaybeWrap
 * TestErr
 * UnwrapErrCode
 * UnwrapErrPayload
 * ErrUnionTypeChild
 * ErrWrapCode
 * ErrWrapPayload
2016-12-17 16:16:17 -05:00