Skip to content

Commit c7680b7

Browse files
committed
Update to nightly-2021-06-14
1 parent 1b6ab01 commit c7680b7

File tree

6 files changed

+21
-117
lines changed

6 files changed

+21
-117
lines changed

rust-toolchain

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
nightly-2021-05-18
1+
nightly-2021-06-14

src/archive.rs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@ use std::path::{Path, PathBuf};
44
use rustc_session::Session;
55
use rustc_codegen_ssa::back::archive::{find_library, ArchiveBuilder};
66
use rustc_codegen_ssa::METADATA_FILENAME;
7+
use rustc_data_structures::temp_dir::MaybeTempDir;
8+
use rustc_middle::middle::cstore::DllImport;
79
use rustc_span::symbol::Symbol;
810

911
struct ArchiveConfig<'a> {
@@ -235,6 +237,10 @@ impl<'a> ArchiveBuilder<'a> for ArArchiveBuilder<'a> {
235237
self.config.sess.fatal(&format!("Ranlib exited with code {:?}", status.code()));
236238
}
237239
}
240+
241+
fn inject_dll_import_lib(&mut self, lib_name: &str, dll_imports: &[DllImport], tmpdir: &MaybeTempDir) {
242+
unimplemented!();
243+
}
238244
}
239245

240246
impl<'a> ArArchiveBuilder<'a> {

src/asm.rs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -455,6 +455,7 @@ fn reg_to_gcc(reg: InlineAsmRegOrRegClass) -> String {
455455
| InlineAsmRegClass::Arm(ArmInlineAsmRegClass::qreg_low4) => unimplemented!(),
456456
InlineAsmRegClass::Arm(ArmInlineAsmRegClass::dreg)
457457
| InlineAsmRegClass::Arm(ArmInlineAsmRegClass::qreg) => unimplemented!(),
458+
InlineAsmRegClass::Bpf(_) => unimplemented!(),
458459
InlineAsmRegClass::Hexagon(HexagonInlineAsmRegClass::reg) => unimplemented!(),
459460
InlineAsmRegClass::Mips(MipsInlineAsmRegClass::reg) => unimplemented!(),
460461
InlineAsmRegClass::Mips(MipsInlineAsmRegClass::freg) => unimplemented!(),
@@ -504,6 +505,7 @@ fn dummy_output_type<'gcc, 'tcx>(cx: &CodegenCx<'gcc, 'tcx>, reg: InlineAsmRegCl
504505
| InlineAsmRegClass::Arm(ArmInlineAsmRegClass::qreg_low4) => {
505506
unimplemented!()
506507
}
508+
InlineAsmRegClass::Bpf(_) => unimplemented!(),
507509
InlineAsmRegClass::Hexagon(HexagonInlineAsmRegClass::reg) => cx.type_i32(),
508510
InlineAsmRegClass::Mips(MipsInlineAsmRegClass::reg) => cx.type_i32(),
509511
InlineAsmRegClass::Mips(MipsInlineAsmRegClass::freg) => cx.type_f32(),
@@ -607,6 +609,7 @@ fn modifier_to_gcc(arch: InlineAsmArch, reg: InlineAsmRegClass, modifier: Option
607609
modifier
608610
}*/
609611
}
612+
InlineAsmRegClass::Bpf(_) => unimplemented!(),
610613
InlineAsmRegClass::Hexagon(_) => unimplemented!(),
611614
InlineAsmRegClass::Mips(_) => unimplemented!(),
612615
InlineAsmRegClass::Nvptx(_) => unimplemented!(),

src/builder.rs

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1373,6 +1373,16 @@ impl<'a, 'gcc, 'tcx> BuilderMethods<'a, 'tcx> for Builder<'a, 'gcc, 'tcx> {
13731373
else if value_type.is_vector().is_some() {
13741374
panic!();
13751375
}
1376+
else if let Some(pointer_type) = value_type.get_pointee() {
1377+
if let Some(struct_type) = pointer_type.is_struct() {
1378+
// NOTE: hack to workaround a limitation of the rustc API: see comment on
1379+
// CodegenCx.structs_as_pointer
1380+
aggregate_value.dereference_field(None, struct_type.get_field(idx as i32)).to_rvalue()
1381+
}
1382+
else {
1383+
panic!("Unexpected type {:?}", value_type);
1384+
}
1385+
}
13761386
else if let Some(struct_type) = value_type.is_struct() {
13771387
aggregate_value.access_field(None, struct_type.get_field(idx as i32)).to_rvalue()
13781388
}

src/lib.rs

Lines changed: 1 addition & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,6 @@ mod debuginfo;
4848
mod declare;
4949
mod intrinsic;
5050
mod mangled_std_symbols;
51-
mod metadata;
5251
mod mono_item;
5352
mod type_;
5453
mod type_of;
@@ -99,16 +98,6 @@ impl CodegenBackend for GccCodegenBackend {
9998
}
10099
}
101100

102-
fn metadata_loader(&self) -> Box<dyn MetadataLoader + Sync> {
103-
Box::new(crate::metadata::GccMetadataLoader)
104-
}
105-
106-
fn provide(&self, _providers: &mut Providers) {
107-
}
108-
109-
fn provide_extern(&self, _providers: &mut Providers) {
110-
}
111-
112101
fn codegen_crate<'tcx>(&self, tcx: TyCtxt<'tcx>, metadata: EncodedMetadata, need_metadata_module: bool) -> Box<dyn Any> {
113102
let target_cpu = target_cpu(tcx.sess);
114103
let res = codegen_crate(self.clone(), tcx, target_cpu.to_string(), metadata, need_metadata_module);
@@ -135,7 +124,7 @@ impl CodegenBackend for GccCodegenBackend {
135124
sess,
136125
&codegen_results,
137126
outputs,
138-
&codegen_results.crate_name.as_str(),
127+
&codegen_results.crate_info.local_crate_name.as_str(),
139128
);
140129
});
141130

src/metadata.rs

Lines changed: 0 additions & 104 deletions
This file was deleted.

0 commit comments

Comments
 (0)