mirror of
https://github.com/pezkuwichain/revive.git
synced 2026-06-15 13:51:12 +00:00
Separate compilation and linker phases (#376)
Separate between compilation and linker phases to allow deploy time linking and back-porting era compiler changes to fix #91. Unlinked contract binaries (caused by missing libraries or missing factory dependencies in turn) are emitted as raw ELF object. Few drive by fixes: - #98 - A compiler panic on missing libraries definitions. - Fixes some incosistent type forwarding in JSON output (empty string vs. null object). - Remove the unused fallback for size optimization setting. - Remove the broken `--lvm-ir` mode. - CI workflow fixes. --------- Signed-off-by: Cyrill Leutwiler <bigcyrill@hotmail.com> Signed-off-by: xermicus <bigcyrill@hotmail.com> Signed-off-by: xermicus <cyrill@parity.io>
This commit is contained in:
@@ -0,0 +1,15 @@
|
||||
use crate::tests::cli::utils::{
|
||||
assert_command_success, execute_resolc, RESOLC_YUL_FLAG, YUL_CONTRACT_PATH,
|
||||
};
|
||||
|
||||
#[test]
|
||||
fn llvm_arguments_work_with_yul_input() {
|
||||
let output_with_argument = execute_resolc(&[
|
||||
RESOLC_YUL_FLAG,
|
||||
YUL_CONTRACT_PATH,
|
||||
"--llvm-arg=-riscv-soften-spills'",
|
||||
"--bin",
|
||||
]);
|
||||
assert_command_success(&output_with_argument, "Providing LLVM arguments");
|
||||
assert!(output_with_argument.success);
|
||||
}
|
||||
Reference in New Issue
Block a user