root@8e7fd8102545:/fork/inkwell# git log -1 commit 3ad8a39ca1f04a3b630ba0321346cca2a238629d (HEAD -> ml-aba-fix-llvm-verify-memory-leak, origin/ml-aba-fix-llvm-verify-memory-leak) Author: Anton Baliasnikov Date: Wed Jun 19 16:32:30 2024 +0100 Fix memory leak caused by LLVMVerifyModule function call root@8e7fd8102545:/fork/inkwell# cargo test --release --features llvm4-0 --verbose Fresh ucd-util v0.1.10 Fresh lazy_static v1.4.0 Fresh unicode-ident v1.0.12 Fresh utf8-ranges v1.0.5 Fresh semver-parser v0.7.0 Fresh cc v1.0.99 Fresh lazy_static v0.2.11 Fresh memchr v2.7.4 Fresh aho-corasick v0.6.10 Fresh regex-syntax v0.5.6 Fresh thread_local v0.3.6 Fresh proc-macro2 v1.0.85 Fresh semver v0.6.0 Fresh aho-corasick v1.1.3 Fresh regex-syntax v0.8.4 Fresh either v1.12.0 Fresh once_cell v1.19.0 Fresh regex v0.2.11 Fresh quote v1.0.36 Fresh libc v0.2.155 Fresh regex-automata v0.4.7 Fresh syn v2.0.66 Fresh regex v1.10.5 Fresh thiserror-impl v1.0.61 Fresh inkwell_internals v0.9.0 (/fork/inkwell/internal_macros) Fresh thiserror v1.0.61 Fresh llvm-sys v40.4.0 warning: unused import: `FunctionType` --> src/builder.rs:44:57 | 44 | use crate::types::{AsTypeRef, BasicType, FloatMathType, FunctionType, IntMathType, PointerMathType, PointerType}; | ^^^^^^^^^^^^ | = note: `#[warn(unused_imports)]` on by default warning: unused import: `PointerType` --> src/context.rs:46:80 | 46 | use crate::types::{AsTypeRef, BasicTypeEnum, FloatType, FunctionType, IntType, PointerType, StructType, VoidType}; | ^^^^^^^^^^^ warning: unused import: `llvm_sys::prelude::LLVMTypeRef` --> src/intrinsics.rs:3:5 | 3 | use llvm_sys::prelude::LLVMTypeRef; | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ warning: unused import: `crate::module::Module` --> src/intrinsics.rs:5:5 | 5 | use crate::module::Module; | ^^^^^^^^^^^^^^^^^^^^^ warning: unused imports: `AsTypeRef`, `BasicTypeEnum` --> src/intrinsics.rs:6:20 | 6 | use crate::types::{AsTypeRef, BasicTypeEnum}; | ^^^^^^^^^ ^^^^^^^^^^^^^ warning: unused import: `crate::values::FunctionValue` --> src/intrinsics.rs:7:5 | 7 | use crate::values::FunctionValue; | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ warning: unused import: `crate::context::ContextRef` --> src/types/metadata_type.rs:3:5 | 3 | use crate::context::ContextRef; | ^^^^^^^^^^^^^^^^^^^^^^^^^^ warning: unused import: `crate::types::enums::BasicMetadataTypeEnum` --> src/types/metadata_type.rs:5:5 | 5 | use crate::types::enums::BasicMetadataTypeEnum; | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ warning: unused import: `FunctionType` --> src/types/metadata_type.rs:7:20 | 7 | use crate::types::{FunctionType, Type}; | ^^^^^^^^^^^^ warning: unused imports: `LLVMGetSection`, `LLVMSetSection` --> src/values/global_value.rs:6:28 | 6 | LLVMGetPreviousGlobal, LLVMGetSection, LLVMGetThreadLocalMode, LLVMGetVisibility, LLVMIsDeclaration, | ^^^^^^^^^^^^^^ 7 | LLVMIsExternallyInitialized, LLVMIsGlobalConstant, LLVMIsThreadLocal, LLVMSetAlignment, LLVMSetDLLStorageClass, 8 | LLVMSetExternallyInitialized, LLVMSetGlobalConstant, LLVMSetInitializer, LLVMSetLinkage, LLVMSetSection, | ^^^^^^^^^^^^^^ warning: unused import: `crate::types::AnyTypeEnum` --> src/values/global_value.rs:34:5 | 34 | use crate::types::AnyTypeEnum; | ^^^^^^^^^^^^^^^^^^^^^^^^^ warning: unused import: `BasicType` --> src/values/ptr_value.rs:13:31 | 13 | use crate::types::{AsTypeRef, BasicType, IntType, PointerType}; | ^^^^^^^^^ warning: variable does not need to be mutable --> src/context.rs:114:9 | 114 | mut assembly: String, | ----^^^^^^^^ | | | help: remove this `mut` | = note: `#[warn(unused_mut)]` on by default warning: variable does not need to be mutable --> src/context.rs:115:9 | 115 | mut constraints: String, | ----^^^^^^^^^^^ | | | help: remove this `mut` warning: `inkwell` (lib) generated 14 warnings (run `cargo fix --lib -p inkwell` to apply 14 suggestions) warning: `inkwell` (lib test) generated 14 warnings (14 duplicates) warning: unused import: `AtomicRMWBinOp` --> tests/all/test_instruction_values.rs:4:45 | 4 | use inkwell::{AddressSpace, AtomicOrdering, AtomicRMWBinOp, FloatPredicate, IntPredicate}; | ^^^^^^^^^^^^^^ | = note: `#[warn(unused_imports)]` on by default warning: unused import: `inkwell::context::Context` --> tests/all/test_intrinsics.rs:1:5 | 1 | use inkwell::context::Context; | ^^^^^^^^^^^^^^^^^^^^^^^^^ warning: unused import: `inkwell::intrinsics::Intrinsic` --> tests/all/test_intrinsics.rs:2:5 | 2 | use inkwell::intrinsics::Intrinsic; | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ warning: unused import: `AnyTypeEnum` --> tests/all/test_values.rs:6:22 | 6 | use inkwell::types::{AnyTypeEnum, StringRadix, VectorType}; | ^^^^^^^^^^^ warning: unused variable: `module` --> tests/all/test_values.rs:557:9 | 557 | let module = context.create_module("my_mod"); | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_module` | = note: `#[warn(unused_variables)]` on by default warning: function `is_alignment_ok` is never used --> tests/all/test_builder.rs:1235:4 | 1235 | fn is_alignment_ok(align: u32) -> bool { | ^^^^^^^^^^^^^^^ | = note: `#[warn(dead_code)]` on by default Fresh inkwell v0.4.0 (/fork/inkwell) warning: `inkwell` (test "all") generated 6 warnings (run `cargo fix --test "all"` to apply 4 suggestions) Finished `release` profile [optimized] target(s) in 0.19s Running `/fork/inkwell/target/release/deps/inkwell-60822b0c7f3b782c` running 3 tests test support::test_to_c_str ... ok test support::test_load_visible_symbols ... ok test support::test_load_library_permanently ... ok test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s Running `/fork/inkwell/target/release/deps/all-5c35c8be5048afbc` running 115 tests test test_attributes::test_enum_attribute_kinds ... ok test test_attributes::test_string_attributes ... ok test test_basic_block::test_get_basic_blocks ... ok test test_basic_block::test_get_terminator ... ok test test_basic_block::test_get_first_use ... ok test test_basic_block::test_no_parent ... ok test test_basic_block::test_basic_block_ordering ... ok test test_basic_block::test_rauw ... ok test test_builder::test_atomicrmw ... ok test test_basic_block::test_get_address ... ok test test_builder::test_no_builder_double_free ... ok test test_builder::test_no_builder_double_free2 ... ok test test_builder::test_cmpxchg ... ok test test_builder::test_safe_struct_gep ... ok test test_builder::test_unconditional_branch ... ok ; ModuleID = 'sumtest test_attributes::test_attributes_on_call_site_values ... ok ; ModuleID = 'my_mod' source_filename = "' source_filename = "sum" my_mod" @test test_builder::test_insert_element ... ok _ZTIi = external ; Function Attrs: alwaysinline define global test test_builder::test_bit_cast ... ok i32test test_builder::test_insert_value ... ok *test test_builder::test_build_call ... ok define test test_builder::test_build_invoke_catch_all ... ok float @get_pi()test test_context::test_no_context_double_free ... ok test test_builder::test_build_invoke_cleanup_resume ... ok {test test_context::test_basic_block_context ... ok noalias "my_key"="my_val" i32* @my_fn(i32* "my_key"="my_val") # entry: test test_builder::test_vector_binary_ops ... ok test test_builder::test_vector_pointer_ops ... ok rettest test_context::test_values_get_context ... ok float 0 { entry: ret i32* test test_context::test_get_context_from_contextless_value ... ok test test_context::test_no_context_double_free3 ... ok null } attributes #0 = { alwaysinline } test test_instruction_conversion::test_conversion_to_int_value ... ok test test_builder::test_vector_convert_ops ... ok test test_instruction_conversion::test_conversion_to_pointer_value ... ok test test_instruction_conversion::test_conversion_to_float_value ... ok test test_attributes::test_attributes_on_function_values ... ok test test_instruction_conversion::test_phi_conversion ... ok test test_instruction_values::test_basic_block_operand ... ok test test_execution_engine::test_interpreter_execution_engine ... ok test test_execution_engine::test_add_remove_module ... ok test test_execution_engine::test_execution_engine ... ok test test_instruction_values::test_find_instruction_with_name ... ok test test_instruction_values::test_get_next_use ... ok test test_instruction_values::test_atomic_ordering_mem_instructions ... ok test test_instruction_values::test_operands ... ignored test test_instruction_values::test_mem_instructions ... ok test test_module::test_get_function ... ok test test_instruction_values::test_instructions ... ok 0x400921FB60000000 } define float @wrapper() personality i64 ()* @__gxx_personality_v0 { entry: %get_pi = invoketest test_module::test_double_ee_from_same_module ... ok cc1 float @get_pi() to test test_module::test_get_struct_type ... ok test test_module::test_get_struct_type_global_context ... labelok %then_block unwind label %catch_block then_block:test test_module::test_metadata_flags ... ok test test_instruction_values::test_metadata_kinds ... ok test test_module::test_get_set_target ... ok test test_module::test_clone ... ok test test_module::test_module_owned_data_layout_disposed_safely ... ok ; preds = %entry ret float %get_pi catch_block: ; preds = %entry %res = landingpad { i32*, i32 } filter [1 x i32*] [i32* @_ZTIi] ret float 0.000000e+00 } declare i64 @__gxx_personality_v0() test test_builder::landing_pad_filter ... ok test test_module::test_garbage_ir_fails_create_module_from_ir ... ok test test_module::test_garbage_ir_fails_create_module_from_ir_copy ... ok test test_module::test_print_to_file ... ok test test_module::test_linking_modules ... ok test test_module::test_write_bitcode_to_path ... ok test test_module::test_parse_from_buffer ... ok test test_module::test_parse_from_path ... ok test test_module::test_write_and_load_memory_buffer ... ok test test_targets::test_default_triple ... ok test test_targets::test_ptr_sized_int ... ok test test_targets::test_target_and_target_machine ... ok test test_passes::test_pass_registry ... ok test test_passes::test_init_all_passes_for_module ... ok test test_object_file::test_symbol_iterator ... ok test test_object_file::test_section_contains_nul ... ok test test_object_file::test_reloc_iterator ... ok test test_types::test_basic_type_enum ... ok test test_types::test_function_type ... ok test test_types::test_const_zero ... ok test test_types::test_ptr_address_space ... ok test test_types::test_ptr_type ... ok test test_types::test_sized_types ... ok test test_targets::test_write_target_machine_to_memory_buffer ... ok test test_targets::test_write_target_machine_to_file ... ok test test_types::test_type_copies ... ok test test_types::test_struct_type ... ok test test_types::test_vec_type ... ok test test_types::test_no_vector_zero - should panic ... ok test test_values::test_call_site ... ok test test_passes::test_pass_manager_builder ... ok test test_values::test_consecutive_fns ... ok test test_object_file::test_section_iterator ... ok test test_values::test_constant_expression ... ok test test_values::test_aggregate_returns ... ok test test_values::test_allocations ... ok test test_values::test_global_byte_array ... ok test test_values::test_function_value_no_params ... ok test test_values::test_function_value_to_global_to_pointer ... ok test test_targets::test_target_data ... ok test test_values::test_linkage ... ok test test_values::test_metadata ... ok test test_values::test_consts ... ok test test_values::test_non_fn_ptr_called - should panic ... ok test test_values::test_value_copies ... ok test test_values::test_string_values ... ok test test_values::test_set_get_name ... ok test test_values::test_undef ... ok test test_values::test_verify_fn ... ok test test_values::test_phi_values ... ok test test_values::test_vectors ... ok test test_values::test_value_from_string ... ok test test_values::test_globals ... ok test test_values::test_floats ... ok test test_execution_engine::test_get_function_address ... ok test test_builder::test_binary_ops ... ok test test_builder::test_bit_shifts ... ok test test_tari_example::test_tari_example ... ok test test_execution_engine::test_jit_execution_engine ... ok test test_builder::test_null_checked_ptr_ops ... ok test test_builder::test_switch ... ok test result: ok. 114 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 0.70s Doc-tests inkwell Running `/usr/local/rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/rustdoc --edition=2021 --crate-type lib --crate-name inkwell --test src/lib.rs --test-run-directory /fork/inkwell -L dependency=/fork/inkwell/target/release/deps -L dependency=/fork/inkwell/target/release/deps -L native=/fork/inkwell/target/release/build/llvm-sys-45fafb87603353d6/out -L native=/llvm/lib --extern either=/fork/inkwell/target/release/deps/libeither-6ae036a8d2b9e8e5.rlib --extern inkwell=/fork/inkwell/target/release/deps/libinkwell-8db6d59fd99d0eeb.rlib --extern inkwell_internals=/fork/inkwell/target/release/deps/libinkwell_internals-2356729cabb5cb74.so --extern libc=/fork/inkwell/target/release/deps/liblibc-305d036d8debb98b.rlib --extern llvm_sys_40=/fork/inkwell/target/release/deps/libllvm_sys-1aaa90440d4cd1bb.rlib --extern once_cell=/fork/inkwell/target/release/deps/libonce_cell-f4b568492ab7a574.rlib --extern regex=/fork/inkwell/target/release/deps/libregex-7962fe6b4cefc20c.rlib --extern thiserror=/fork/inkwell/target/release/deps/libthiserror-4273577b10aa1ad4.rlib -C embed-bitcode=no --cfg 'feature="default"' --cfg 'feature="llvm-sys-40"' --cfg 'feature="llvm4-0"' --cfg 'feature="target-aarch64"' --cfg 'feature="target-all"' --cfg 'feature="target-amdgpu"' --cfg 'feature="target-arm"' --cfg 'feature="target-bpf"' --cfg 'feature="target-hexagon"' --cfg 'feature="target-lanai"' --cfg 'feature="target-loongarch"' --cfg 'feature="target-mips"' --cfg 'feature="target-msp430"' --cfg 'feature="target-nvptx"' --cfg 'feature="target-powerpc"' --cfg 'feature="target-riscv"' --cfg 'feature="target-sparc"' --cfg 'feature="target-systemz"' --cfg 'feature="target-webassembly"' --cfg 'feature="target-x86"' --cfg 'feature="target-xcore"' --error-format human` running 296 tests test src/attributes.rs - attributes::Attribute::is_string (line 121) - compile ... ok test src/attributes.rs - attributes::Attribute::is_enum (line 103) - compile ... ok test src/attributes.rs - attributes::Attribute::get_enum_value (line 264) - compile ... ok test src/attributes.rs - attributes::Attribute::get_enum_kind_id (line 185) - compile ... ok test src/attributes.rs - attributes::Attribute::get_string_kind_id (line 282) - compile ... ok test src/basic_block.rs - basic_block::BasicBlock<'ctx>::get_first_use (line 527) - compile ... ok test src/basic_block.rs - basic_block::BasicBlock<'ctx>::delete (line 398) - compile ... ok test src/attributes.rs - attributes::Attribute::get_last_enum_kind_id (line 251) - compile ... ok test src/attributes.rs - attributes::Attribute::get_named_enum_kind_id (line 167) - compile ... ok test src/basic_block.rs - basic_block::BasicBlock<'ctx>::get_address (line 565) - compile ... ok test src/basic_block.rs - basic_block::BasicBlock<'ctx>::get_context (line 429) - compile ... ok test src/attributes.rs - attributes::Attribute::get_string_value (line 304) - compile ... ok test src/basic_block.rs - basic_block::BasicBlock<'ctx>::get_first_instruction (line 217) - compile ... ok test src/basic_block.rs - basic_block::BasicBlock<'ctx>::get_parent (line 56) - compile ... ok test src/basic_block.rs - basic_block::BasicBlock<'ctx>::get_last_instruction (line 249) - compile ... ok test src/basic_block.rs - basic_block::BasicBlock<'ctx>::get_next_basic_block (line 114) - compile ... ok test src/basic_block.rs - basic_block::BasicBlock<'ctx>::get_previous_basic_block (line 82) - compile ... ok test src/basic_block.rs - basic_block::BasicBlock<'ctx>::get_name (line 451) - compile ... ok test src/basic_block.rs - basic_block::BasicBlock<'ctx>::move_before (line 148) - compile ... ok test src/basic_block.rs - basic_block::BasicBlock<'ctx>::move_after (line 183) - compile ... ok test src/basic_block.rs - basic_block::BasicBlock<'ctx>::get_terminator (line 319) - compile ... ok test src/builder.rs - builder::Builder<'ctx>::build_aggregate_return (line 159) - compile ... ok test src/basic_block.rs - basic_block::BasicBlock<'ctx>::remove_from_function (line 361) - compile ... ok test src/builder.rs - builder::Builder<'ctx>::build_bit_cast (line 1821) - compile ... ok test src/builder.rs - builder::Builder<'ctx>::build_call (line 198) - compile ... ok test src/builder.rs - builder::Builder<'ctx>::build_extract_element (line 2917) - compile ... ok test src/builder.rs - builder::Builder<'ctx>::build_extract_value (line 2746) - compile ... ok test src/builder.rs - builder::Builder<'ctx>::build_insert_element (line 2965) - compile ... ok test src/builder.rs - builder::Builder<'ctx>::build_invoke (line 406) - compile ... ok test src/builder.rs - builder::Builder<'ctx>::build_landing_pad (line 767) - compile ... ok test src/builder.rs - builder::Builder<'ctx>::build_insert_value (line 2829) - compile ... ok test src/builder.rs - builder::Builder<'ctx>::build_landing_pad (line 701) - compile ... ok test src/builder.rs - builder::Builder<'ctx>::build_landing_pad (line 733) - compile ... ok test src/builder.rs - builder::Builder<'ctx>::build_landing_pad (line 805) - compile ... ok test src/builder.rs - builder::Builder<'ctx>::build_left_shift (line 2288) - compile ... ok test src/builder.rs - builder::Builder<'ctx>::build_left_shift (line 2280) - compile ... ok test src/builder.rs - builder::Builder<'ctx>::build_right_shift (line 2354) - compile ... ok test src/builder.rs - builder::Builder<'ctx>::build_load (line 1381) - compile ... ok test src/builder.rs - builder::Builder<'ctx>::build_left_shift (line 2296) - compile ... ok test src/builder.rs - builder::Builder<'ctx>::build_return (line 123) - compile ... ok test src/builder.rs - builder::Builder<'ctx>::build_resume (line 885) - compile ... ok test src/builder.rs - builder::Builder<'ctx>::build_ptr_diff (line 1220) - compile ... ok test src/builder.rs - builder::Builder<'ctx>::build_right_shift (line 2335) - compile ... ok test src/builder.rs - builder::Builder<'ctx>::build_right_shift (line 2368) - compile ... ok test src/context.rs - context::Context::create (line 430) - compile ... ok test src/builder.rs - builder::Builder<'ctx>::build_struct_gep (line 1081) - compile ... ok test src/builder.rs - builder::Builder<'ctx>::build_store (line 1340) - compile ... ok test src/context.rs - context::Context::create_builder (line 467) - compile ... ok test src/context.rs - context::Context::append_basic_block (line 1035) - compile ... ok test src/context.rs - context::Context::bool_type (line 655) - compile ... ok test src/context.rs - context::Context::create_enum_attribute (line 1222) - compile ... ok test src/context.rs - context::Context::const_struct (line 1014) - compile ... ok test src/context.rs - context::Context::const_string (line 1282) - compile ... ok test src/context.rs - context::Context::create_inline_asm (line 527) - compile ... ok test src/context.rs - context::Context::create_string_attribute (line 1239) - compile ... ok test src/context.rs - context::Context::create_module (line 482) - compile ... ok test src/context.rs - context::Context::create_module_from_ir (line 497) - compile ... ok test src/context.rs - context::Context::get_global (line 447) - compile ... ok test src/context.rs - context::Context::f128_type (line 894) - compile ... ok test src/context.rs - context::Context::custom_width_int_type (line 763) - compile ... ok test src/context.rs - context::Context::f16_type (line 822) - compile ... ok test src/context.rs - context::Context::f32_type (line 840) - compile ... ok test src/context.rs - context::Context::f64_type (line 858) - compile ... ok test src/context.rs - context::Context::get_kind_id (line 1189) - compile ... ok test src/context.rs - context::Context::i16_type (line 691) - compile ... ok test src/context.rs - context::Context::i128_type (line 745) - compile ... ok test src/context.rs - context::Context::i32_type (line 709) - compile ... ok test src/context.rs - context::Context::i8_type (line 673) - compile ... ok test src/context.rs - context::Context::i64_type (line 727) - compile ... ok test src/context.rs - context::Context::insert_basic_block_after (line 1062) - compile ... ok test src/context.rs - context::Context::metadata_string (line 1156) - compile ... ok test src/context.rs - context::Context::opaque_struct_type (line 974) - compile ... ok test src/context.rs - context::Context::metadata_node (line 1119) - compile ... ok test src/context.rs - context::Context::ppc_f128_type (line 915) - compile ... ok test src/context.rs - context::Context::ptr_sized_int_type (line 800) - compile ... ok test src/context.rs - context::Context::prepend_basic_block (line 1092) - compile ... ok test src/context.rs - context::Context::void_type (line 638) - compile ... ok test src/context.rs - context::Context::struct_type (line 954) - compile ... ok test src/context.rs - context::Context::x86_f80_type (line 876) - compile ... ok test src/context.rs - context::ContextRef<'ctx>::bool_type (line 1523) - compile ... ok test src/context.rs - context::ContextRef<'ctx>::append_basic_block (line 1903) - compile ... ok test src/context.rs - context::ContextRef<'ctx>::const_string (line 2139) - compile ... ok test src/context.rs - context::ContextRef<'ctx>::const_struct (line 1882) - compile ... ok test src/context.rs - context::ContextRef<'ctx>::create_builder (line 1335) - compile ... ok test src/context.rs - context::ContextRef<'ctx>::create_enum_attribute (line 2079) - compile ... ok test src/context.rs - context::ContextRef<'ctx>::create_inline_asm (line 1395) - compile ... ok test src/context.rs - context::ContextRef<'ctx>::create_module (line 1350) - compile ... ok test src/context.rs - context::ContextRef<'ctx>::create_module_from_ir (line 1365) - compile ... ok test src/context.rs - context::ContextRef<'ctx>::create_string_attribute (line 2096) - compile ... ok test src/context.rs - context::ContextRef<'ctx>::f128_type (line 1762) - compile ... ok test src/context.rs - context::ContextRef<'ctx>::custom_width_int_type (line 1631) - compile ... ok test src/context.rs - context::ContextRef<'ctx>::f16_type (line 1690) - compile ... ok test src/context.rs - context::ContextRef<'ctx>::f32_type (line 1708) - compile ... ok test src/context.rs - context::ContextRef<'ctx>::f64_type (line 1726) - compile ... ok test src/context.rs - context::ContextRef<'ctx>::get_kind_id (line 2057) - compile ... ok test src/context.rs - context::ContextRef<'ctx>::i128_type (line 1613) - compile ... ok test src/context.rs - context::ContextRef<'ctx>::i16_type (line 1559) - compile ... ok test src/context.rs - context::ContextRef<'ctx>::i64_type (line 1595) - compile ... ok test src/context.rs - context::ContextRef<'ctx>::i32_type (line 1577) - compile ... ok test src/context.rs - context::ContextRef<'ctx>::i8_type (line 1541) - compile ... ok test src/context.rs - context::ContextRef<'ctx>::metadata_node (line 1987) - compile ... ok test src/context.rs - context::ContextRef<'ctx>::insert_basic_block_after (line 1930) - compile ... ok test src/context.rs - context::ContextRef<'ctx>::metadata_string (line 2024) - compile ... ok test src/context.rs - context::ContextRef<'ctx>::opaque_struct_type (line 1842) - compile ... ok test src/context.rs - context::ContextRef<'ctx>::ppc_f128_type (line 1783) - compile ... ok test src/context.rs - context::ContextRef<'ctx>::ptr_sized_int_type (line 1668) - compile ... ok test src/context.rs - context::ContextRef<'ctx>::prepend_basic_block (line 1960) - compile ... ok test src/context.rs - context::ContextRef<'ctx>::void_type (line 1506) - compile ... ok test src/context.rs - context::ContextRef<'ctx>::struct_type (line 1822) - compile ... ok test src/context.rs - context::ContextRef<'ctx>::x86_f80_type (line 1744) - compile ... ok test src/execution_engine.rs - execution_engine::ExecutionEngine<'ctx>::add_module (line 188) - compile ... ok test src/lib.rs - AddressSpace (line 139) - compile ... ok test src/execution_engine.rs - execution_engine::ExecutionEngine<'ctx>::add_global_mapping (line 142) - compile ... ok test src/lib.rs - AddressSpace (line 145) - compile ... ok test src/execution_engine.rs - execution_engine::ExecutionEngine<'ctx>::get_function (line 262) - compile ... ok test src/module.rs - module::Module<'ctx>::add_function (line 204) - compile ... ok test src/module.rs - module::Module<'ctx>::add_global (line 616) - compile ... ok test src/module.rs - module::Module<'ctx>::create_execution_engine (line 446) - compile ... ok test src/module.rs - module::Module<'ctx>::add_global_metadata (line 885) - compile ... ok test src/module.rs - module::Module<'ctx>::create_interpreter_execution_engine (line 500) - compile ... ok test src/module.rs - module::Module<'ctx>::get_context (line 235) - compile ... ok test src/module.rs - module::Module<'ctx>::create_jit_execution_engine (line 555) - compile ... ok test src/module.rs - module::Module<'ctx>::get_data_layout (line 762) - compile ... ok test src/module.rs - module::Module<'ctx>::get_first_function (line 251) - compile ... ok test src/module.rs - module::Module<'ctx>::get_first_global (line 1030) - compile ... ok test src/basic_block.rs - basic_block::BasicBlock<'ctx>::get_instruction_with_name (line 281) ... ok test src/module.rs - module::Module<'ctx>::get_function (line 295) - compile ... ok test src/module.rs - module::Module<'ctx>::get_global (line 1086) - compile ... ok test src/module.rs - module::Module<'ctx>::get_global_metadata (line 978) - compile ... ok test src/module.rs - module::Module<'ctx>::get_last_function (line 273) - compile ... ok test src/module.rs - module::Module<'ctx>::get_global_metadata_size (line 935) - compile ... ok test src/module.rs - module::Module<'ctx>::get_last_global (line 1058) - compile ... ok test src/basic_block.rs - basic_block::BasicBlock<'ctx>::replace_all_uses_with (line 492) ... ok test src/builder.rs - builder::Builder<'ctx>::build_atomicrmw (line 3260) ... ok test src/module.rs - module::Module<'ctx>::get_name (line 1194) - compile ... ok test src/module.rs - module::Module<'ctx>::get_struct_type (line 346) - compile ... ok test src/module.rs - module::Module<'ctx>::link_in_module (line 1288) - compile ... ok test src/module.rs - module::Module<'ctx>::get_triple (line 421) - compile ... ok test src/module.rs - module::Module<'ctx>::parse_bitcode_from_buffer (line 1120) - compile ... ok test src/module.rs - module::Module<'ctx>::set_data_layout (line 791) - compile ... ok test src/module.rs - module::Module<'ctx>::parse_bitcode_from_path (line 1167) - compile ... ok test src/module.rs - module::Module<'ctx>::set_name (line 1213) - compile ... ok test src/module.rs - module::Module<'ctx>::write_bitcode_to_path (line 655) - compile ... ok test src/module.rs - module::Module<'ctx>::set_triple (line 397) - compile ... ok test src/module.rs - module::Module<'ctx>::write_bitcode_to_memory (line 704) - compile ... ok test src/passes.rs - passes::PassManagerBuilder::populate_function_pass_manager (line 136) - compile ... ok test src/builder.rs - builder::Builder<'ctx>::build_cmpxchg (line 3340) ... ok test src/passes.rs - passes::PassManagerBuilder::populate_lto_pass_manager (line 186) - compile ... ok test src/passes.rs - passes::PassManagerBuilder::populate_module_pass_manager (line 162) - compile ... ok test src/targets.rs - targets::TargetData::ptr_sized_int_type_in_context (line 1310) - compile ... ok test src/targets.rs - targets::TargetMachine::get_default_triple (line 1084) - compile ... ok test src/targets.rs - targets::TargetMachine::write_to_file (line 1215) - compile ... ok test src/types/array_type.rs - types::array_type::ArrayType<'ctx>::const_zero (line 184) - compile ... ok test src/targets.rs - targets::TargetMachine::write_to_memory_buffer (line 1156) - compile ... ok test src/types/array_type.rs - types::array_type::ArrayType<'ctx>::const_array (line 165) - compile ... ok test src/types/array_type.rs - types::array_type::ArrayType<'ctx>::fn_type (line 131) - compile ... ok test src/types/array_type.rs - types::array_type::ArrayType<'ctx>::array_type (line 147) - compile ... ok test src/types/array_type.rs - types::array_type::ArrayType<'ctx>::get_alignment (line 55) - compile ... ok test src/types/array_type.rs - types::array_type::ArrayType<'ctx>::get_undef (line 229) - compile ... ok test src/types/array_type.rs - types::array_type::ArrayType<'ctx>::get_context (line 114) - compile ... ok test src/types/array_type.rs - types::array_type::ArrayType<'ctx>::get_element_type (line 267) - compile ... ok test src/types/array_type.rs - types::array_type::ArrayType<'ctx>::len (line 200) - compile ... ok test src/types/array_type.rs - types::array_type::ArrayType<'ctx>::size_of (line 39) - compile ... ok test src/types/array_type.rs - types::array_type::ArrayType<'ctx>::ptr_type (line 71) - compile ... ok test src/types/float_type.rs - types::float_type::FloatType<'ctx>::const_float (line 89) - compile ... ok test src/types/float_type.rs - types::float_type::FloatType<'ctx>::const_array (line 295) - compile ... ok test src/types/float_type.rs - types::float_type::FloatType<'ctx>::const_zero (line 146) - compile ... ok test src/types/float_type.rs - types::float_type::FloatType<'ctx>::array_type (line 53) - compile ... ok test src/types/float_type.rs - types::float_type::FloatType<'ctx>::fn_type (line 38) - compile ... ok test src/types/float_type.rs - types::float_type::FloatType<'ctx>::get_alignment (line 179) - compile ... ok test src/types/float_type.rs - types::float_type::FloatType<'ctx>::const_float_from_string (line 106) - compile ... ok test src/types/float_type.rs - types::float_type::FloatType<'ctx>::get_context (line 194) - compile ... ok test src/types/float_type.rs - types::float_type::FloatType<'ctx>::get_undef (line 256) - compile ... ok test src/types/float_type.rs - types::float_type::FloatType<'ctx>::size_of (line 164) - compile ... ok test src/types/float_type.rs - types::float_type::FloatType<'ctx>::vec_type (line 71) - compile ... ok test src/types/float_type.rs - types::float_type::FloatType<'ctx>::ptr_type (line 210) - compile ... ok test src/types/fn_type.rs - types::fn_type::FunctionType<'ctx>::is_sized (line 149) - compile ... ok test src/types/fn_type.rs - types::fn_type::FunctionType<'ctx>::count_param_types (line 130) - compile ... ok test src/types/fn_type.rs - types::fn_type::FunctionType<'ctx>::get_context (line 171) - compile ... ok test src/types/fn_type.rs - types::fn_type::FunctionType<'ctx>::get_return_type (line 193) - compile ... ok test src/types/fn_type.rs - types::fn_type::FunctionType<'ctx>::get_param_types (line 99) - compile ... ok test src/types/fn_type.rs - types::fn_type::FunctionType<'ctx>::is_var_arg (line 82) - compile ... ok test src/types/int_type.rs - types::int_type::IntType<'ctx>::const_all_ones (line 166) - compile ... ok test src/types/fn_type.rs - types::fn_type::FunctionType<'ctx>::ptr_type (line 39) - compile ... ok test src/types/int_type.rs - types::int_type::IntType<'ctx>::const_int_arbitrary_precision (line 146) - compile ... ok test src/types/int_type.rs - types::int_type::IntType<'ctx>::const_array (line 399) - compile ... ok test src/types/int_type.rs - types::int_type::IntType<'ctx>::const_int (line 86) - compile ... ok test src/types/int_type.rs - types::int_type::IntType<'ctx>::array_type (line 215) - compile ... ok test src/types/int_type.rs - types::int_type::IntType<'ctx>::fn_type (line 200) - compile ... ok test src/types/int_type.rs - types::int_type::IntType<'ctx>::get_alignment (line 282) - compile ... ok test src/types/int_type.rs - types::int_type::IntType<'ctx>::const_zero (line 182) - compile ... ok test src/types/int_type.rs - types::int_type::IntType<'ctx>::const_int_from_string (line 104) - compile ... ok test src/types/int_type.rs - types::int_type::IntType<'ctx>::get_bit_width (line 338) - compile ... ok test src/types/int_type.rs - types::int_type::IntType<'ctx>::size_of (line 267) - compile ... ok test src/types/int_type.rs - types::int_type::IntType<'ctx>::get_undef (line 358) - compile ... ok test src/types/int_type.rs - types::int_type::IntType<'ctx>::get_context (line 251) - compile ... ok test src/types/int_type.rs - types::int_type::IntType<'ctx>::ptr_type (line 297) - compile ... ok test src/types/int_type.rs - types::int_type::IntType<'ctx>::vec_type (line 233) - compile ... ok test src/types/ptr_type.rs - types::ptr_type::PointerType<'ctx>::const_array (line 355) - compile ... ok test src/types/ptr_type.rs - types::ptr_type::PointerType<'ctx>::array_type (line 169) - compile ... ok test src/types/ptr_type.rs - types::ptr_type::PointerType<'ctx>::const_null (line 220) - compile ... ok test src/types/ptr_type.rs - types::ptr_type::PointerType<'ctx>::const_zero (line 246) - compile ... ok test src/types/ptr_type.rs - types::ptr_type::PointerType<'ctx>::fn_type (line 149) - compile ... ok test src/types/ptr_type.rs - types::ptr_type::PointerType<'ctx>::get_alignment (line 61) - compile ... ok test src/types/ptr_type.rs - types::ptr_type::PointerType<'ctx>::get_address_space (line 192) - compile ... ok test src/types/ptr_type.rs - types::ptr_type::PointerType<'ctx>::get_context (line 127) - compile ... ok test src/types/ptr_type.rs - types::ptr_type::PointerType<'ctx>::get_element_type (line 334) - compile ... ok test src/types/ptr_type.rs - types::ptr_type::PointerType<'ctx>::get_undef (line 265) - compile ... ok test src/types/ptr_type.rs - types::ptr_type::PointerType<'ctx>::ptr_type (line 81) - compile ... ok test src/types/ptr_type.rs - types::ptr_type::PointerType<'ctx>::size_of (line 41) - compile ... ok test src/types/ptr_type.rs - types::ptr_type::PointerType<'ctx>::vec_type (line 310) - compile ... ok test src/types/struct_type.rs - types::struct_type::StructType<'ctx>::array_type (line 254) - compile ... ok test src/types/struct_type.rs - types::struct_type::StructType<'ctx>::const_named_struct (line 80) - compile ... ok test src/types/struct_type.rs - types::struct_type::StructType<'ctx>::const_array (line 443) - compile ... ok test src/types/struct_type.rs - types::struct_type::StructType<'ctx>::const_zero (line 104) - compile ... ok test src/types/struct_type.rs - types::struct_type::StructType<'ctx>::fn_type (line 238) - compile ... ok test src/types/struct_type.rs - types::struct_type::StructType<'ctx>::count_fields (line 307) - compile ... ok test src/types/struct_type.rs - types::struct_type::StructType<'ctx>::get_alignment (line 137) - compile ... ok test src/types/struct_type.rs - types::struct_type::StructType<'ctx>::get_context (line 153) - compile ... ok test src/types/struct_type.rs - types::struct_type::StructType<'ctx>::get_field_types (line 325) - compile ... ok test src/types/struct_type.rs - types::struct_type::StructType<'ctx>::get_field_type_at_index (line 42) - compile ... ok test src/types/struct_type.rs - types::struct_type::StructType<'ctx>::get_name (line 170) - compile ... ok test src/types/struct_type.rs - types::struct_type::StructType<'ctx>::is_opaque (line 290) - compile ... ok test src/types/struct_type.rs - types::struct_type::StructType<'ctx>::get_undef (line 369) - compile ... ok test src/types/struct_type.rs - types::struct_type::StructType<'ctx>::is_packed (line 273) - compile ... ok test src/types/struct_type.rs - types::struct_type::StructType<'ctx>::size_of (line 121) - compile ... ok test src/types/struct_type.rs - types::struct_type::StructType<'ctx>::ptr_type (line 195) - compile ... ok test src/types/struct_type.rs - types::struct_type::StructType<'ctx>::set_body (line 413) - compile ... ok test src/types/traits.rs - types::traits::BasicType::array_type (line 101) - compile ... ok test src/types/traits.rs - types::traits::BasicType::size_of (line 85) - compile ... ok test src/types/traits.rs - types::traits::BasicType::fn_type (line 49) - compile ... ok test src/types/traits.rs - types::traits::BasicType::is_sized (line 67) - compile ... ok test src/types/traits.rs - types::traits::BasicType::ptr_type (line 118) - compile ... ok test src/types/vec_type.rs - types::vec_type::VectorType<'ctx>::const_vector (line 96) - compile ... ok test src/types/vec_type.rs - types::vec_type::VectorType<'ctx>::const_array (line 271) - compile ... ok test src/types/vec_type.rs - types::vec_type::VectorType<'ctx>::array_type (line 253) - compile ... ok test src/types/vec_type.rs - types::vec_type::VectorType<'ctx>::const_zero (line 117) - compile ... ok test src/types/vec_type.rs - types::vec_type::VectorType<'ctx>::fn_type (line 237) - compile ... ok test src/types/vec_type.rs - types::vec_type::VectorType<'ctx>::get_alignment (line 55) - compile ... ok test src/types/vec_type.rs - types::vec_type::VectorType<'ctx>::get_context (line 293) - compile ... ok test src/types/vec_type.rs - types::vec_type::VectorType<'ctx>::get_element_type (line 176) - compile ... ok test src/types/vec_type.rs - types::vec_type::VectorType<'ctx>::get_undef (line 137) - compile ... ok test src/types/vec_type.rs - types::vec_type::VectorType<'ctx>::get_size (line 71) - compile ... ok test src/types/vec_type.rs - types::vec_type::VectorType<'ctx>::size_of (line 39) - compile ... ok test src/types/vec_type.rs - types::vec_type::VectorType<'ctx>::ptr_type (line 194) - compile ... ok test src/types/void_type.rs - types::void_type::VoidType<'ctx>::is_sized (line 37) - compile ... ok test src/types/void_type.rs - types::void_type::VoidType<'ctx>::fn_type (line 70) - compile ... ok test src/types/void_type.rs - types::void_type::VoidType<'ctx>::get_context (line 53) - compile ... ok test src/values/array_value.rs - values::array_value::ArrayValue<'ctx>::is_const (line 101) - compile ... ok test src/values/array_value.rs - values::array_value::ArrayValue<'ctx>::get_string_constant (line 137) - compile ... ok test src/values/array_value.rs - values::array_value::ArrayValue<'ctx>::is_const_string (line 119) - compile ... ok test src/values/basic_value_use.rs - values::basic_value_use::BasicValueUse<'ctx>::get_next_use (line 33) - compile ... ok test src/values/basic_value_use.rs - values::basic_value_use::BasicValueUse<'ctx>::get_used_value (line 136) - compile ... ok test src/values/call_site_value.rs - values::call_site_value::CallSiteValue<'ctx>::add_attribute (line 173) - compile ... ok test src/values/basic_value_use.rs - values::basic_value_use::BasicValueUse<'ctx>::get_user (line 97) - compile ... ok test src/values/call_site_value.rs - values::call_site_value::CallSiteValue<'ctx>::count_arguments (line 486) - compile ... ok test src/values/call_site_value.rs - values::call_site_value::CallSiteValue<'ctx>::attributes (line 266) - compile ... ok test src/values/call_site_value.rs - values::call_site_value::CallSiteValue<'ctx>::count_attributes (line 233) - compile ... ok test src/values/call_site_value.rs - values::call_site_value::CallSiteValue<'ctx>::get_call_convention (line 516) - compile ... ok test src/values/call_site_value.rs - values::call_site_value::CallSiteValue<'ctx>::get_called_fn_value (line 204) - compile ... ok test src/values/call_site_value.rs - values::call_site_value::CallSiteValue<'ctx>::get_enum_attribute (line 324) - compile ... ok test src/values/call_site_value.rs - values::call_site_value::CallSiteValue<'ctx>::get_string_attribute (line 364) - compile ... ok test src/values/call_site_value.rs - values::call_site_value::CallSiteValue<'ctx>::is_tail_call (line 63) - compile ... ok test src/values/call_site_value.rs - values::call_site_value::CallSiteValue<'ctx>::remove_enum_attribute (line 411) - compile ... ok test src/values/call_site_value.rs - values::call_site_value::CallSiteValue<'ctx>::set_alignment_attribute (line 572) - compile ... ok test src/values/call_site_value.rs - values::call_site_value::CallSiteValue<'ctx>::remove_string_attribute (line 445) - compile ... ok test src/values/call_site_value.rs - values::call_site_value::CallSiteValue<'ctx>::set_call_convention (line 541) - compile ... ok test src/values/call_site_value.rs - values::call_site_value::CallSiteValue<'ctx>::set_tail_call (line 38) - compile ... ok test src/values/callable_value.rs - values::callable_value::CallableValue (line 48) - compile ... ok test src/values/call_site_value.rs - values::call_site_value::CallSiteValue<'ctx>::try_as_basic_value (line 143) - compile ... ok test src/module.rs - module::Module<'ctx>::get_functions (line 318) ... ok test src/values/callable_value.rs - values::callable_value::CallableValue (line 22) - compile ... ok test src/values/float_value.rs - values::float_value::FloatValue<'ctx>::is_const (line 147) - compile ... ok test src/values/float_value.rs - values::float_value::FloatValue<'ctx>::get_constant (line 164) - compile ... ok test src/values/fn_value.rs - values::fn_value::FunctionValue<'ctx>::add_attribute (line 274) - compile ... ok test src/values/fn_value.rs - values::fn_value::FunctionValue<'ctx>::attributes (line 322) - compile ... ok test src/values/fn_value.rs - values::fn_value::FunctionValue<'ctx>::count_attributes (line 297) - compile ... ok test src/values/fn_value.rs - values::fn_value::FunctionValue<'ctx>::remove_enum_attribute (line 403) - compile ... ok test src/values/fn_value.rs - values::fn_value::FunctionValue<'ctx>::get_enum_attribute (line 425) - compile ... ok test src/values/fn_value.rs - values::fn_value::FunctionValue<'ctx>::remove_string_attribute (line 374) - compile ... ok test src/values/fn_value.rs - values::fn_value::FunctionValue<'ctx>::get_string_attribute (line 455) - compile ... ok test src/values/global_value.rs - values::global_value::GlobalValue<'ctx>::is_declaration (line 150) - compile ... ok test src/values/instruction_value.rs - values::instruction_value::InstructionValue<'ctx>::get_num_operands (line 469) - compile ... ok test src/values/instruction_value.rs - values::instruction_value::InstructionValue<'ctx>::get_first_use (line 748) - compile ... ok test src/values/instruction_value.rs - values::instruction_value::InstructionValue<'ctx>::get_operand (line 532) - compile ... ok test src/values/instruction_value.rs - values::instruction_value::InstructionValue<'ctx>::get_operand_use (line 681) - compile ... ok test src/values/int_value.rs - values::int_value::IntValue<'ctx>::get_sign_extended_constant (line 356) - compile ... ok test src/values/instruction_value.rs - values::instruction_value::InstructionValue<'ctx>::set_operand (line 636) - compile ... ok test src/values/int_value.rs - values::int_value::IntValue<'ctx>::get_zero_extended_constant (line 331) - compile ... ok test src/values/int_value.rs - values::int_value::IntValue<'ctx>::is_const (line 295) - compile ... ok test src/values/ptr_value.rs - values::ptr_value::PointerValue<'ctx>::is_const (line 64) - compile ... ok test src/values/int_value.rs - values::int_value::IntValue<'ctx>::is_constant_int (line 314) - compile ... ok test src/values/struct_value.rs - values::struct_value::StructValue<'ctx>::get_field_at_index (line 35) - compile ... ok test src/values/struct_value.rs - values::struct_value::StructValue<'ctx>::count_fields (line 96) - compile ... ok test src/values/vec_value.rs - values::vec_value::VectorValue<'ctx>::is_const (line 43) - compile ... ok test src/types/enums.rs - types::enums::BasicTypeEnum<'ctx>::const_zero (line 534) ... ok test result: ok. 296 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 11.67s