| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 2018-07-17 | Coq: handle E_constraint properly | Brian Campbell | |
| Adds missing constraints for aarch64 | |||
| 2018-07-16 | Coq: fix false existential problem | Brian Campbell | |
| 2018-07-16 | Coq: we also unfold length | Brian Campbell | |
| 2018-07-16 | Coq: handle simple type variable matches properly and nat type | Brian Campbell | |
| 2018-07-16 | Coq: add support for more complex atom types | Brian Campbell | |
| As a result, add proof to pow2. | |||
| 2018-07-13 | Merge branch 'sail2' of github.com:rems-project/sail into sail2 | Brian Campbell | |
| 2018-07-13 | Coq: avoid a couple of common identifiers | Brian Campbell | |
| 2018-07-12 | Handle failures during interpreting better | Alasdair Armstrong | |
| Changes to the interpreter to better support constant folding during compilation mean it can now throw exceptions to the caller, allow the caller to handle the error, rather than simply printing an error. This broke the ARM interpreter test because exit() is handled by throwing an Exit exception in the interpreter. | |||
| 2018-07-12 | update arm and mips models for new type of write_ram builtin. Also fix c and ↵ | Robert Norton | |
| interpreter implementations of same. | |||
| 2018-07-12 | Coq: get rid of syntax error on exception handling | Brian Campbell | |
| 2018-07-12 | Coq: handle all bool conjunctions/disjunctions | Brian Campbell | |
| 2018-07-12 | Coq: more autocast insertion | Brian Campbell | |
| 2018-07-12 | Coq: tuple matching in loops | Brian Campbell | |
| 2018-07-12 | Coq: more accurate autocast insertion | Brian Campbell | |
| 2018-07-12 | Fix bug for large integers in OCaml compilation | Alasdair Armstrong | |
| 2018-07-12 | Minor fix to support OCaml 4.02.3 | Shaked Flur | |
| 2018-07-12 | Fixes for ARM Sail tests, and get_time_ns for interpreter | Alasdair | |
| 2018-07-11 | RISC-V model fixes for RMEM | Jon French | |
| 2018-07-11 | Partially revert change to add_vec_int et al | Thomas Bauereiss | |
| On second thought, this change should not really make a difference; the CHERI test suite still passes without it. Moreover, using unsigned conversion of the vector argument leads to more convenient lemmas for the provers. | |||
| 2018-07-11 | Fix some signedness bugs | Thomas Bauereiss | |
| add_vec_int and similar functions in the Lem library used unsigned instead of signed conversion. | |||
| 2018-07-10 | fix constructor typo | Jon French | |
| 2018-07-10 | Only put static qualifier on valspecs when -static flag is used | Alasdair Armstrong | |
| 2018-07-10 | disable printing when compiling to Lem to keep rmem happy | Jon French | |
| 2018-07-10 | Aarch64 mono script update | Brian Campbell | |
| 2018-07-09 | Initialize fresh memory to 0 in the OCaml backend. | Prashanth Mundkur | |
| This makes it consistent with the C backend, and also makes it easier to compare traces across execution re-runs. | |||
| 2018-07-09 | Lem: prefer type variables to constants when looking for equivalent nexps | Brian Campbell | |
| If we have an nexp that we can't print, look for an equivalent type variable before looking for a constant - the constant may only be valid locally (e.g., under an if) while the type variable will be valid throughout the function. Fixes a problem with aget_Mem on aarch64. | |||
| 2018-07-09 | Changes for anonymisation. Ensure headers are in correct format. Remove some ↵ | Robert Norton | |
| redundant files. | |||
| 2018-07-09 | Coq: remove some unnecessary casts | Brian Campbell | |
| 2018-07-09 | Fix bug in rewriting of try-catch-blocks with variable updates | Thomas Bauereiss | |
| 2018-07-09 | Tweak rewriting of literal patterns for Lem | Thomas Bauereiss | |
| 2018-07-09 | Add explanatory comment to guard rewriting | Thomas Bauereiss | |
| 2018-07-09 | Add some syntactic sugar for Isabelle | Thomas Bauereiss | |
| 2018-07-09 | Simplify treating of undefined_bool in Lem library | Thomas Bauereiss | |
| Use nondeterministic choice by default instead of a deterministic bitstream generator in the state, which is slightly awkward to reason about, because every use of undefined_boolS changes the state. The previous behaviour can be implemented as Sail code, if desired. Also add a default implementation of internal_pick that nondeterministically chooses an element from a list. | |||
| 2018-07-08 | Add -static flag that controls whether generated C functions are static | Alasdair | |
| By default generated functions are non-static, using the -static flag makes them static which is useful for measuring coverage using generated code. Some utility helper functions will always be static, but the compiled versions of sail functions won't be unless this flag is set. | |||
| 2018-07-07 | Coq: precise generic vectors | Brian Campbell | |
| (probably still some pattern matching to do, but I don't think the models use that) | |||
| 2018-07-07 | Coq: supply index constraint in for loops | Brian Campbell | |
| 2018-07-06 | Coq: support assertions inside and outside of blocks | Brian Campbell | |
| 2018-07-06 | Coq: avoid nexp simplification when deciding whether a cast is needed | Brian Campbell | |
| 2018-07-06 | Coq: Avoid clashes with the monad name, M | Brian Campbell | |
| 2018-07-06 | Coq: feed assertions into the context | Brian Campbell | |
| 2018-07-06 | Coq: reduce use of sumbool_of_bool to relevant constraints | Brian Campbell | |
| 2018-07-06 | Coq: missing existential building for ranges | Brian Campbell | |
| 2018-07-06 | Coq: turn off partial support for dropping true constraints, fix strings | Brian Campbell | |
| 2018-07-05 | Fix equality comparisons for variants in C | Alasdair | |
| Makes sure equality comparisons for variants are compiled correctly. Needed for CHERI and mips, which have structs containing variants. Also make sure that struct equality works for structs containing other structs. | |||
| 2018-07-05 | Fix equality comparisons for structs | Alasdair | |
| Add a test case in test/c/eq_struct.sail. Ensure that the macro EQUAL(type) will always give a valid equality function for any builtin type in sail.h. | |||
| 2018-07-05 | Fix CHERI test that was failing when compiled to C | Alasdair Armstrong | |
| Non bitvector literals for decreasing vectors were not being reversed correctly, so the list of capability registers was effectively in reverse order. Added a test case to test/c/ based on this aspect of CHERI | |||
| 2018-07-05 | make many generated c functions static -- this gives the compiler a chance ↵ | Robert Norton | |
| to notice if they are dead or inline them if appropriate, cleaning up coverage reports and potentially improving execution speed. | |||
| 2018-07-05 | restore missing RISC-V fence types in sail2; ignore io bits in fences more ↵ | Jon French | |
| cleanly | |||
| 2018-07-03 | Fix a bug in foreach loops | Alasdair Armstrong | |
| We should test before the first iteration in case 'to' starts out as less than 'from'. | |||
| 2018-07-03 | Fix letbind_effects on LEXP_deref with an effectful subexpression | Brian Campbell | |
