llvm::LLVMRustDIBuilderCreateArrayType(
DIB(cx),
bytes_to_bits(array_size_in_bytes),
- bytes_to_bits(element_type_align) as u32,
+ bytes_to_bits(element_type_align),
element_type_metadata,
subscripts)
};
DIB(cx),
name.as_ptr(),
bytes_to_bits(size),
- bytes_to_bits(align) as u32,
+ bytes_to_bits(align),
encoding)
};
DIB(cx),
pointee_type_metadata,
bytes_to_bits(pointer_size),
- bytes_to_bits(pointer_align) as u32,
+ bytes_to_bits(pointer_align),
name.as_ptr())
};
return ptr_metadata;
file_metadata,
UNKNOWN_LINE_NUMBER,
bytes_to_bits(discriminant_size),
- bytes_to_bits(discriminant_align) as u32,
+ bytes_to_bits(discriminant_align),
create_DIArray(DIB(cx), &enumerators_metadata),
discriminant_base_type_metadata)
};
file_metadata,
UNKNOWN_LINE_NUMBER,
bytes_to_bits(enum_type_size),
- bytes_to_bits(enum_type_align) as u32,
+ bytes_to_bits(enum_type_align),
DIFlags::FlagZero,
ptr::null_mut(),
0, // RuntimeLang
unknown_file_metadata(cx),
UNKNOWN_LINE_NUMBER,
bytes_to_bits(member_size),
- bytes_to_bits(member_align) as u32,
+ bytes_to_bits(member_align),
bytes_to_bits(member_offset),
member_description.flags,
member_description.type_metadata)
unknown_file_metadata(cx),
UNKNOWN_LINE_NUMBER,
bytes_to_bits(struct_size),
- bytes_to_bits(struct_align) as u32,
+ bytes_to_bits(struct_align),
DIFlags::FlagZero,
ptr::null_mut(),
empty_array,
unknown_file_metadata(cx),
UNKNOWN_LINE_NUMBER,
bytes_to_bits(union_size),
- bytes_to_bits(union_align) as u32,
+ bytes_to_bits(union_align),
DIFlags::FlagZero,
empty_array,
0, // RuntimeLang
is_local_to_unit,
global,
ptr::null_mut(),
- global_align as u32,
+ global_align,
);
}
}
use syntax_pos::{self, Span};
use syntax::ast;
+use std::ops;
+
pub fn is_node_local_to_unit(cx: &CrateContext, node_id: ast::NodeId) -> bool
{
// The is_local_to_unit flag indicates whether a function is local to the
cx.sess().codemap().lookup_char_pos(span.lo)
}
-pub fn size_and_align_of(cx: &CrateContext, llvm_type: Type) -> (u64, u64) {
- (machine::llsize_of_alloc(cx, llvm_type), machine::llalign_of_min(cx, llvm_type) as u64)
+pub fn size_and_align_of(cx: &CrateContext, llvm_type: Type) -> (u64, u32) {
+ (machine::llsize_of_alloc(cx, llvm_type), machine::llalign_of_min(cx, llvm_type))
}
-pub fn bytes_to_bits(bytes: u64) -> u64 {
- bytes * 8
+pub fn bytes_to_bits<T>(bytes: T) -> T
+ where T: ops::Mul<Output=T> + From<u8> {
+ bytes * 8u8.into()
}
#[inline]