summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBen Bridle <bridle.benjamin@gmail.com>2024-10-30 15:49:15 +1300
committerBen Bridle <bridle.benjamin@gmail.com>2024-10-30 16:16:05 +1300
commitec8ed73838d6850c98722bc68b484174b735abfd (patch)
tree240cabb9bb58f412ea111fa3d4d45b783987db41
parent7c98a00cab282a58e9f2adde65bebe431def8481 (diff)
downloadbedrock-pc-ec8ed73838d6850c98722bc68b484174b735abfd.zip
Update source merging strategy
This updates the bedrock-asm dependency so that we can use the new source merging strategy added in version 4.0.2.
-rw-r--r--Cargo.lock4
-rw-r--r--Cargo.toml2
-rw-r--r--src/bin/br.rs8
3 files changed, 10 insertions, 4 deletions
diff --git a/Cargo.lock b/Cargo.lock
index 0f55e51..3a8bff9 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -62,8 +62,8 @@ checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa"
[[package]]
name = "bedrock-asm"
-version = "4.0.1"
-source = "git+git://benbridle.com/bedrock_asm?tag=v4.0.1#2cd0c86659479774d092de727e0f0c31e27e49f2"
+version = "4.0.2"
+source = "git+git://benbridle.com/bedrock_asm?tag=v4.0.2#398904776672a8e2143cca8b8953b15e37ff2c53"
dependencies = [
"vagabond",
"xflags",
diff --git a/Cargo.toml b/Cargo.toml
index 72b6127..40230b6 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -6,7 +6,7 @@ edition = "2021"
description = "Emulator for running Bedrock programs"
[dependencies]
-bedrock-asm = { git = "git://benbridle.com/bedrock_asm", tag = "v4.0.1" }
+bedrock-asm = { git = "git://benbridle.com/bedrock_asm", tag = "v4.0.2" }
bedrock-core = { git = "git://benbridle.com/bedrock_core", tag = "v5.0.0" }
phosphor = { git = "git://benbridle.com/phosphor", tag = "v3.1.0" }
geometry = { git = "git://benbridle.com/geometry", tag = "v1.0.0" }
diff --git a/src/bin/br.rs b/src/bin/br.rs
index ed101de..d9d792f 100644
--- a/src/bin/br.rs
+++ b/src/bin/br.rs
@@ -265,7 +265,13 @@ fn main_asm(args: Asm) {
if print_resolver_errors(&resolver) {
std::process::exit(1);
};
- let merged_source = resolver.get_merged_source_code();
+ let merged_source = match resolver.get_merged_source_code() {
+ Ok(merged_source) => merged_source,
+ Err(ids) => {
+ print_cyclic_source_units(&ids, &resolver);
+ std::process::exit(1);
+ },
+ };
if args.resolve && !args.check {
write_bytes_and_exit(merged_source.as_bytes(), args.output.as_ref());
}