Commit Graph

36 Commits

Author SHA1 Message Date
Scott Olson cc8b8efd33 Allow switching on non-integer types. 2016-03-13 04:50:16 -06:00
Scott Olson 397dbd909a Add initial support for different int sizes. 2016-03-12 23:15:53 -06:00
Scott Olson 3f96b3a122 Use i64 instead of i32 in tests.
Miri's only integer representation right now is 64-bit.
2016-03-12 22:39:12 -06:00
Scott Olson 7cda22f8c5 Add initial enum initialization support. 2016-03-12 22:27:54 -06:00
Scott Olson 1370008576 Restructure aggregates and pave the way for enums. 2016-03-12 22:15:59 -06:00
Scott Olson 11d4bf9b95 Split tests into multiple files. 2016-03-12 21:32:24 -06:00
Scott Olson 8a0b95bc8b Support structs and single-variant enums. 2016-03-11 21:27:54 -06:00
Scott Olson b530b0b027 Write new-value-repr branch tests over old tests. 2016-03-07 08:27:23 -06:00
Scott Olson 0cb7e3fae0 Support SwitchInt for integer types. 2016-03-07 08:22:18 -06:00
Scott Olson e41af43dbf Re-add support for integer unary ops. 2016-03-07 07:57:08 -06:00
Scott Olson 619daf0129 Re-add support for integer binops. 2016-03-07 07:48:38 -06:00
Scott Olson 3ae6b80ab1 Remove Pointer's repr field and make it Copy.
This required refactoring throughout and math operators have been temporarily
commented out.
2016-03-07 07:10:52 -06:00
Scott Olson 586bc5d1da Reimplement 'if' conditions. 2016-03-07 04:48:12 -06:00
Scott Olson a1adc55370 Add basic bool support. 2016-03-07 04:44:03 -06:00
Scott Olson 4f4e0b5051 Implement a call stack using the new memory system. 2016-03-06 04:23:24 -06:00
Scott Olson a29a6e0db9 Refactor integer reading and writing. 2016-03-05 00:45:54 -06:00
Scott Olson 53403ee8bd WIP: Add some support for tuples. Optimize memory copies. 2016-03-04 23:22:24 -06:00
Scott Olson 255927bc0c WIP: Support unary integer ops again. 2016-02-28 00:49:27 -06:00
Scott Olson 2776f55d0c WIP: Switching to a new byte-based value representation. 2016-02-27 19:20:25 -06:00
Scott Olson dcb2f0f800 Enable a test that works now with rustc master. 2016-01-15 16:29:10 -06:00
Scott Olson f9ee6a0a30 Disable tests that fail on rustc master due to () rvalues. 2016-01-15 16:04:32 -06:00
Scott Olson 56ceebf869 Update for changed in Rust master. 2016-01-06 21:05:08 -06:00
Scott Olson a3ca2db48a Add support for references. 2015-12-28 22:24:05 -06:00
Scott Olson 947c1badd1 Uncomment other MyOption test. 2015-12-28 22:04:34 -06:00
Scott Olson 2e38c5ba29 Add (commented) test for basic use of std::option::Option. 2015-12-17 14:03:26 -06:00
Scott Olson df96c61591 Implement cross-crate fn calls by loading Mir from crate metadata. 2015-12-17 14:03:01 -06:00
Scott Olson 2010b14ac8 Add initial support for matching on enums.
This adds support for:
  * the Switch terminator
  * the Downcast projection rvalue
  * the Index projection rvalue
2015-11-21 01:31:09 -06:00
Scott Olson c7244afea1 Implement SwitchInt (for some match expressions). 2015-11-19 16:49:13 -06:00
Scott Olson 4c8a6b64de Test looping and recursive factorial. 2015-11-19 07:10:17 -06:00
Scott Olson 7ce6a250d4 Implement function calls. 2015-11-19 07:07:47 -06:00
Scott Olson 7112fc8cd1 Handle Goto, Panic, and If terminators properly. 2015-11-19 03:23:50 -06:00
Scott Olson 3f0eac2c78 Add a more complicated arithmetic test. 2015-11-12 18:00:22 -06:00
Scott Olson 71f70e95ed Implement unary operators for integers. 2015-11-12 17:24:43 -06:00
Scott Olson b099391aaf Check actual vs. expected values. 2015-11-12 17:11:41 -06:00
Scott Olson fbec376eed Add more tests. Remove unecessary attributes. 2015-11-12 16:13:05 -06:00
Scott Olson cf49d6b080 Add the interpreter from my rustc branch and hook it up to CompileController. 2015-11-12 15:50:58 -06:00