Index: llvm/trunk/include/llvm/Object/MachOUniversal.h =================================================================== --- llvm/trunk/include/llvm/Object/MachOUniversal.h +++ llvm/trunk/include/llvm/Object/MachOUniversal.h @@ -31,6 +31,8 @@ uint32_t Magic; uint32_t NumberOfObjects; public: + static constexpr uint32_t MaxSectionAlignment = 15; /* 2**15 or 0x8000 */ + class ObjectForArch { const MachOUniversalBinary *Parent; /// Index of object in the universal binary. Index: llvm/trunk/lib/Object/MachOUniversal.cpp =================================================================== --- llvm/trunk/lib/Object/MachOUniversal.cpp +++ llvm/trunk/lib/Object/MachOUniversal.cpp @@ -155,12 +155,13 @@ ") extends past the end of the file"); return; } -#define MAXSECTALIGN 15 /* 2**15 or 0x8000 */ - if (A.getAlign() > MAXSECTALIGN) { - Err = malformedError("align (2^" + Twine(A.getAlign()) + ") too large " - "for cputype (" + Twine(A.getCPUType()) + ") cpusubtype (" + - Twine(A.getCPUSubType() & ~MachO::CPU_SUBTYPE_MASK) + - ") (maximum 2^" + Twine(MAXSECTALIGN) + ")"); + + if (A.getAlign() > MaxSectionAlignment) { + Err = malformedError("align (2^" + Twine(A.getAlign()) + + ") too large for cputype (" + Twine(A.getCPUType()) + + ") cpusubtype (" + + Twine(A.getCPUSubType() & ~MachO::CPU_SUBTYPE_MASK) + + ") (maximum 2^" + Twine(MaxSectionAlignment) + ")"); return; } if(A.getOffset() % (1 << A.getAlign()) != 0){