summaryrefslogtreecommitdiffstats
path: root/clang/lib/Sema/SemaExpr.cpp
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2009-02-18 06:40:38 +0000
committerChris Lattner <sabre@nondot.org>2009-02-18 06:40:38 +0000
commitf83b5afb7b482c779dc04b1fe3a92ceb6cfa54e9 (patch)
tree200bd873a2ffd50e225f201cd7e7a234c30a8082 /clang/lib/Sema/SemaExpr.cpp
parentb2809a0a1b07fa1ca9dbdab0bba5171adc7db476 (diff)
downloadbcm5719-llvm-f83b5afb7b482c779dc04b1fe3a92ceb6cfa54e9.tar.gz
bcm5719-llvm-f83b5afb7b482c779dc04b1fe3a92ceb6cfa54e9.zip
privatize all of the string literal memory allocation/creation
stuff behind a private static function. llvm-svn: 64898
Diffstat (limited to 'clang/lib/Sema/SemaExpr.cpp')
-rw-r--r--clang/lib/Sema/SemaExpr.cpp14
1 files changed, 5 insertions, 9 deletions
diff --git a/clang/lib/Sema/SemaExpr.cpp b/clang/lib/Sema/SemaExpr.cpp
index 48f338e475d..b2df86abe63 100644
--- a/clang/lib/Sema/SemaExpr.cpp
+++ b/clang/lib/Sema/SemaExpr.cpp
@@ -352,17 +352,13 @@ Sema::ActOnStringLiteral(const Token *StringToks, unsigned NumStringToks) {
StrTy = Context.getConstantArrayType(StrTy,
llvm::APInt(32, Literal.GetStringLength()+1),
ArrayType::Normal, 0);
- // Allocate enough space for the StringLiteral plus an array of locations for
- // any concatenated strings.
- void *Mem = Context.Allocate(sizeof(StringLiteral)+
- sizeof(SourceLocation)*(NumStringToks-1));
// Pass &StringTokLocs[0], StringTokLocs.size() to factory!
- return Owned(new (Mem) StringLiteral(Context, Literal.GetString(),
- Literal.GetStringLength(),
- Literal.AnyWide, StrTy,
- &StringTokLocs[0],
- StringTokLocs.size()));
+ return Owned(StringLiteral::Create(Context, Literal.GetString(),
+ Literal.GetStringLength(),
+ Literal.AnyWide, StrTy,
+ &StringTokLocs[0],
+ StringTokLocs.size()));
}
/// ShouldSnapshotBlockValueReference - Return true if a reference inside of
OpenPOWER on IntegriCloud