Hi Richard, I will make the change you suggested. However, the first code I committed worked on my system (MSVS) but not on many others. I don't suppose you could suggest a syntax that is more portable?
Sorry for the delayed response, Tyler On Sun, Oct 12, 2014 at 7:51 PM, Richard Smith <[email protected]> wrote: > 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
