diff options
| author | Roy Frostig <[email protected]> | 2010-09-03 15:07:58 -0700 |
|---|---|---|
| committer | Roy Frostig <[email protected]> | 2010-09-03 15:07:58 -0700 |
| commit | 1fa978ebb9ef97640724ad92900ba49a3544c6c9 (patch) | |
| tree | e0792cd8a5ed56e92fa14662e9a8c5a27370ddb1 /src/boot | |
| parent | Add session, span tracking, error reporting, beginning of a function to parse... (diff) | |
| download | rust-1fa978ebb9ef97640724ad92900ba49a3544c6c9.tar.xz rust-1fa978ebb9ef97640724ad92900ba49a3544c6c9.zip | |
Fail a bit more informatively on a bad get_element_ptr_dyn.
Diffstat (limited to 'src/boot')
| -rw-r--r-- | src/boot/me/trans.ml | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/boot/me/trans.ml b/src/boot/me/trans.ml index 385db253..5b1e4da0 100644 --- a/src/boot/me/trans.ml +++ b/src/boot/me/trans.ml @@ -768,8 +768,12 @@ let trans_visitor add_to vc sz; Il.Mem (based v, elt_rty) end - | _ -> bug () "get_element_ptr_dyn %d on cell %s" i - (cell_str mem_cell) + | Il.Mem (_, Il.StructTy elts) -> + bug () + "get_element_ptr dyn %d out of bounds (len %d) on cell %s" + i (Array.length elts) (cell_str mem_cell) + | _ -> + bug () "get_element_ptr_dyn %d on cell %s" i (cell_str mem_cell) in let get_element_ptr_dyn_in_current_frame |