aboutsummaryrefslogtreecommitdiff
path: root/Rewrite/Rewriter.cpp
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2007-11-08 04:27:23 +0000
committerChris Lattner <sabre@nondot.org>2007-11-08 04:27:23 +0000
commit74a0c77ce6cf5fbcaccbaeda35dfb2ff7c02c83e (patch)
tree2eaea3710a0dc57e7bcc9ac229d23fb8db5167c5 /Rewrite/Rewriter.cpp
parent116c08938409b23704b60dd1a78a9243e3621407 (diff)
use std::copy instead of memcpy for abstraction.
Disable rewrite-tabs. This speeds up processing of the commentified huge crazy testcase steve gave me from 20s to 6.6s in a release build. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43880 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'Rewrite/Rewriter.cpp')
-rw-r--r--Rewrite/Rewriter.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/Rewrite/Rewriter.cpp b/Rewrite/Rewriter.cpp
index f068f68ae9..5e6374e9b9 100644
--- a/Rewrite/Rewriter.cpp
+++ b/Rewrite/Rewriter.cpp
@@ -121,7 +121,8 @@ void RewriteBuffer::ReplaceText(unsigned OrigOffset, unsigned OrigLength,
assert(RealOffset+OrigLength <= Buffer.size() && "Invalid location");
// Overwrite the common piece.
- memcpy(&Buffer[RealOffset], NewStr, std::min(OrigLength, NewLength));
+ std::copy(NewStr, NewStr+std::min(OrigLength, NewLength),
+ Buffer.begin()+RealOffset);
// If replacing without shifting around, just overwrite the text.
if (OrigLength == NewLength)