Fix PR#226: When emitting padding, always emit it as bytes. Bytes can be

placed into any alignment situation.

llvm-svn: 11247
This commit is contained in:
John Criswell 2004-02-09 22:15:33 +00:00
parent 24fa566960
commit 4dc5478fbc
1 changed files with 5 additions and 8 deletions

View File

@ -184,14 +184,11 @@ namespace {
}
void PrintZeroBytesToPad(int numBytes) {
for (/* no init */; numBytes >= 8; numBytes -= 8)
printSingleConstantValue(Constant::getNullValue(Type::ULongTy));
if (numBytes >= 4) {
printSingleConstantValue(Constant::getNullValue(Type::UIntTy));
numBytes -= 4;
}
//
// Always use single unsigned bytes for padding. We don't know upon
// what data size the beginning address is aligned, so using anything
// other than a byte may cause alignment errors in the assembler.
//
while (numBytes--)
printSingleConstantValue(Constant::getNullValue(Type::UByteTy));
}