mirror of
https://github.com/RPCS3/llvm.git
synced 2024-12-14 07:31:53 +00:00
Don't use -1 as a value of an unsigned 7-bit enumeration; that has undefined
behavior and violates the !range constraints we put on loads of this enum. Found by clang -fsanitize=enum. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@170653 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
e8ce626308
commit
fe4ef2c2ae
@ -39,6 +39,7 @@ class ArrayRef;
|
||||
|
||||
/// Enum used to categorize the alignment types stored by LayoutAlignElem
|
||||
enum AlignTypeEnum {
|
||||
INVALID_ALIGN = 0, ///< An invalid alignment
|
||||
INTEGER_ALIGN = 'i', ///< Integer type alignment
|
||||
VECTOR_ALIGN = 'v', ///< Vector type alignment
|
||||
FLOAT_ALIGN = 'f', ///< Floating point type alignment
|
||||
|
@ -118,8 +118,7 @@ LayoutAlignElem::operator==(const LayoutAlignElem &rhs) const {
|
||||
}
|
||||
|
||||
const LayoutAlignElem
|
||||
DataLayout::InvalidAlignmentElem =
|
||||
LayoutAlignElem::get((AlignTypeEnum) -1, 0, 0, 0);
|
||||
DataLayout::InvalidAlignmentElem = LayoutAlignElem::get(INVALID_ALIGN, 0, 0, 0);
|
||||
|
||||
//===----------------------------------------------------------------------===//
|
||||
// PointerAlignElem, PointerAlign support
|
||||
|
Loading…
Reference in New Issue
Block a user