Enable and require C++17 compilation

Updates build files to specify using the C++17 standard.

Add a usage of the C++17 exclusive [[maybe_unused]] attribute as a test.
Also unconditionally use <filesystem> in Reactor unit tests.

C++17 deprecates things like std::unary_function<>, which were present
in Subzero's LLVM headers, but the functionality was unused so it has
been deleted.

Bug: b/174843857
Bug: b/155971541
Change-Id: Ib167726535399b0b12751a3d93feaa9db762cd5d
Signed-off-by: Nicolas Capens <capn@google.com>
Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/51948
Tested-by: Nicolas Capens <nicolascapens@google.com>
Reviewed-by: Antonio Maiorano <amaiorano@google.com>
Kokoro-Result: kokoro <noreply+kokoro@google.com>
diff --git a/tests/ReactorUnitTests/ReactorUnitTests.cpp b/tests/ReactorUnitTests/ReactorUnitTests.cpp
index 3a42695..1f01e7c 100644
--- a/tests/ReactorUnitTests/ReactorUnitTests.cpp
+++ b/tests/ReactorUnitTests/ReactorUnitTests.cpp
@@ -20,19 +20,11 @@
 
 #include <array>
 #include <cmath>
+#include <filesystem>
 #include <fstream>
 #include <thread>
 #include <tuple>
 
-// TODO(b/174843857): Remove once we upgrade to C++17
-#if(__cplusplus >= 201703L)
-#	define HAS_STD_FILESYSTEM
-#endif
-
-#if(defined(HAS_STD_FILESYSTEM))
-#	include <filesystem>
-#endif
-
 using namespace rr;
 
 std::string testName()
@@ -3293,7 +3285,7 @@
 	EXPECT_EQ(result, expected);
 }
 
-#if defined(ENABLE_RR_EMIT_ASM_FILE) && defined(HAS_STD_FILESYSTEM)
+#if defined(ENABLE_RR_EMIT_ASM_FILE)
 TEST(ReactorUnitTests, EmitAsm)
 {
 	// Only supported by LLVM for now