From bf2956d77ab0ad06c4b5505cc9906e51e5878274 Mon Sep 17 00:00:00 2001
From: ReinUsesLisp <reinuseslisp@airmail.cc>
Date: Mon, 12 Jul 2021 05:22:01 -0300
Subject: shader: Avoid usage of C++20 ranges to build in clang

---
 src/shader_recompiler/frontend/maxwell/control_flow.cpp | 13 ++++++-------
 1 file changed, 6 insertions(+), 7 deletions(-)

(limited to 'src/shader_recompiler/frontend/maxwell/control_flow.cpp')

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;
-- 
cgit v1.2.3-70-g09d2