summaryrefslogtreecommitdiff
path: root/src/gen_lib/sail_values.lem
diff options
context:
space:
mode:
authorAlasdair Armstrong2017-08-18 14:17:26 +0100
committerAlasdair Armstrong2017-08-18 14:17:26 +0100
commitc310ad77dee2bec75c272556e4ec843f5d9f2715 (patch)
tree72f4588a63a0b2c5dde8c68e58fb2843c95651ce /src/gen_lib/sail_values.lem
parent6f61f0f810fe72ee86b2858534e613dc74b70a86 (diff)
parent36f027d5d47d7da5bc4a875aafbef9a488575427 (diff)
Fixed a bug where sizeof re-writing fail for aliased type arguments
Also: Merge remote-tracking branch 'origin/sail_new_tc' into experiments
Diffstat (limited to 'src/gen_lib/sail_values.lem')
-rw-r--r--src/gen_lib/sail_values.lem8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/gen_lib/sail_values.lem b/src/gen_lib/sail_values.lem
index 53a74d05..eb5cdef5 100644
--- a/src/gen_lib/sail_values.lem
+++ b/src/gen_lib/sail_values.lem
@@ -884,6 +884,14 @@ type register =
| UndefinedRegister of integer (* length *)
| RegisterPair of register * register
+type register_ref 'regstate 'a =
+ <| read_from : 'regstate -> 'a;
+ write_to : 'regstate -> 'a -> 'regstate |>
+
+type field_ref 'regtype 'a =
+ <| get_field : 'regtype -> 'a;
+ set_field : 'regtype -> 'a -> 'regtype |>
+
let name_of_reg = function
| Register name _ _ _ _ -> name
| UndefinedRegister _ -> failwith "name_of_reg UndefinedRegister"