Commit Graph

54 Commits

Author SHA1 Message Date
Scott Olson
26c4772f51 Implement string literals. 2016-03-18 23:19:39 -06:00
Scott Olson
27ff9ab914 Add initial support for closures. 2016-03-18 10:48:31 -06:00
Scott Olson
6477a5c694 Fix boolean tests and clean up code. 2016-03-17 06:39:29 -06:00
Scott Olson
d3b47c418f WIP: Support array indexing including a get_unchecked test.
Required supporting:
  * Trait method lookup
  * The `offset` intrinsic
  * Fat pointers
  * Unsizing coercions and some raw pointer and integer casts
2016-03-16 23:28:49 -06:00
Scott Olson
8f84d3abc6 Implement fixed-sized arrays. 2016-03-15 05:51:02 -06:00
Scott Olson
40462d64ef Implement the size_of intrinsic. 2016-03-15 00:45:25 -06:00
Scott Olson
7eddb4e92a Test the unstable box syntax. 2016-03-14 23:25:13 -06:00
Scott Olson
b1475e5cd4 Implement Rvalue::Box allocations. 2016-03-14 22:05:50 -06:00
Scott Olson
66eb109070 Properly handle generic fn calls. 2016-03-13 18:33:26 -06:00
Scott Olson
1a27734a7b Reimplement cross-crate function calls. 2016-03-13 17:19:42 -06:00
Scott Olson
7740268dd5 Reimplement crate-local function calls. 2016-03-13 16:08:23 -06:00
Scott Olson
f145017319 Add support for pointers. 2016-03-13 14:36:25 -06:00
Scott Olson
039014fee2 Uncomment now-working test. 2016-03-13 08:32:30 -06:00
Scott Olson
b756aecee7 Uncomment now-working test. 2016-03-13 08:31:29 -06:00
Scott Olson
9aa3a8675f Reimplement variant downcast projection. 2016-03-13 07:23:48 -06:00
Scott Olson
dd3d58f249 Reimplement field lvalue projection. 2016-03-13 06:48:04 -06:00
Scott Olson
6d37e7fc29 Reimplement sum type switching. 2016-03-13 06:30:28 -06:00
Scott Olson
80d12601ff Write enum discriminants. 2016-03-13 06:05:48 -06:00
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