Oliver Schneider
35cf19f38a
only print the index part
2017-02-10 22:15:30 +01:00
Oliver Schneider
523c1877d9
print local fields as _2.1
instead of _2 (field 1)
2017-02-10 21:59:29 +01:00
Scott Olson
55bfbf58a2
Resolve Drop impls to get the right substs.
...
Fixes #133 .
2017-02-10 07:55:05 -08:00
Oliver Schneider
1e7481f96e
remove a hack that is now useless
2017-02-10 16:26:59 +01:00
Oliver Schneider
0b86d30594
enable Lvalue::Local to refer to a ValPair field
2017-02-10 16:14:59 +01:00
Scott Olson
7f0b9460cb
Merge pull request #138 from oli-obk/master
...
refactor lvalue field projection handling to prepare for fewer `force_allocation`s
2017-02-10 15:27:36 +01:00
Scott Olson
5a2cdc2689
Implement the fast float math intrinsics.
2017-02-10 05:58:34 -08:00
Oliver Schneider
31f3aabdd4
move some variables closer to their use site.
2017-02-10 14:50:24 +01:00
Oliver Schneider
2e185485b3
use the lvalue_field
function more often to save needless force_allocation
s
2017-02-10 14:34:10 +01:00
Oliver Schneider
12826fb8a3
factor out lvalue field access into its own function
2017-02-10 14:34:10 +01:00
Oliver Schneider
680e649805
get rid of useless calls into eval_lvalue
2017-02-10 14:34:10 +01:00
Oliver Schneider
07e1e7b7e5
move base computation into each projection to allow optimizations and corner cases
2017-02-10 14:34:10 +01:00
Scott Olson
d971a63c4b
Mark more errors as unsupported.
2017-02-10 05:27:02 -08:00
Scott Olson
459f898b91
Reformatting.
2017-02-10 03:28:17 -08:00
Scott Olson
68daab974d
Move relevant code into "traits" module.
2017-02-10 03:23:04 -08:00
Scott Olson
d8d813c4ad
Resolve associated constants.
...
Fixes #130 .
2017-02-10 03:22:59 -08:00
Scott Olson
9e24893879
Rename "vtable" mod to "traits".
2017-02-10 03:07:28 -08:00
Oliver Schneider
333264c956
clarify comment on drop glue
2017-02-10 08:13:18 +01:00
Oliver Schneider
e58f750a49
refactor drop glue
2017-02-09 19:27:07 +01:00
Oliver Schneider
023ec3e395
add some comments for clarification
2017-02-09 19:15:40 +01:00
Oliver Schneider
c06251b0d2
double space
2017-02-09 19:08:24 +01:00
Oliver Schneider
d92085fd0e
properly extract the inner type in a drop impl
2017-02-09 19:08:08 +01:00
Oliver Schneider
06a02187ba
move drop code into its own file
2017-02-09 18:12:59 +01:00
Scott Olson
6e9e7af8e7
Fix comment.
2017-02-09 06:58:20 -08:00
Scott Olson
3b95bf93b1
Merge pull request #132 from oli-obk/master
...
we cannot panic, thus `panicking` always returns false
2017-02-09 15:37:23 +01:00
Scott Olson
14d7501ca4
Merge pull request #128 from oli-obk/align_thyself
...
fix size of dst in size_of_val intrinsic
2017-02-09 15:35:15 +01:00
Oliver Schneider
0f183dc866
we cannot panic, thus panicking
always returns false
2017-02-09 15:07:50 +01:00
Oliver Schneider
e6006c35fb
don't unnecessarily convert Align -> u64 -> Align
2017-02-09 13:00:30 +01:00
Oliver Schneider
0d3cee2db3
fix size of dst in size_of_val intrinsic
2017-02-09 11:15:56 +01:00
Scott Olson
bc5d9b6f8d
Merge pull request #127 from oli-obk/print_panic
...
ignore `print!`, turn `panic!` into a EvalError
2017-02-09 11:14:47 +01:00
Oliver Schneider
250f66562c
ignore print!
, turn panic!
into a EvalError
2017-02-09 10:34:23 +01:00
Scott Olson
2048679eed
Merge pull request #126 from oli-obk/1>-1
...
1 > -1
2017-02-09 09:57:22 +01:00
Oliver Schneider
6aed897c70
1 > -1
2017-02-09 09:43:45 +01:00
Oliver Schneider
8030800b15
use pre-existing abi_align
method instead of magic formula
2017-02-09 08:50:35 +01:00
Oliver Schneider
1844381ad0
compute the offset of dst fields by checking the vtable
2017-02-09 08:38:01 +01:00
Oliver Schneider
4beb774caa
don't mark the zst allocation as static
2017-02-08 17:24:20 +01:00
Oliver Schneider
080d3e4355
properly prevent recursive statics from marking each other
2017-02-08 16:27:28 +01:00
Oliver Schneider
3db6ec3f11
prevent more deallocations of statics
2017-02-08 15:32:49 +01:00
Oliver Schneider
fbfd2d4bca
re-add spaces before static kind
2017-02-08 09:17:48 +01:00
Oliver Schneider
98cda6cb07
freeze -> static
2017-02-07 20:28:54 +01:00
Oliver Schneider
fd3bbfde04
Merge remote-tracking branch 'origin/master'
2017-02-07 19:22:44 +01:00
Oliver Schneider
01ac19d358
fix static mut
accidental dealloc or freeze
2017-02-07 19:20:16 +01:00
Scott Olson
63cd994409
Merge pull request #117 from oli-obk/master
...
fix some leftover u128 errors
2017-02-07 17:58:05 +01:00
Oliver Schneider
3c560f5941
fix some leftover u128 errors
2017-02-07 17:52:32 +01:00
Scott Olson
14f094f5a9
Merge pull request #116 from oli-obk/master
...
fix drop impls for clike enums
2017-02-07 17:43:41 +01:00
Oliver Schneider
18f4ca3c6b
fix drop impls for clike enums
2017-02-07 17:41:30 +01:00
Scott Olson
52ae8eb794
Log global/promoted frame creation.
2017-02-07 07:02:45 -08:00
Scott Olson
9a7f76889a
Update for changes in rustc.
2017-02-07 06:01:03 -08:00
Oliver Schneider
74d8c8a7f4
check the arg_count
member of MIR instead of counting iterator length
2017-02-07 14:31:29 +01:00
Oliver Schneider
45df853da7
cleanup buggy closure dispatch code
2017-02-07 14:22:20 +01:00
Oliver Schneider
0377990dc6
fix turning function items into closure trait objects
2017-02-07 11:04:46 +01:00
Scott Olson
9f7ca351e0
Dump fn ptr ABIs.
2017-02-07 01:57:42 -08:00
Scott Olson
468dbe8eaa
Don't print a span for call to main.
2017-02-07 01:30:16 -08:00
Scott Olson
23c47f1e77
Dump instrinsic and C ABI return values.
2017-02-07 01:03:40 -08:00
Scott Olson
a5b9a0cb78
Simplify logging output.
2017-02-07 00:45:22 -08:00
Scott Olson
0afcb0568e
Clean up local var dumping.
2017-02-07 00:39:40 -08:00
Scott Olson
097db58f30
Print fn name and type in dump_allocs.
2017-02-06 12:48:10 -08:00
Scott Olson
b36d8085a7
Fix duplicate allocation printing.
2017-02-06 09:26:01 -08:00
Scott Olson
7acbf7ef74
Cleanup: EvalResult<'a, ()> becomes EvalResult<'a>.
2017-02-04 13:09:10 -08:00
Scott Olson
0451b74c62
Merge pull request #108 from oli-obk/packd
...
implement packed struct field access
2017-02-03 15:47:47 -08:00
Scott Olson
3fe45572c1
Merge pull request #110 from oli-obk/rename_map_hir
...
rustup
2017-02-03 15:22:02 -08:00
Scott Olson
2ba883ce98
Merge pull request #107 from canndrew/rename_map_hir
...
TyCtxt's map renamed to hir
2017-02-03 15:20:05 -08:00
Oliver Schneider
0e77dd9473
rustup
2017-02-03 15:47:23 +01:00
Oliver Schneider
74d1a9a26c
more documentation of unintuitive packed struct solution
2017-01-31 10:59:38 +01:00
Oliver Schneider
c47c325252
remove duplicate alignment checks
2017-01-31 10:56:37 +01:00
Oliver Schneider
d3e9e51d67
fix accessing fields other than the first in packed structs
2017-01-31 10:51:19 +01:00
Oliver Schneider
148c6de507
fix some unaligned reads
2017-01-31 10:36:46 +01:00
Oliver Schneider
96607d4593
document our packed struct strategy
2017-01-31 10:36:27 +01:00
Oliver Schneider
5e34740ab6
implement packed struct field access
2017-01-30 09:44:52 +01:00
Scott Olson
b490a4077c
Merge pull request #103 from oli-obk/tuples
...
allow using tuple variant names as function handles
2017-01-29 03:27:29 -08:00
Andrew Cann
1752af689f
TyCtxt's map renamed to hir
2017-01-29 15:21:24 +08:00
Oliver Schneider
ce95ae5927
correctly implement pointers to enum variant constructors
2017-01-28 15:46:46 +01:00
Oliver Schneider
b6e79dbbf5
fix some ICEs
2017-01-28 15:28:24 +01:00
Oliver Schneider
8f7e492305
drive-by rust update
2017-01-28 15:27:20 +01:00
Oliver Schneider
17090b8524
add tests for cargo miri and run them on travis
2017-01-28 11:57:53 +01:00
Oliver Schneider
2cca377bd4
add cargo miri test
sub sub command
2017-01-28 11:57:53 +01:00
Oliver Schneider
5adb84645f
add cargo-miri subcommand to directly interpret the main binary of a crate
2017-01-28 11:57:52 +01:00
Oliver Schneider
e22cceaceb
allow using tuple variant names as function handles in presence of NonZero optimizations
2017-01-23 12:56:40 +01:00
Oliver Schneider
04eadedb28
allow using tuple variant names as function handles
2017-01-23 12:56:40 +01:00
Scott Olson
684f757139
Make clippy-suggested fixes.
2017-01-22 00:19:35 -08:00
Scott Olson
53fa985fc4
Update for changes in rustc.
2017-01-16 19:37:53 -08:00
Scott Olson
ac2bf50f9d
Use the new field init shorthand.
2017-01-16 18:45:30 -08:00
Oliver Schneider
1838ef6bda
rustup to 2017-01-12
2017-01-13 17:16:19 +01:00
Oliver Schneider
e7ef118138
fix copy pasted code
2017-01-12 12:43:37 +01:00
Oliver Schneider
927844ab24
priroda required functions
2017-01-12 12:43:37 +01:00
Oliver Schneider
8084d60f54
add test for unions and remove needles forced alloc
2017-01-12 12:43:37 +01:00
Oliver Schneider
374232c832
add memrchr libc function
2017-01-12 12:43:37 +01:00
Oliver Schneider
24870428a7
more intrinsics
2017-01-12 12:43:37 +01:00
Oliver Schneider
0595f95460
remove old comment
2017-01-12 11:27:04 +01:00
Oliver Schneider
a58170a4c6
prevent intrinsics from creating uninhabited types
2017-01-12 10:37:14 +01:00
Oliver Schneider
b5f824fd9c
fix ICE when transmuting inhabited types to uninhabited
2017-01-12 09:59:00 +01:00
Oliver Schneider
753dbcf158
add a test for dereferencing a pointer to a !
2017-01-12 09:41:36 +01:00
Oliver Schneider
7c486416cb
allow the use of tuple struct constructors as functions
2017-01-12 08:52:22 +01:00
Oliver Schneider
32cd8efb97
re-enable auxiliary tests for the host only
2017-01-12 08:40:16 +01:00
Oliver Schneider
3a658e09e8
rustup (i128)
2017-01-12 08:28:42 +01:00
Scott Olson
6d1c47b6ef
Update for changes in rustc.
2016-12-21 17:23:28 -08:00
Scott Olson
9093188a5c
Clean up useless pub use
.
2016-12-21 17:15:03 -08:00
Scott Olson
2a5029ed6d
Update MIR passes to match rustc.
2016-12-18 23:31:23 -08:00
Scott Olson
b233ada529
Change Option<Value> to Value, using ByVal(Undef).
...
This job isn't quite finished because it caused me to discover bugs
related to reading `ByVal(Undef)` when a `ByValPair` is expected, e.g.
for a fat pointer. This wasn't a problem with the `None` of
`Option<Value>`, but I realized an equivalent bug existed even then,
since you could transmute a `u64` like `ByVal(Bytes(42))` to a fat
pointer type on 32-bit targets.
Likewise, you could transmute a fat pointer to `u64` and get panics
related to expecting `ByVal` but finding `ByValPair`, so the problem
goes both ways.
2016-12-18 20:59:01 -08:00
Scott Olson
459a27d6bd
Reading undef local/globals gets PrimVal::Undef.
...
This fixes #95 .
2016-12-17 03:36:22 -08:00