aboutsummaryrefslogtreecommitdiff
path: root/lib/Bytecode/Reader/Reader.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'lib/Bytecode/Reader/Reader.cpp')
-rw-r--r--lib/Bytecode/Reader/Reader.cpp14
1 files changed, 8 insertions, 6 deletions
diff --git a/lib/Bytecode/Reader/Reader.cpp b/lib/Bytecode/Reader/Reader.cpp
index 49792693dc..4cb67c3156 100644
--- a/lib/Bytecode/Reader/Reader.cpp
+++ b/lib/Bytecode/Reader/Reader.cpp
@@ -1078,16 +1078,18 @@ const Type *BytecodeReader::ParseType() {
ParamAttrsList *BytecodeReader::ParseParamAttrsList() {
unsigned NumAttrs = read_vbr_uint();
- ParamAttrsList *Attrs = 0;
+ ParamAttrsList *PAL = 0;
if (NumAttrs) {
- Attrs = new ParamAttrsList();
+ ParamAttrsVector Attrs;
+ ParamAttrsWithIndex PAWI;
while (NumAttrs--) {
- uint16_t index = read_vbr_uint();
- uint16_t attrs = read_vbr_uint();
- Attrs->addAttributes(index, attrs);
+ PAWI.index = read_vbr_uint();
+ PAWI.attrs = read_vbr_uint();
+ Attrs.push_back(PAWI);
}
+ PAL = ParamAttrsList::get(Attrs);
}
- return Attrs;
+ return PAL;
}