On Sun, Oct 12, 2014 at 2:28 PM, Tyler Nowicki <[email protected]> wrote:
> Author: tnowicki > Date: Sun Oct 12 16:28:02 2014 > New Revision: 219590 > > URL: http://llvm.org/viewvc/llvm-project?rev=219590&view=rev > Log: > Fixed a problem in r19589. > > Several systems failed to compile the array allocation of the TokenArray. > > Modified: > cfe/trunk/lib/Parse/ParsePragma.cpp > > Modified: cfe/trunk/lib/Parse/ParsePragma.cpp > URL: > http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Parse/ParsePragma.cpp?rev=219590&r1=219589&r2=219590&view=diff > > ============================================================================== > --- cfe/trunk/lib/Parse/ParsePragma.cpp (original) > +++ cfe/trunk/lib/Parse/ParsePragma.cpp Sun Oct 12 16:28:02 2014 > @@ -1877,8 +1877,8 @@ static bool ParseLoopHintValue(Preproces > 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>()); > You should placement-new an array of Tokens here, rather than assuming that they don't need construction. > std::copy(ValueList.begin(), ValueList.end(), TokenArray); > Info.Toks = TokenArray; > Info.TokSize = ValueList.size(); > > > _______________________________________________ > cfe-commits mailing list > [email protected] > http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits >
_______________________________________________ cfe-commits mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
