Skip to content

Commit b4e6f70

Browse files
author
Dylan McKay
committed
[llvm] Use 32-bits for alignment
LLVM 4.0 changes this. This change is fine to make for LLVM 3.9 as we won't have alignments greater than 2^32-1.
1 parent 0648517 commit b4e6f70

File tree

4 files changed

+30
-30
lines changed

4 files changed

+30
-30
lines changed

src/librustc_llvm/ffi.rs

+10-10
Original file line numberDiff line numberDiff line change
@@ -1363,14 +1363,14 @@ extern "C" {
13631363
pub fn LLVMRustDIBuilderCreateBasicType(Builder: DIBuilderRef,
13641364
Name: *const c_char,
13651365
SizeInBits: u64,
1366-
AlignInBits: u64,
1366+
AlignInBits: u32,
13671367
Encoding: c_uint)
13681368
-> DIBasicType;
13691369

13701370
pub fn LLVMRustDIBuilderCreatePointerType(Builder: DIBuilderRef,
13711371
PointeeTy: DIType,
13721372
SizeInBits: u64,
1373-
AlignInBits: u64,
1373+
AlignInBits: u32,
13741374
Name: *const c_char)
13751375
-> DIDerivedType;
13761376

@@ -1380,7 +1380,7 @@ extern "C" {
13801380
File: DIFile,
13811381
LineNumber: c_uint,
13821382
SizeInBits: u64,
1383-
AlignInBits: u64,
1383+
AlignInBits: u32,
13841384
Flags: DIFlags,
13851385
DerivedFrom: DIType,
13861386
Elements: DIArray,
@@ -1395,7 +1395,7 @@ extern "C" {
13951395
File: DIFile,
13961396
LineNo: c_uint,
13971397
SizeInBits: u64,
1398-
AlignInBits: u64,
1398+
AlignInBits: u32,
13991399
OffsetInBits: u64,
14001400
Flags: DIFlags,
14011401
Ty: DIType)
@@ -1423,7 +1423,7 @@ extern "C" {
14231423
isLocalToUnit: bool,
14241424
Val: ValueRef,
14251425
Decl: DIDescriptor,
1426-
AlignInBits: u64)
1426+
AlignInBits: u32)
14271427
-> DIGlobalVariable;
14281428

14291429
pub fn LLVMRustDIBuilderCreateVariable(Builder: DIBuilderRef,
@@ -1436,19 +1436,19 @@ extern "C" {
14361436
AlwaysPreserve: bool,
14371437
Flags: DIFlags,
14381438
ArgNo: c_uint,
1439-
AlignInBits: u64)
1439+
AlignInBits: u32)
14401440
-> DIVariable;
14411441

14421442
pub fn LLVMRustDIBuilderCreateArrayType(Builder: DIBuilderRef,
14431443
Size: u64,
1444-
AlignInBits: u64,
1444+
AlignInBits: u32,
14451445
Ty: DIType,
14461446
Subscripts: DIArray)
14471447
-> DIType;
14481448

14491449
pub fn LLVMRustDIBuilderCreateVectorType(Builder: DIBuilderRef,
14501450
Size: u64,
1451-
AlignInBits: u64,
1451+
AlignInBits: u32,
14521452
Ty: DIType,
14531453
Subscripts: DIArray)
14541454
-> DIType;
@@ -1483,7 +1483,7 @@ extern "C" {
14831483
File: DIFile,
14841484
LineNumber: c_uint,
14851485
SizeInBits: u64,
1486-
AlignInBits: u64,
1486+
AlignInBits: u32,
14871487
Elements: DIArray,
14881488
ClassType: DIType)
14891489
-> DIType;
@@ -1494,7 +1494,7 @@ extern "C" {
14941494
File: DIFile,
14951495
LineNumber: c_uint,
14961496
SizeInBits: u64,
1497-
AlignInBits: u64,
1497+
AlignInBits: u32,
14981498
Flags: DIFlags,
14991499
Elements: DIArray,
15001500
RunTimeLang: c_uint,

src/librustc_trans/debuginfo/metadata.rs

+9-9
Original file line numberDiff line numberDiff line change
@@ -299,7 +299,7 @@ fn fixed_vec_metadata<'a, 'tcx>(cx: &CrateContext<'a, 'tcx>,
299299
llvm::LLVMRustDIBuilderCreateArrayType(
300300
DIB(cx),
301301
bytes_to_bits(array_size_in_bytes),
302-
bytes_to_bits(element_type_align),
302+
bytes_to_bits(element_type_align) as u32,
303303
element_type_metadata,
304304
subscripts)
305305
};
@@ -730,7 +730,7 @@ fn basic_type_metadata<'a, 'tcx>(cx: &CrateContext<'a, 'tcx>,
730730
DIB(cx),
731731
name.as_ptr(),
732732
bytes_to_bits(size),
733-
bytes_to_bits(align),
733+
bytes_to_bits(align) as u32,
734734
encoding)
735735
};
736736

@@ -750,7 +750,7 @@ fn pointer_type_metadata<'a, 'tcx>(cx: &CrateContext<'a, 'tcx>,
750750
DIB(cx),
751751
pointee_type_metadata,
752752
bytes_to_bits(pointer_size),
753-
bytes_to_bits(pointer_align),
753+
bytes_to_bits(pointer_align) as u32,
754754
name.as_ptr())
755755
};
756756
return ptr_metadata;
@@ -1504,7 +1504,7 @@ fn prepare_enum_metadata<'a, 'tcx>(cx: &CrateContext<'a, 'tcx>,
15041504
file_metadata,
15051505
UNKNOWN_LINE_NUMBER,
15061506
bytes_to_bits(discriminant_size),
1507-
bytes_to_bits(discriminant_align),
1507+
bytes_to_bits(discriminant_align) as u32,
15081508
create_DIArray(DIB(cx), &enumerators_metadata),
15091509
discriminant_base_type_metadata)
15101510
};
@@ -1546,7 +1546,7 @@ fn prepare_enum_metadata<'a, 'tcx>(cx: &CrateContext<'a, 'tcx>,
15461546
file_metadata,
15471547
UNKNOWN_LINE_NUMBER,
15481548
bytes_to_bits(enum_type_size),
1549-
bytes_to_bits(enum_type_align),
1549+
bytes_to_bits(enum_type_align) as u32,
15501550
DIFlags::FlagZero,
15511551
ptr::null_mut(),
15521552
0, // RuntimeLang
@@ -1648,7 +1648,7 @@ fn set_members_of_composite_type(cx: &CrateContext,
16481648
unknown_file_metadata(cx),
16491649
UNKNOWN_LINE_NUMBER,
16501650
bytes_to_bits(member_size),
1651-
bytes_to_bits(member_align),
1651+
bytes_to_bits(member_align) as u32,
16521652
bytes_to_bits(member_offset),
16531653
member_description.flags,
16541654
member_description.type_metadata)
@@ -1691,7 +1691,7 @@ fn create_struct_stub(cx: &CrateContext,
16911691
unknown_file_metadata(cx),
16921692
UNKNOWN_LINE_NUMBER,
16931693
bytes_to_bits(struct_size),
1694-
bytes_to_bits(struct_align),
1694+
bytes_to_bits(struct_align) as u32,
16951695
DIFlags::FlagZero,
16961696
ptr::null_mut(),
16971697
empty_array,
@@ -1728,7 +1728,7 @@ fn create_union_stub(cx: &CrateContext,
17281728
unknown_file_metadata(cx),
17291729
UNKNOWN_LINE_NUMBER,
17301730
bytes_to_bits(union_size),
1731-
bytes_to_bits(union_align),
1731+
bytes_to_bits(union_align) as u32,
17321732
DIFlags::FlagZero,
17331733
empty_array,
17341734
0, // RuntimeLang
@@ -1783,7 +1783,7 @@ pub fn create_global_var_metadata(cx: &CrateContext,
17831783
is_local_to_unit,
17841784
global,
17851785
ptr::null_mut(),
1786-
global_align as u64,
1786+
global_align as u32,
17871787
);
17881788
}
17891789
}

src/librustc_trans/debuginfo/mod.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -464,7 +464,7 @@ pub fn declare_local<'a, 'tcx>(bcx: &Builder<'a, 'tcx>,
464464
cx.sess().opts.optimize != config::OptLevel::No,
465465
DIFlags::FlagZero,
466466
argument_index,
467-
align as u64,
467+
align as u32,
468468
)
469469
};
470470
source_loc::set_debug_location(bcx,

src/rustllvm/RustWrapper.cpp

+10-10
Original file line numberDiff line numberDiff line change
@@ -513,7 +513,7 @@ extern "C" LLVMRustMetadataRef LLVMRustDIBuilderCreateFunction(
513513

514514
extern "C" LLVMRustMetadataRef
515515
LLVMRustDIBuilderCreateBasicType(LLVMRustDIBuilderRef Builder, const char *Name,
516-
uint64_t SizeInBits, uint64_t AlignInBits,
516+
uint64_t SizeInBits, uint32_t AlignInBits,
517517
unsigned Encoding) {
518518
return wrap(Builder->createBasicType(Name, SizeInBits,
519519
#if LLVM_VERSION_LE(3, 9)
@@ -524,15 +524,15 @@ LLVMRustDIBuilderCreateBasicType(LLVMRustDIBuilderRef Builder, const char *Name,
524524

525525
extern "C" LLVMRustMetadataRef LLVMRustDIBuilderCreatePointerType(
526526
LLVMRustDIBuilderRef Builder, LLVMRustMetadataRef PointeeTy,
527-
uint64_t SizeInBits, uint64_t AlignInBits, const char *Name) {
527+
uint64_t SizeInBits, uint32_t AlignInBits, const char *Name) {
528528
return wrap(Builder->createPointerType(unwrapDI<DIType>(PointeeTy),
529529
SizeInBits, AlignInBits, Name));
530530
}
531531

532532
extern "C" LLVMRustMetadataRef LLVMRustDIBuilderCreateStructType(
533533
LLVMRustDIBuilderRef Builder, LLVMRustMetadataRef Scope, const char *Name,
534534
LLVMRustMetadataRef File, unsigned LineNumber, uint64_t SizeInBits,
535-
uint64_t AlignInBits, LLVMRustDIFlags Flags,
535+
uint32_t AlignInBits, LLVMRustDIFlags Flags,
536536
LLVMRustMetadataRef DerivedFrom, LLVMRustMetadataRef Elements,
537537
unsigned RunTimeLang, LLVMRustMetadataRef VTableHolder,
538538
const char *UniqueId) {
@@ -546,7 +546,7 @@ extern "C" LLVMRustMetadataRef LLVMRustDIBuilderCreateStructType(
546546
extern "C" LLVMRustMetadataRef LLVMRustDIBuilderCreateMemberType(
547547
LLVMRustDIBuilderRef Builder, LLVMRustMetadataRef Scope, const char *Name,
548548
LLVMRustMetadataRef File, unsigned LineNo, uint64_t SizeInBits,
549-
uint64_t AlignInBits, uint64_t OffsetInBits, LLVMRustDIFlags Flags,
549+
uint32_t AlignInBits, uint64_t OffsetInBits, LLVMRustDIFlags Flags,
550550
LLVMRustMetadataRef Ty) {
551551
return wrap(Builder->createMemberType(unwrapDI<DIDescriptor>(Scope), Name,
552552
unwrapDI<DIFile>(File), LineNo,
@@ -573,7 +573,7 @@ extern "C" LLVMRustMetadataRef LLVMRustDIBuilderCreateStaticVariable(
573573
LLVMRustDIBuilderRef Builder, LLVMRustMetadataRef Context, const char *Name,
574574
const char *LinkageName, LLVMRustMetadataRef File, unsigned LineNo,
575575
LLVMRustMetadataRef Ty, bool IsLocalToUnit, LLVMValueRef V,
576-
LLVMRustMetadataRef Decl = nullptr, uint64_t AlignInBits = 0) {
576+
LLVMRustMetadataRef Decl = nullptr, uint32_t AlignInBits = 0) {
577577
Constant *InitVal = cast<Constant>(unwrap(V));
578578

579579
#if LLVM_VERSION_GE(4, 0)
@@ -608,7 +608,7 @@ extern "C" LLVMRustMetadataRef LLVMRustDIBuilderCreateVariable(
608608
LLVMRustDIBuilderRef Builder, unsigned Tag, LLVMRustMetadataRef Scope,
609609
const char *Name, LLVMRustMetadataRef File, unsigned LineNo,
610610
LLVMRustMetadataRef Ty, bool AlwaysPreserve, LLVMRustDIFlags Flags,
611-
unsigned ArgNo, uint64_t AlignInBits) {
611+
unsigned ArgNo, uint32_t AlignInBits) {
612612
#if LLVM_VERSION_GE(3, 8)
613613
if (Tag == 0x100) { // DW_TAG_auto_variable
614614
return wrap(Builder->createAutoVariable(
@@ -633,7 +633,7 @@ extern "C" LLVMRustMetadataRef LLVMRustDIBuilderCreateVariable(
633633

634634
extern "C" LLVMRustMetadataRef
635635
LLVMRustDIBuilderCreateArrayType(LLVMRustDIBuilderRef Builder, uint64_t Size,
636-
uint64_t AlignInBits, LLVMRustMetadataRef Ty,
636+
uint32_t AlignInBits, LLVMRustMetadataRef Ty,
637637
LLVMRustMetadataRef Subscripts) {
638638
return wrap(
639639
Builder->createArrayType(Size, AlignInBits, unwrapDI<DIType>(Ty),
@@ -642,7 +642,7 @@ LLVMRustDIBuilderCreateArrayType(LLVMRustDIBuilderRef Builder, uint64_t Size,
642642

643643
extern "C" LLVMRustMetadataRef
644644
LLVMRustDIBuilderCreateVectorType(LLVMRustDIBuilderRef Builder, uint64_t Size,
645-
uint64_t AlignInBits, LLVMRustMetadataRef Ty,
645+
uint32_t AlignInBits, LLVMRustMetadataRef Ty,
646646
LLVMRustMetadataRef Subscripts) {
647647
return wrap(
648648
Builder->createVectorType(Size, AlignInBits, unwrapDI<DIType>(Ty),
@@ -683,7 +683,7 @@ LLVMRustDIBuilderCreateEnumerator(LLVMRustDIBuilderRef Builder,
683683
extern "C" LLVMRustMetadataRef LLVMRustDIBuilderCreateEnumerationType(
684684
LLVMRustDIBuilderRef Builder, LLVMRustMetadataRef Scope, const char *Name,
685685
LLVMRustMetadataRef File, unsigned LineNumber, uint64_t SizeInBits,
686-
uint64_t AlignInBits, LLVMRustMetadataRef Elements,
686+
uint32_t AlignInBits, LLVMRustMetadataRef Elements,
687687
LLVMRustMetadataRef ClassTy) {
688688
return wrap(Builder->createEnumerationType(
689689
unwrapDI<DIDescriptor>(Scope), Name, unwrapDI<DIFile>(File), LineNumber,
@@ -694,7 +694,7 @@ extern "C" LLVMRustMetadataRef LLVMRustDIBuilderCreateEnumerationType(
694694
extern "C" LLVMRustMetadataRef LLVMRustDIBuilderCreateUnionType(
695695
LLVMRustDIBuilderRef Builder, LLVMRustMetadataRef Scope, const char *Name,
696696
LLVMRustMetadataRef File, unsigned LineNumber, uint64_t SizeInBits,
697-
uint64_t AlignInBits, LLVMRustDIFlags Flags, LLVMRustMetadataRef Elements,
697+
uint32_t AlignInBits, LLVMRustDIFlags Flags, LLVMRustMetadataRef Elements,
698698
unsigned RunTimeLang, const char *UniqueId) {
699699
return wrap(Builder->createUnionType(
700700
unwrapDI<DIDescriptor>(Scope), Name, unwrapDI<DIFile>(File), LineNumber,

0 commit comments

Comments
 (0)