Replace unique_ptr with a raw pointer. Fixes Android Lollipop (and older) build failures. Change-Id: I30481a59562854b9891a2ac82ac2e7aab8ff570c Reviewed-on: https://swiftshader-review.googlesource.com/9709 Tested-by: Nicolas Capens <capn@google.com> Reviewed-by: Corentin Wallez <cwallez@google.com> Reviewed-by: Nicolas Capens <capn@google.com>
diff --git a/src/OpenGL/compiler/preprocessor/MacroExpander.cpp b/src/OpenGL/compiler/preprocessor/MacroExpander.cpp index 31c14e4..d71562a 100644 --- a/src/OpenGL/compiler/preprocessor/MacroExpander.cpp +++ b/src/OpenGL/compiler/preprocessor/MacroExpander.cpp
@@ -60,6 +60,7 @@ bool parseDefined) : mLexer(lexer), mMacroSet(macroSet), mDiagnostics(diagnostics), mParseDefined(parseDefined) { + mReserveToken = nullptr; } MacroExpander::~MacroExpander() @@ -68,6 +69,8 @@ { delete mContextStack[i]; } + + delete mReserveToken; } void MacroExpander::lex(Token* token) @@ -147,10 +150,10 @@ void MacroExpander::getToken(Token* token) { - if (mReserveToken.get()) + if (mReserveToken) { *token = *mReserveToken; - mReserveToken.reset(); + delete mReserveToken; return; } @@ -180,8 +183,8 @@ } else { - assert(!mReserveToken.get()); - mReserveToken.reset(new Token(token)); + assert(!mReserveToken); + mReserveToken = new Token(token); } }
diff --git a/src/OpenGL/compiler/preprocessor/MacroExpander.h b/src/OpenGL/compiler/preprocessor/MacroExpander.h index 92d275d..c8c3920 100644 --- a/src/OpenGL/compiler/preprocessor/MacroExpander.h +++ b/src/OpenGL/compiler/preprocessor/MacroExpander.h
@@ -75,7 +75,7 @@ Diagnostics* mDiagnostics; const bool mParseDefined; - std::unique_ptr<Token> mReserveToken; + Token* mReserveToken; std::vector<MacroContext*> mContextStack; };