forked from OSchip/llvm-project
Simplify memory management in NestedNameSpecifierLocBuilder.
With this change the memory of buffer in NestedNameSpecifierLocBuilder is allocated in one place. It also prevents from allocation of tiny blocks. llvm-svn: 213178
This commit is contained in:
parent
62a8e0639b
commit
9f81d6a482
|
@ -453,10 +453,8 @@ NestedNameSpecifierLocBuilder(const NestedNameSpecifierLocBuilder &Other)
|
|||
}
|
||||
|
||||
// Deep copy
|
||||
BufferSize = Other.BufferSize;
|
||||
BufferCapacity = Other.BufferSize;
|
||||
Buffer = static_cast<char *>(malloc(BufferCapacity));
|
||||
memcpy(Buffer, Other.Buffer, BufferSize);
|
||||
Append(Other.Buffer, Other.Buffer + Other.BufferSize, Buffer, BufferSize,
|
||||
BufferCapacity);
|
||||
}
|
||||
|
||||
NestedNameSpecifierLocBuilder &
|
||||
|
@ -492,10 +490,8 @@ operator=(const NestedNameSpecifierLocBuilder &Other) {
|
|||
}
|
||||
|
||||
// Deep copy.
|
||||
BufferSize = Other.BufferSize;
|
||||
BufferCapacity = BufferSize;
|
||||
Buffer = static_cast<char *>(malloc(BufferSize));
|
||||
memcpy(Buffer, Other.Buffer, BufferSize);
|
||||
Append(Other.Buffer, Other.Buffer + Other.BufferSize, Buffer, BufferSize,
|
||||
BufferCapacity);
|
||||
return *this;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue