diff options
-rw-r--r-- | include/llvm/Constants.h | 3 | ||||
-rw-r--r-- | lib/VMCore/Constants.cpp | 4 |
2 files changed, 3 insertions, 4 deletions
diff --git a/include/llvm/Constants.h b/include/llvm/Constants.h index f34f9cbf58..58077f0eb2 100644 --- a/include/llvm/Constants.h +++ b/include/llvm/Constants.h @@ -644,8 +644,7 @@ public: /// /// getAlignOf constant expr - computes the alignment of a type in a target - /// independent way (Note: the return type is an i32; Note: assumes that i8 - /// is byte aligned). + /// independent way (Note: the return type is an i64). static Constant *getAlignOf(const Type* Ty); /// getSizeOf constant expr - computes the size of a type in a target diff --git a/lib/VMCore/Constants.cpp b/lib/VMCore/Constants.cpp index 9e1154e95e..1415944885 100644 --- a/lib/VMCore/Constants.cpp +++ b/lib/VMCore/Constants.cpp @@ -1484,12 +1484,12 @@ Constant* ConstantExpr::getAlignOf(const Type* Ty) { const Type *AligningTy = StructType::get(Ty->getContext(), Type::getInt1Ty(Ty->getContext()), Ty, NULL); Constant *NullPtr = Constant::getNullValue(AligningTy->getPointerTo()); - Constant *Zero = ConstantInt::get(Type::getInt32Ty(Ty->getContext()), 0); + Constant *Zero = ConstantInt::get(Type::getInt64Ty(Ty->getContext()), 0); Constant *One = ConstantInt::get(Type::getInt32Ty(Ty->getContext()), 1); Constant *Indices[2] = { Zero, One }; Constant *GEP = getGetElementPtr(NullPtr, Indices, 2); return getCast(Instruction::PtrToInt, GEP, - Type::getInt32Ty(Ty->getContext())); + Type::getInt64Ty(Ty->getContext())); } Constant* ConstantExpr::getOffsetOf(const StructType* STy, unsigned FieldNo) { |