| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 2019-12-01 | Coq: remove last use and definition of doc_nc_prop | Brian Campbell | |
| (plus test, as it wasn't covered before) | |||
| 2019-11-11 | Make sure undefined_gen inserts enough type annotations for union constructors | Alasdair Armstrong | |
| 2019-11-07 | Make the world a slightly more sane and consistent place | Alasdair Armstrong | |
| 2019-11-07 | Backport fixes to SMT generation from poly_mapping branch | Alasdair Armstrong | |
| 2019-11-05 | Forbid types declared after a scattered union being used in clauses | Alasdair | |
| The following is therefore always forbidden ``` scattered union U enum E = A | B | C union clause U = Ctor : E ``` We attempt to detect when this occurs and include a hint indicating the likely reason why a 'Undefined type E' error might occur in this circumstance | |||
| 2019-11-05 | Improve type error for recursive types slightly | Alasdair Armstrong | |
| 2019-11-05 | Make sure we correctly forbid recursive datatypes that we don't want to support | Alasdair Armstrong | |
| Ensure we give a nice error message that explains that recursive types are forbidden ``` Type error: [struct_rec.sail]:3:10-11 3 | field : S | ^ | Undefined type S | This error was caused by: | [struct_rec.sail]:2:0-4:1 | 2 |struct S = { | |^----------- | 4 |} | |^ | | Recursive types are not allowed ``` The theorem prover backends create a special register_value union that can be recursive, so we make sure to special case that. | |||
| 2019-11-04 | Some almost-forgotten mono tests | Brian Campbell | |
| 2019-11-01 | Add a missing well-formedness check | Alasdair | |
| 2019-10-02 | Coq: limited support for existentially-typed tuples | Brian Campbell | |
| - in particular at monadic interfaces (i.e., sufficient for instruction ast types) - see commented out part of test/coq/pass/ast_with_dep_tuple.sail for an example that's not currently supported - generate definitions for type-level Bool definitions (i.e., predicates) | |||
| 2019-09-02 | Enable part of a test that's been fixed recently. | Brian Campbell | |
| 2019-08-30 | Add a couple of overlooked tests | Brian Campbell | |
| 2019-08-29 | Clean up some mono tests | Brian Campbell | |
| 2019-08-14 | Update tests | Thomas Bauereiss | |
| 2019-08-02 | Fix up some edge cases with the bitvector/polyvector split | Brian Campbell | |
| Mostly in the Coq backend, plus a few testcases that use bitvector builtins on poly-vectors (which works on some backends, but not Coq). Also handle some additional list inclusion proofs in Coq. | |||
| 2019-08-01 | Merge branch 'sail2' into separate_bv | Alasdair Armstrong | |
| 2019-08-01 | Merge remote-tracking branch 'origin/rv_duopod_fix' into sail2 | Alasdair Armstrong | |
| Fixes #53 | |||
| 2019-07-31 | Fix failing SMT test | Alasdair Armstrong | |
| 2019-07-31 | Remove redundant ifdef and run SMT tests by default | Alasdair Armstrong | |
| 2019-07-18 | Add a feature flag for barrier type change | Alasdair Armstrong | |
| Fix SMT mem_builtin test case | |||
| 2019-07-17 | Add another test case | Alasdair Armstrong | |
| 2019-07-16 | Fix all remaining tests for this branch | Alasdair | |
| 2019-07-16 | Get monomorphisation tests working with separate bitvectors | Alasdair Armstrong | |
| 2019-07-16 | Merge remote-tracking branch 'origin/sail2' into separate_bv | Alasdair Armstrong | |
| 2019-06-30 | Fix bug with toplevel pattern in RISC-V duopod | Alasdair | |
| Do this by making sure that generic pattern literal re-writing gets applied to top-level function clauses. This requires re-ordering the rewrites for most backends otherwise they break, which hopefully wo anything. After doing this re-ordering I had to turn off casting when rewriting bitvector patterns, otherwise insane things can happen. | |||
| 2019-06-27 | SMT: Add a reverse endianness function and fix some bugs | Alasdair Armstrong | |
| 2019-06-25 | SMT: Add another case to append | Alasdair Armstrong | |
| 2019-06-21 | Coq: add missing property derivation casts for effectful expressions | Brian Campbell | |
| These don't appear much, but are now showing up in the sail-arm model due to an innocent change elsewhere. | |||
| 2019-06-21 | Coq: be more careful when dealing with wildcard argument patterns | Brian Campbell | |
| If they're merged with a type variable then we still need to name the argument so that it can be used in other types. | |||
| 2019-06-20 | Handle more uses of mutable variables during monomorphisation cast insertion | Brian Campbell | |
| In particular, bitvector subrange updates work with this version. | |||
| 2019-06-19 | Make C emulator exit with failure for uncaught exception. Make special case ↵ | Robert Norton | |
| for 'exception.sail' test that deliberately exits with uncaught exception. | |||
| 2019-06-19 | Monomorphisation improvements for aarch64_small | Brian Campbell | |
| - additional rewrites (signed extend of subrange@zeros, subrange assignment, variants with casts) - drop # from new top-level type variables (e.g., n_times_8) so that the rewriter knows that they're safe to include in casts - add casts in else-branches when only one possible value for a size is left - add casts when assertions force a size to be a particular value - don't use types to detect set constraints in analysis because we won't know which part of the assertion should be replaced - also use non-top-level type variables when simplifying sizes in analysis (useful when it can from pattern matching on an ast) - cope with repeated int('n) in a pattern match (!) | |||
| 2019-06-18 | Fix two SMT test cases | Thomas Bauereiss | |
| 2019-06-18 | Update test cases | Thomas Bauereiss | |
| 2019-06-18 | Implement count_leading_zeros in Lem | Thomas Bauereiss | |
| 2019-06-17 | Implement a count_leading_zeros builtin for ocaml and c. This may be a ↵ | Robert Norton | |
| slight performance improvement and keeps compatibility with smt backend that already had a builtin for this because it can't handle the loop in the sail version. Will need implementations for prover backends. | |||
| 2019-06-10 | Add well-formedness check for type schemes in valspecs. | Brian Campbell | |
| Fixes #47. Also adjust the nexp substitution so that the error message points to a useful location, and replace the empty environment with the initial environment in a few functions that do type checking to ensure that the prover is set up (which may be needed for the wf check). | |||
| 2019-06-06 | Fix aarch64_small test | Alasdair Armstrong | |
| 2019-06-06 | Add arith_shiftr to C and OCaml libraries | Thomas Bauereiss | |
| 2019-06-05 | Add some regression tests | Alasdair | |
| 2019-06-04 | Make sure aarch64_small can generate Jib for SMT | Alasdair Armstrong | |
| Add a test case for this | |||
| 2019-06-04 | Merge branch 'sail2' into separate_bv | Alasdair Armstrong | |
| 2019-06-04 | SMT: Add a fuzzing tool for the SMT builtins | Alasdair Armstrong | |
| 2019-06-03 | Test case for previous commit | Brian Campbell | |
| 2019-05-29 | SMT: Make bitvector equality work between vectors of different lengths | Alasdair Armstrong | |
| 2019-05-29 | SMT: Fix sail_truncate and sail_mask for unusual argument types | Alasdair Armstrong | |
| 2019-05-28 | Fix typechecking test expected error | Alasdair Armstrong | |
| 2019-05-28 | Just build lem in aarch64_small test | Alasdair Armstrong | |
| 2019-05-28 | SMT: Add min and max functions | Alasdair Armstrong | |
| Allow conversion between int(n) and int in smt_conversion | |||
| 2019-05-28 | Make sure single clause functions with top-level guards work correctly | Alasdair Armstrong | |
