diff options
author | gatecat <gatecat@ds0.me> | 2021-06-30 09:59:38 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-06-30 09:59:38 +0100 |
commit | 91b998bb11e4bce04ecd6e2a81119714fb4640ae (patch) | |
tree | 7c530e15b870d48ba465710ded34604320a9f956 /common | |
parent | 6c23fe202c5aceac0079ff3211298e7d2ec88a7e (diff) | |
parent | 5c6b8a5f0473c6ec04dd045029eb0d87353558ab (diff) | |
download | nextpnr-91b998bb11e4bce04ecd6e2a81119714fb4640ae.tar.gz nextpnr-91b998bb11e4bce04ecd6e2a81119714fb4640ae.tar.bz2 nextpnr-91b998bb11e4bce04ecd6e2a81119714fb4640ae.zip |
Merge pull request #738 from YosysHQ/json_load_reinit
Preserve ArchArgs and reinit Context when applicable in GUI, fixes #737
Diffstat (limited to 'common')
-rw-r--r-- | common/command.cc | 9 | ||||
-rw-r--r-- | common/context.h | 6 |
2 files changed, 5 insertions, 10 deletions
diff --git a/common/command.cc b/common/command.cc index 89bbf90c..7f276193 100644 --- a/common/command.cc +++ b/common/command.cc @@ -475,15 +475,6 @@ int CommandHandler::exec() void CommandHandler::load_json(Context *ctx, std::string filename) { - ctx->cells.clear(); - ctx->nets.clear(); - ctx->net_aliases.clear(); - ctx->ports.clear(); - ctx->hierarchy.clear(); - ctx->settings.erase(ctx->id("pack")); - ctx->settings.erase(ctx->id("place")); - ctx->settings.erase(ctx->id("route")); - setupContext(ctx); setupArchContext(ctx); { diff --git a/common/context.h b/common/context.h index ee7ef0ce..f2b66600 100644 --- a/common/context.h +++ b/common/context.h @@ -37,7 +37,11 @@ struct Context : Arch, DeterministicRNG // Should we disable printing of the location of nets in the critical path? bool disable_critical_path_source_print = false; - Context(ArchArgs args) : Arch(args) { BaseCtx::as_ctx = this; } + ArchArgs arch_args; + + Context(ArchArgs args) : Arch(args) { BaseCtx::as_ctx = this; arch_args = args; } + + ArchArgs getArchArgs() { return arch_args; } // -------------------------------------------------------------- |