1
Fork 0

llvm-wrapper: fix warning C4244

llvm-wrapper/RustWrapper.cpp(1234): warning C4244: '=': conversion from 'uint64_t' to 'unsigned int', possible loss of data
nice consistency:

uint64_t 6009708b43/llvm/include/llvm/IR/DiagnosticInfo.h (L172)
but unsigned 6009708b43/llvm/include/llvm/IR/DiagnosticInfo.h (L1091)
This commit is contained in:
klensy 2024-02-21 12:18:59 +03:00
parent bea5bebf3d
commit 205cfcba20
4 changed files with 7 additions and 7 deletions

View file

@ -36,7 +36,7 @@ use rustc_span::InnerSpan;
use rustc_target::spec::{CodeModel, RelocModel, SanitizerSet, SplitDebuginfo, TlsModel}; use rustc_target::spec::{CodeModel, RelocModel, SanitizerSet, SplitDebuginfo, TlsModel};
use crate::llvm::diagnostic::OptimizationDiagnosticKind; use crate::llvm::diagnostic::OptimizationDiagnosticKind;
use libc::{c_char, c_int, c_uint, c_void, size_t}; use libc::{c_char, c_int, c_void, size_t};
use std::ffi::CString; use std::ffi::CString;
use std::fs; use std::fs;
use std::io::{self, Write}; use std::io::{self, Write};
@ -406,7 +406,7 @@ fn report_inline_asm(
cgcx: &CodegenContext<LlvmCodegenBackend>, cgcx: &CodegenContext<LlvmCodegenBackend>,
msg: String, msg: String,
level: llvm::DiagnosticLevel, level: llvm::DiagnosticLevel,
mut cookie: c_uint, mut cookie: u64,
source: Option<(String, Vec<InnerSpan>)>, source: Option<(String, Vec<InnerSpan>)>,
) { ) {
// In LTO build we may get srcloc values from other crates which are invalid // In LTO build we may get srcloc values from other crates which are invalid
@ -420,7 +420,7 @@ fn report_inline_asm(
llvm::DiagnosticLevel::Warning => Level::Warning, llvm::DiagnosticLevel::Warning => Level::Warning,
llvm::DiagnosticLevel::Note | llvm::DiagnosticLevel::Remark => Level::Note, llvm::DiagnosticLevel::Note | llvm::DiagnosticLevel::Remark => Level::Note,
}; };
cgcx.diag_emitter.inline_asm_error(cookie as u32, msg, level, source); cgcx.diag_emitter.inline_asm_error(cookie.try_into().unwrap(), msg, level, source);
} }
unsafe extern "C" fn diagnostic_handler(info: &DiagnosticInfo, user: *mut c_void) { unsafe extern "C" fn diagnostic_handler(info: &DiagnosticInfo, user: *mut c_void) {

View file

@ -123,7 +123,7 @@ impl SrcMgrDiagnostic {
#[derive(Clone)] #[derive(Clone)]
pub struct InlineAsmDiagnostic { pub struct InlineAsmDiagnostic {
pub level: super::DiagnosticLevel, pub level: super::DiagnosticLevel,
pub cookie: c_uint, pub cookie: u64,
pub message: String, pub message: String,
pub source: Option<(String, Vec<InnerSpan>)>, pub source: Option<(String, Vec<InnerSpan>)>,
} }
@ -149,7 +149,7 @@ impl InlineAsmDiagnostic {
let smdiag = SrcMgrDiagnostic::unpack(super::LLVMRustGetSMDiagnostic(di, &mut cookie)); let smdiag = SrcMgrDiagnostic::unpack(super::LLVMRustGetSMDiagnostic(di, &mut cookie));
InlineAsmDiagnostic { InlineAsmDiagnostic {
level: smdiag.level, level: smdiag.level,
cookie, cookie: cookie.into(),
message: smdiag.message, message: smdiag.message,
source: smdiag.source, source: smdiag.source,
} }

View file

@ -2254,7 +2254,7 @@ extern "C" {
pub fn LLVMRustUnpackInlineAsmDiagnostic<'a>( pub fn LLVMRustUnpackInlineAsmDiagnostic<'a>(
DI: &'a DiagnosticInfo, DI: &'a DiagnosticInfo,
level_out: &mut DiagnosticLevel, level_out: &mut DiagnosticLevel,
cookie_out: &mut c_uint, cookie_out: &mut u64,
message_out: &mut Option<&'a Twine>, message_out: &mut Option<&'a Twine>,
); );

View file

@ -1225,7 +1225,7 @@ enum class LLVMRustDiagnosticLevel {
extern "C" void extern "C" void
LLVMRustUnpackInlineAsmDiagnostic(LLVMDiagnosticInfoRef DI, LLVMRustUnpackInlineAsmDiagnostic(LLVMDiagnosticInfoRef DI,
LLVMRustDiagnosticLevel *LevelOut, LLVMRustDiagnosticLevel *LevelOut,
unsigned *CookieOut, uint64_t *CookieOut,
LLVMTwineRef *MessageOut) { LLVMTwineRef *MessageOut) {
// Undefined to call this not on an inline assembly diagnostic! // Undefined to call this not on an inline assembly diagnostic!
llvm::DiagnosticInfoInlineAsm *IA = llvm::DiagnosticInfoInlineAsm *IA =