From 7a9679c7fde214f964f837ec23c71fcff27e64f1 Mon Sep 17 00:00:00 2001 From: libretroadmin Date: Sat, 15 Jun 2024 06:20:19 +0200 Subject: [PATCH] Revert "(glslang) Cleanups" This reverts commit bdff6a146baacf6a21088c16909d334b08dd6036. --- .../glslang/MachineIndependent/preprocessor/Pp.cpp | 8 ++++---- .../MachineIndependent/preprocessor/PpContext.h | 1 + .../MachineIndependent/preprocessor/PpTokens.cpp | 13 ++++++++++++- 3 files changed, 17 insertions(+), 5 deletions(-) diff --git a/deps/glslang/glslang/glslang/MachineIndependent/preprocessor/Pp.cpp b/deps/glslang/glslang/glslang/MachineIndependent/preprocessor/Pp.cpp index 711dfdd775..56c55634a8 100644 --- a/deps/glslang/glslang/glslang/MachineIndependent/preprocessor/Pp.cpp +++ b/deps/glslang/glslang/glslang/MachineIndependent/preprocessor/Pp.cpp @@ -1173,7 +1173,7 @@ int TPpContext::MacroExpand(TPpToken* ppToken, bool expandUndef, bool newLineOka case PpAtomLineMacro: ppToken->ival = _parseContext.getCurrentLoc().line; snprintf(ppToken->name, sizeof(ppToken->name), "%d", ppToken->ival); - pushInput(new tUngotTokenInput(this, PpAtomConstInt, ppToken)); + UngetToken(PpAtomConstInt, ppToken); return 1; case PpAtomFileMacro: { @@ -1181,14 +1181,14 @@ int TPpContext::MacroExpand(TPpToken* ppToken, bool expandUndef, bool newLineOka _parseContext.ppRequireExtensions(ppToken->loc, 1, &E_GL_GOOGLE_cpp_style_line_directive, "filename-based __FILE__"); ppToken->ival = _parseContext.getCurrentLoc().string; strlcpy(ppToken->name, ppToken->loc.getStringNameOrNum().c_str(), sizeof(ppToken->name)); - pushInput(new tUngotTokenInput(this, PpAtomConstInt, ppToken)); + UngetToken(PpAtomConstInt, ppToken); return 1; } case PpAtomVersionMacro: ppToken->ival = _parseContext.version; snprintf(ppToken->name, sizeof(ppToken->name), "%d", ppToken->ival); - pushInput(new tUngotTokenInput(this, PpAtomConstInt, ppToken)); + UngetToken(PpAtomConstInt, ppToken); return 1; default: @@ -1223,7 +1223,7 @@ int TPpContext::MacroExpand(TPpToken* ppToken, bool expandUndef, bool newLineOka token = scanToken(ppToken); } if (token != '(') { - pushInput(new tUngotTokenInput(this, token, ppToken)); + UngetToken(token, ppToken); delete in; return 0; } diff --git a/deps/glslang/glslang/glslang/MachineIndependent/preprocessor/PpContext.h b/deps/glslang/glslang/glslang/MachineIndependent/preprocessor/PpContext.h index efc2a9df38..8bf82b52d0 100755 --- a/deps/glslang/glslang/glslang/MachineIndependent/preprocessor/PpContext.h +++ b/deps/glslang/glslang/glslang/MachineIndependent/preprocessor/PpContext.h @@ -406,6 +406,7 @@ protected: // From PpTokens.cpp // void pushTokenStreamInput(TokenStream&, bool pasting = false); + void UngetToken(int token, TPpToken*); class tTokenInput : public tInput { public: diff --git a/deps/glslang/glslang/glslang/MachineIndependent/preprocessor/PpTokens.cpp b/deps/glslang/glslang/glslang/MachineIndependent/preprocessor/PpTokens.cpp index 839bd28df4..5c887c43d3 100755 --- a/deps/glslang/glslang/glslang/MachineIndependent/preprocessor/PpTokens.cpp +++ b/deps/glslang/glslang/glslang/MachineIndependent/preprocessor/PpTokens.cpp @@ -83,6 +83,11 @@ NVIDIA HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #ifndef _CRT_SECURE_NO_WARNINGS #define _CRT_SECURE_NO_WARNINGS #endif +#if (defined(_MSC_VER) && _MSC_VER < 1900 /*vs2015*/) +#ifndef snprintf +#define snprintf sprintf_s +#endif +#endif #include #include @@ -158,7 +163,8 @@ int TPpContext::TokenStream::getSubtoken() { if (current < data.size()) return data[current++]; - return EndOfInput; + else + return EndOfInput; } // back up one position in the stream @@ -341,4 +347,9 @@ int TPpContext::tUngotTokenInput::scan(TPpToken* ppToken) return ret; } +void TPpContext::UngetToken(int token, TPpToken* ppToken) +{ + pushInput(new tUngotTokenInput(this, token, ppToken)); +} + } // end namespace glslang