From: Tyler Nowicki Date: Sun, 12 Oct 2014 21:28:02 +0000 (+0000) Subject: Fixed a problem in r19589. X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=cd8b6238ced6c6a4ba6419797f39324484601b61;p=clang Fixed a problem in r19589. Several systems failed to compile the array allocation of the TokenArray. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@219590 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Parse/ParsePragma.cpp b/lib/Parse/ParsePragma.cpp index 55919fd50b..7f19abf89e 100644 --- a/lib/Parse/ParsePragma.cpp +++ b/lib/Parse/ParsePragma.cpp @@ -1877,8 +1877,8 @@ static bool ParseLoopHintValue(Preprocessor &PP, Token &Tok, Token PragmaName, 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()); std::copy(ValueList.begin(), ValueList.end(), TokenArray); Info.Toks = TokenArray; Info.TokSize = ValueList.size();