Replace the type of global variables instead of replacing them
This commit is contained in:
parent
606196b0cf
commit
cd014cda8c
4
Cargo.lock
generated
4
Cargo.lock
generated
@ -80,7 +80,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "gccjit"
|
name = "gccjit"
|
||||||
version = "2.0.0"
|
version = "2.0.0"
|
||||||
source = "git+https://github.com/rust-lang/gccjit.rs#f1545d7c2c13e42d78eaac8032d49ab8f7d43b6e"
|
source = "git+https://github.com/rust-lang/gccjit.rs#328cb1b414f67dfa15162ba7a55ed01931f1b219"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"gccjit_sys",
|
"gccjit_sys",
|
||||||
]
|
]
|
||||||
@ -88,7 +88,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "gccjit_sys"
|
name = "gccjit_sys"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
source = "git+https://github.com/rust-lang/gccjit.rs#f1545d7c2c13e42d78eaac8032d49ab8f7d43b6e"
|
source = "git+https://github.com/rust-lang/gccjit.rs#328cb1b414f67dfa15162ba7a55ed01931f1b219"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"libc",
|
"libc",
|
||||||
]
|
]
|
||||||
|
@ -1 +1 @@
|
|||||||
272d0ccced960394fe6ff2b40b01610208cb4940
|
341be3b7d7ac6976cfed8ed59da3573c040d0776
|
||||||
|
@ -82,17 +82,11 @@ fn codegen_static(&self, def_id: DefId) {
|
|||||||
};
|
};
|
||||||
|
|
||||||
let is_thread_local = attrs.flags.contains(CodegenFnAttrFlags::THREAD_LOCAL);
|
let is_thread_local = attrs.flags.contains(CodegenFnAttrFlags::THREAD_LOCAL);
|
||||||
let mut global = self.get_static_inner(def_id, val_llty);
|
let global = self.get_static_inner(def_id, val_llty);
|
||||||
|
|
||||||
#[cfg(feature = "master")]
|
#[cfg(feature = "master")]
|
||||||
if global.to_rvalue().get_type() != val_llty {
|
if global.to_rvalue().get_type() != val_llty {
|
||||||
let instance = Instance::mono(self.tcx, def_id);
|
global.to_rvalue().set_type(val_llty);
|
||||||
self.instances.borrow_mut().remove(&instance);
|
|
||||||
|
|
||||||
global.remove();
|
|
||||||
let name = self.tcx.symbol_name(instance).name;
|
|
||||||
self.globals.borrow_mut().remove(name);
|
|
||||||
global = self.get_static_inner(def_id, val_llty);
|
|
||||||
}
|
}
|
||||||
set_global_alignment(self, global, alloc.align);
|
set_global_alignment(self, global, alloc.align);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user