From 4388f0b4faf6fbac0e59334653cf60da8a869755 Mon Sep 17 00:00:00 2001 From: Reid Spencer Date: Sun, 22 Apr 2007 05:46:44 +0000 Subject: For PR1146: Make ParamAttrsList objects unique. You can no longer directly create or destroy them but instead must go through the ParamAttrsList::get() interface. llvm-svn: 36327 --- llvm/lib/Bytecode/Reader/Reader.cpp | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) (limited to 'llvm/lib/Bytecode') diff --git a/llvm/lib/Bytecode/Reader/Reader.cpp b/llvm/lib/Bytecode/Reader/Reader.cpp index 49792693dcc..4cb67c31565 100644 --- a/llvm/lib/Bytecode/Reader/Reader.cpp +++ b/llvm/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; } -- cgit v1.2.3