Fixed a problem in r19589.
Several systems failed to compile the array allocation of the TokenArray.
llvm-svn: 219590
diff --git a/clang/lib/Parse/ParsePragma.cpp b/clang/lib/Parse/ParsePragma.cpp
index 55919fd..7f19abf 100644
--- a/clang/lib/Parse/ParsePragma.cpp
+++ b/clang/lib/Parse/ParsePragma.cpp
@@ -1877,8 +1877,8 @@
EOFTok.setLocation(Tok.getLocation());
ValueList.push_back(EOFTok); // Terminates expression for parsing.
- Token *TokenArray =
- new (PP.getPreprocessorAllocator()) Token[ValueList.size()];
+ Token *TokenArray = (Token *)PP.getPreprocessorAllocator().Allocate(
+ ValueList.size() * sizeof(Token), llvm::alignOf<Token>());
std::copy(ValueList.begin(), ValueList.end(), TokenArray);
Info.Toks = TokenArray;
Info.TokSize = ValueList.size();