PKGBUILDs/extra/mesa/0001-gallium-swr-simplify-environmental-variabled-expansion-code.patch
2020-02-15 19:23:48 +00:00

66 lines
2.7 KiB
Diff

From 689817c9dfde9a0852f2b2489cb0fa93ffbcb215 Mon Sep 17 00:00:00 2001
From: Krzysztof Raszkowski <krzysztof.raszkowski@intel.com>
Date: Mon, 10 Feb 2020 16:24:10 +0100
Subject: [PATCH] gallium/swr: simplify environmental variabled expansion code
There were 2 versions of code doing the same thing.
Since std::regexp are locale-sensitive better is to leave old
good way to do this.
Reviewed-by: Jan Zielinski <jan.zielinski@intel.com>
Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3761>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3761>
---
.../codegen/templates/gen_knobs.cpp | 29 -------------------
1 file changed, 29 deletions(-)
diff --git a/src/gallium/drivers/swr/rasterizer/codegen/templates/gen_knobs.cpp b/src/gallium/drivers/swr/rasterizer/codegen/templates/gen_knobs.cpp
index b073f73e3a0..194499aa1e0 100644
--- a/src/gallium/drivers/swr/rasterizer/codegen/templates/gen_knobs.cpp
+++ b/src/gallium/drivers/swr/rasterizer/codegen/templates/gen_knobs.cpp
@@ -43,9 +43,6 @@
//========================================================
void KnobBase::autoExpandEnvironmentVariables(std::string& text)
{
-#if (__GNUC__) && (GCC_VERSION < 40900)
- // <regex> isn't implemented prior to gcc-4.9.0
- // unix style variable replacement
size_t start;
while ((start = text.find("${'${'}")) != std::string::npos)
{
@@ -64,32 +61,6 @@ void KnobBase::autoExpandEnvironmentVariables(std::string& text)
const std::string var = GetEnv(text.substr(start + 1, end - start - 1));
text.replace(start, end - start + 1, var);
}
-#else
- {
- // unix style variable replacement
- static std::regex env("\\$\\{([^}]+?)\\}");
- std::smatch match;
- while (std::regex_search(text, match, env))
- {
- const std::string var = GetEnv(match[1].str());
- // certain combinations of gcc/libstd++ have problems with this
- // text.replace(match[0].first, match[0].second, var);
- text.replace(match.prefix().length(), match[0].length(), var);
- }
- }
- {
- // win32 style variable replacement
- static std::regex env("%([^%]+?)%");
- std::smatch match;
- while (std::regex_search(text, match, env))
- {
- const std::string var = GetEnv(match[1].str());
- // certain combinations of gcc/libstd++ have problems with this
- // text.replace(match[0].first, match[0].second, var);
- text.replace(match.prefix().length(), match[0].length(), var);
- }
- }
-#endif
}
//========================================================
--
2.24.1