Commit 7e95d884 by Nicolas Capens

Replace unique_ptr with a raw pointer.

Fixes Android Lollipop (and older) build failures. Change-Id: I30481a59562854b9891a2ac82ac2e7aab8ff570c Reviewed-on: https://swiftshader-review.googlesource.com/9709Tested-by: 's avatarNicolas Capens <capn@google.com> Reviewed-by: 's avatarCorentin Wallez <cwallez@google.com> Reviewed-by: 's avatarNicolas Capens <capn@google.com>
parent 9ed48bae
...@@ -60,6 +60,7 @@ MacroExpander::MacroExpander(Lexer* lexer, ...@@ -60,6 +60,7 @@ MacroExpander::MacroExpander(Lexer* lexer,
bool parseDefined) : bool parseDefined) :
mLexer(lexer), mMacroSet(macroSet), mDiagnostics(diagnostics), mParseDefined(parseDefined) mLexer(lexer), mMacroSet(macroSet), mDiagnostics(diagnostics), mParseDefined(parseDefined)
{ {
mReserveToken = nullptr;
} }
MacroExpander::~MacroExpander() MacroExpander::~MacroExpander()
...@@ -68,6 +69,8 @@ MacroExpander::~MacroExpander() ...@@ -68,6 +69,8 @@ MacroExpander::~MacroExpander()
{ {
delete mContextStack[i]; delete mContextStack[i];
} }
delete mReserveToken;
} }
void MacroExpander::lex(Token* token) void MacroExpander::lex(Token* token)
...@@ -147,10 +150,10 @@ void MacroExpander::lex(Token* token) ...@@ -147,10 +150,10 @@ void MacroExpander::lex(Token* token)
void MacroExpander::getToken(Token* token) void MacroExpander::getToken(Token* token)
{ {
if (mReserveToken.get()) if (mReserveToken)
{ {
*token = *mReserveToken; *token = *mReserveToken;
mReserveToken.reset(); delete mReserveToken;
return; return;
} }
...@@ -180,8 +183,8 @@ void MacroExpander::ungetToken(const Token& token) ...@@ -180,8 +183,8 @@ void MacroExpander::ungetToken(const Token& token)
} }
else else
{ {
assert(!mReserveToken.get()); assert(!mReserveToken);
mReserveToken.reset(new Token(token)); mReserveToken = new Token(token);
} }
} }
......
...@@ -75,7 +75,7 @@ private: ...@@ -75,7 +75,7 @@ private:
Diagnostics* mDiagnostics; Diagnostics* mDiagnostics;
const bool mParseDefined; const bool mParseDefined;
std::unique_ptr<Token> mReserveToken; Token* mReserveToken;
std::vector<MacroContext*> mContextStack; std::vector<MacroContext*> mContextStack;
}; };
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment