Author: d0k Date: Wed Aug 5 04:39:57 2015 New Revision: 244024 URL: http://llvm.org/viewvc/llvm-project?rev=244024&view=rev Log: [Parse] ArrayRefize PragmaLoopHintInfo. No functionality change.
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=244024&r1=244023&r2=244024&view=diff ============================================================================== --- cfe/trunk/lib/Parse/ParsePragma.cpp (original) +++ cfe/trunk/lib/Parse/ParsePragma.cpp Wed Aug 5 04:39:57 2015 @@ -745,9 +745,7 @@ bool Parser::HandlePragmaMSInitSeg(Strin struct PragmaLoopHintInfo { Token PragmaName; Token Option; - Token *Toks; - size_t TokSize; - PragmaLoopHintInfo() : Toks(nullptr), TokSize(0) {} + ArrayRef<Token> Toks; }; static std::string PragmaLoopHintString(Token PragmaName, Token Option) { @@ -780,8 +778,8 @@ bool Parser::HandlePragmaLoopHint(LoopHi Hint.OptionLoc = IdentifierLoc::create( Actions.Context, Info->Option.getLocation(), OptionInfo); - Token *Toks = Info->Toks; - size_t TokSize = Info->TokSize; + const Token *Toks = Info->Toks.data(); + size_t TokSize = Info->Toks.size(); // Return a valid hint if pragma unroll or nounroll were specified // without an argument. @@ -1928,11 +1926,7 @@ static bool ParseLoopHintValue(Preproces EOFTok.setLocation(Tok.getLocation()); ValueList.push_back(EOFTok); // Terminates expression for parsing. - 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(); + Info.Toks = llvm::makeArrayRef(ValueList).copy(PP.getPreprocessorAllocator()); Info.PragmaName = PragmaName; Info.Option = Option; _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits