From 90219a78d6a7c8dc14ea40fac681a9643bdc5faf Mon Sep 17 00:00:00 2001 From: Alastair Reid Date: Wed, 27 Jun 2018 15:44:44 +0100 Subject: RTS: Add support for __ListConfig --- lib/rts.c | 2 +- lib/rts.h | 1 + src/specialize.ml | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/lib/rts.c b/lib/rts.c index 0c20d40f..656c86f7 100644 --- a/lib/rts.c +++ b/lib/rts.c @@ -391,7 +391,7 @@ int process_arguments(int argc, char *argv[]) // do nothing } else { fprintf(stderr, "Could not parse argument %s\n", optarg); - // z__ListConfig(); + z__ListConfig(UNIT); return -1; }; mpz_t s_value; diff --git a/lib/rts.h b/lib/rts.h index 95425d06..86b7f1f1 100644 --- a/lib/rts.h +++ b/lib/rts.h @@ -128,3 +128,4 @@ void setup_rts(void); void cleanup_rts(void); unit z__SetConfig(sail_string, sail_int); +unit z__ListConfig(const unit u); diff --git a/src/specialize.ml b/src/specialize.ml index f5808dfe..de82c920 100644 --- a/src/specialize.ml +++ b/src/specialize.ml @@ -364,7 +364,7 @@ let specialize_id_overloads instantiations id (Defs defs) = valspecs are then re-specialized. This process is iterated until the whole spec is specialized. *) let remove_unused_valspecs env ast = - let calls = ref (IdSet.of_list [mk_id "main"; mk_id "__SetConfig"; mk_id "execute"; mk_id "decode"; mk_id "initialize_registers"; mk_id "append_64"]) in + let calls = ref (IdSet.of_list [mk_id "main"; mk_id "__SetConfig"; mk_id "__ListConfig"; mk_id "execute"; mk_id "decode"; mk_id "initialize_registers"; mk_id "append_64"]) in let vs_ids = Initial_check.val_spec_ids ast in let inspect_exp = function -- cgit v1.2.3