Changes in directory llvm/lib/Bitcode/Reader:
BitcodeReader.cpp updated: 1.33 -> 1.34 --- Log message: encode and read param attrs along with function type. WE can now roundtrip Olden/voronoi loslessly --- Diffs of the changes: (+6 -7) BitcodeReader.cpp | 13 ++++++------- 1 files changed, 6 insertions(+), 7 deletions(-) Index: llvm/lib/Bitcode/Reader/BitcodeReader.cpp diff -u llvm/lib/Bitcode/Reader/BitcodeReader.cpp:1.33 llvm/lib/Bitcode/Reader/BitcodeReader.cpp:1.34 --- llvm/lib/Bitcode/Reader/BitcodeReader.cpp:1.33 Thu May 3 22:30:17 2007 +++ llvm/lib/Bitcode/Reader/BitcodeReader.cpp Thu May 3 22:41:34 2007 @@ -313,16 +313,15 @@ ResultTy = PointerType::get(getTypeByID(Record[0], true)); break; case bitc::TYPE_CODE_FUNCTION: { - // FUNCTION: [vararg, retty, #pararms, paramty N] - if (Record.size() < 3 || Record.size() < Record[2]+3) + // FUNCTION: [vararg, attrid, retty, #pararms, paramty N] + if (Record.size() < 4 || Record.size() < Record[3]+4) return Error("Invalid FUNCTION type record"); std::vector<const Type*> ArgTys; - for (unsigned i = 0, e = Record[2]; i != e; ++i) - ArgTys.push_back(getTypeByID(Record[3+i], true)); + for (unsigned i = 0, e = Record[3]; i != e; ++i) + ArgTys.push_back(getTypeByID(Record[4+i], true)); - // FIXME: PARAM TYS. - ResultTy = FunctionType::get(getTypeByID(Record[1], true), ArgTys, - Record[0]); + ResultTy = FunctionType::get(getTypeByID(Record[2], true), ArgTys, + Record[0], getParamAttrs(Record[1])); break; } case bitc::TYPE_CODE_STRUCT: { // STRUCT: [ispacked, #elts, eltty x N] _______________________________________________ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits