diff options
| author | Chris Lattner <sabre@nondot.org> | 2009-02-18 06:40:38 +0000 |
|---|---|---|
| committer | Chris Lattner <sabre@nondot.org> | 2009-02-18 06:40:38 +0000 |
| commit | f83b5afb7b482c779dc04b1fe3a92ceb6cfa54e9 (patch) | |
| tree | 200bd873a2ffd50e225f201cd7e7a234c30a8082 /clang/lib/Sema/SemaExpr.cpp | |
| parent | b2809a0a1b07fa1ca9dbdab0bba5171adc7db476 (diff) | |
| download | bcm5719-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.cpp | 14 |
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 |

