aboutsummaryrefslogtreecommitdiff
path: root/src/shader_recompiler/frontend/maxwell/control_flow.cpp
diff options
context:
space:
mode:
authorReinUsesLisp <reinuseslisp@airmail.cc>2021-07-12 05:22:01 -0300
committerameerj <52414509+ameerj@users.noreply.github.com>2021-07-22 21:51:40 -0400
commit2321666580d798b4a83cfa3cc9901fed44a8e10d (patch)
tree3aae336c0dc3fe65351d5e6e312a214351e2e2fc /src/shader_recompiler/frontend/maxwell/control_flow.cpp
parenta23f05c2150a257f0a3410b77c4d943914d3d6ec (diff)
shader: Avoid usage of C++20 ranges to build in clang
Diffstat (limited to 'src/shader_recompiler/frontend/maxwell/control_flow.cpp')
-rw-r--r--src/shader_recompiler/frontend/maxwell/control_flow.cpp13
1 files changed, 6 insertions, 7 deletions
diff --git a/src/shader_recompiler/frontend/maxwell/control_flow.cpp b/src/shader_recompiler/frontend/maxwell/control_flow.cpp
index e7abea82f4..1a954a509f 100644
--- a/src/shader_recompiler/frontend/maxwell/control_flow.cpp
+++ b/src/shader_recompiler/frontend/maxwell/control_flow.cpp
@@ -5,7 +5,6 @@
#include <algorithm>
#include <array>
#include <optional>
-#include <ranges>
#include <string>
#include <utility>
@@ -151,18 +150,18 @@ std::pair<Location, Stack> Stack::Pop(Token token) const {
}
std::optional<Location> Stack::Peek(Token token) const {
- const auto reverse_entries{entries | std::views::reverse};
- const auto it{std::ranges::find(reverse_entries, token, &StackEntry::token)};
- if (it == reverse_entries.end()) {
+ const auto it{std::find_if(entries.rbegin(), entries.rend(),
+ [token](const auto& entry) { return entry.token == token; })};
+ if (it == entries.rend()) {
return std::nullopt;
}
return it->target;
}
Stack Stack::Remove(Token token) const {
- const auto reverse_entries{entries | std::views::reverse};
- const auto it{std::ranges::find(reverse_entries, token, &StackEntry::token)};
- const auto pos{std::distance(reverse_entries.begin(), it)};
+ const auto it{std::find_if(entries.rbegin(), entries.rend(),
+ [token](const auto& entry) { return entry.token == token; })};
+ const auto pos{std::distance(entries.rbegin(), it)};
Stack result;
result.entries.insert(result.entries.end(), entries.begin(), entries.end() - pos - 1);
return result;