about summary refs log tree commit diff
diff options
context:
space:
mode:
authorAntoni Boucher <bouanto@zoho.com>2023-08-13 09:37:32 -0400
committerAntoni Boucher <bouanto@zoho.com>2023-08-13 09:37:32 -0400
commit43431e4db4d7e85f36dd7832a521b7b4d73e53ff (patch)
tree2e110c82176162b4c6b8689623ea12e1f43463ea
parent8a160d6fcd361041dcd6edb8f72c411f71e3a23c (diff)
downloadrust-43431e4db4d7e85f36dd7832a521b7b4d73e53ff.tar.gz
rust-43431e4db4d7e85f36dd7832a521b7b4d73e53ff.zip
Update to nightly-2023-08-12
-rw-r--r--Cargo.lock4
-rw-r--r--build_sysroot/Cargo.toml1
-rw-r--r--example/alloc_example.rs1
-rw-r--r--example/arbitrary_self_types_pointers_and_wrappers.rs1
-rw-r--r--example/mini_core.rs2
-rw-r--r--example/mini_core_hello_world.rs2
-rw-r--r--example/mod_bench.rs1
-rw-r--r--rust-toolchain2
-rw-r--r--src/builder.rs13
9 files changed, 13 insertions, 14 deletions
diff --git a/Cargo.lock b/Cargo.lock
index 1c8754bf675..f537ab37266 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -35,7 +35,7 @@ dependencies = [
 [[package]]
 name = "gccjit"
 version = "1.0.0"
-source = "git+https://github.com/antoyo/gccjit.rs#d6e52626cfc6f487094a5d5ac66302baf3439984"
+source = "git+https://github.com/antoyo/gccjit.rs#814eea1a0a098d08a113794225cad301622fd7b4"
 dependencies = [
  "gccjit_sys",
 ]
@@ -43,7 +43,7 @@ dependencies = [
 [[package]]
 name = "gccjit_sys"
 version = "0.0.1"
-source = "git+https://github.com/antoyo/gccjit.rs#d6e52626cfc6f487094a5d5ac66302baf3439984"
+source = "git+https://github.com/antoyo/gccjit.rs#814eea1a0a098d08a113794225cad301622fd7b4"
 dependencies = [
  "libc",
 ]
diff --git a/build_sysroot/Cargo.toml b/build_sysroot/Cargo.toml
index a84f86a8218..dca2ffdc24b 100644
--- a/build_sysroot/Cargo.toml
+++ b/build_sysroot/Cargo.toml
@@ -2,6 +2,7 @@
 authors = ["bjorn3 <bjorn3@users.noreply.github.com>"]
 name = "sysroot"
 version = "0.0.0"
+resolver = "2"
 
 [dependencies]
 core = { path = "./sysroot_src/library/core" }
diff --git a/example/alloc_example.rs b/example/alloc_example.rs
index 754e7931412..f1954a30cf8 100644
--- a/example/alloc_example.rs
+++ b/example/alloc_example.rs
@@ -1,5 +1,6 @@
 #![feature(start, core_intrinsics, alloc_error_handler, lang_items)]
 #![no_std]
+#![allow(internal_features)]
 
 extern crate alloc;
 extern crate alloc_system;
diff --git a/example/arbitrary_self_types_pointers_and_wrappers.rs b/example/arbitrary_self_types_pointers_and_wrappers.rs
index 3af0ba09e0b..b299aa87974 100644
--- a/example/arbitrary_self_types_pointers_and_wrappers.rs
+++ b/example/arbitrary_self_types_pointers_and_wrappers.rs
@@ -2,6 +2,7 @@
 
 #![feature(arbitrary_self_types, unsize, coerce_unsized, dispatch_from_dyn)]
 #![feature(rustc_attrs)]
+#![allow(internal_features)]
 
 use std::{
     ops::{Deref, CoerceUnsized, DispatchFromDyn},
diff --git a/example/mini_core.rs b/example/mini_core.rs
index 0cd7e6047c2..58df29bb625 100644
--- a/example/mini_core.rs
+++ b/example/mini_core.rs
@@ -4,7 +4,7 @@
     thread_local
 )]
 #![no_core]
-#![allow(dead_code)]
+#![allow(dead_code, internal_features)]
 
 #[no_mangle]
 unsafe extern "C" fn _Unwind_Resume() {
diff --git a/example/mini_core_hello_world.rs b/example/mini_core_hello_world.rs
index b93d6859706..c3aea571815 100644
--- a/example/mini_core_hello_world.rs
+++ b/example/mini_core_hello_world.rs
@@ -5,7 +5,7 @@
     extern_types, thread_local
 )]
 #![no_core]
-#![allow(dead_code, non_camel_case_types)]
+#![allow(dead_code, internal_features, non_camel_case_types)]
 
 extern crate mini_core;
 
diff --git a/example/mod_bench.rs b/example/mod_bench.rs
index 5e2e7f25a2c..c60bc7fb724 100644
--- a/example/mod_bench.rs
+++ b/example/mod_bench.rs
@@ -1,5 +1,6 @@
 #![feature(start, core_intrinsics, lang_items)]
 #![no_std]
+#![allow(internal_features)]
 
 #[link(name = "c")]
 extern {}
diff --git a/rust-toolchain b/rust-toolchain
index ebb04d0069c..1b60d708007 100644
--- a/rust-toolchain
+++ b/rust-toolchain
@@ -1,3 +1,3 @@
 [toolchain]
-channel = "nightly-2023-06-19"
+channel = "nightly-2023-08-12"
 components = ["rust-src", "rustc-dev", "llvm-tools-preview"]
diff --git a/src/builder.rs b/src/builder.rs
index 0b1f2fe6a87..05318be3e1b 100644
--- a/src/builder.rs
+++ b/src/builder.rs
@@ -247,16 +247,9 @@ impl<'a, 'gcc, 'tcx> Builder<'a, 'gcc, 'tcx> {
     }
 
     fn check_store(&mut self, val: RValue<'gcc>, ptr: RValue<'gcc>) -> RValue<'gcc> {
-        let dest_ptr_ty = self.cx.val_ty(ptr).make_pointer(); // TODO(antoyo): make sure make_pointer() is okay here.
         let stored_ty = self.cx.val_ty(val);
         let stored_ptr_ty = self.cx.type_ptr_to(stored_ty);
-
-        if dest_ptr_ty == stored_ptr_ty {
-            ptr
-        }
-        else {
-            self.bitcast(ptr, stored_ptr_ty)
-        }
+        self.bitcast(ptr, stored_ptr_ty)
     }
 
     pub fn current_func(&self) -> Function<'gcc> {
@@ -916,7 +909,9 @@ impl<'a, 'gcc, 'tcx> BuilderMethods<'a, 'tcx> for Builder<'a, 'gcc, 'tcx> {
             .add_eval(None, self.context.new_call(None, atomic_store, &[ptr, value, ordering]));
     }
 
-    fn gep(&mut self, _typ: Type<'gcc>, ptr: RValue<'gcc>, indices: &[RValue<'gcc>]) -> RValue<'gcc> {
+    fn gep(&mut self, typ: Type<'gcc>, ptr: RValue<'gcc>, indices: &[RValue<'gcc>]) -> RValue<'gcc> {
+        // NOTE: due to opaque pointers now being used, we need to cast here.
+        let ptr = self.context.new_cast(None, ptr, typ.make_pointer());
         let ptr_type = ptr.get_type();
         let mut pointee_type = ptr.get_type();
         // NOTE: we cannot use array indexing here like in inbounds_gep because array indexing is