summaryrefslogtreecommitdiffstats
path: root/test cases/unit/44 vscpp17
diff options
context:
space:
mode:
Diffstat (limited to 'test cases/unit/44 vscpp17')
-rw-r--r--test cases/unit/44 vscpp17/main.cpp29
-rw-r--r--test cases/unit/44 vscpp17/meson.build4
2 files changed, 33 insertions, 0 deletions
diff --git a/test cases/unit/44 vscpp17/main.cpp b/test cases/unit/44 vscpp17/main.cpp
new file mode 100644
index 0000000..3d07d4c
--- /dev/null
+++ b/test cases/unit/44 vscpp17/main.cpp
@@ -0,0 +1,29 @@
+#include <iostream>
+
+#if __cpp_lib_filesystem || (defined(__cplusplus) && __cplusplus >= 201703L)
+#include <filesystem>
+#endif
+
+int main(){
+
+#if __cpp_lib_filesystem || (defined(__cplusplus) && __cplusplus >= 201703L)
+char fs = std::filesystem::path::preferred_separator;
+std::cout << "OK: C++17 filesystem enabled" << std::endl;
+#endif
+
+#if defined(_MSC_VER)
+#if _HAS_CXX17
+std::cout << "OK: MSVC has C++17 enabled" << std::endl;
+return EXIT_SUCCESS;
+#else
+std::cerr << "ERROR: MSVC does not have C++17 enabled" << std::endl;
+return EXIT_FAILURE;
+#endif
+#elif defined(__cplusplus) && __cplusplus >= 201703L
+std::cout << "OK: C++17 enabled" << std::endl;
+return EXIT_SUCCESS;
+#else
+std::cerr << "ERROR: C++17 not enabled" << std::endl;
+return EXIT_FAILURE;
+#endif
+}
diff --git a/test cases/unit/44 vscpp17/meson.build b/test cases/unit/44 vscpp17/meson.build
new file mode 100644
index 0000000..afe740b
--- /dev/null
+++ b/test cases/unit/44 vscpp17/meson.build
@@ -0,0 +1,4 @@
+project('msvc_cpp17', 'cpp', default_options: ['cpp_std=c++17'])
+
+exe = executable('msvc_cpp17', 'main.cpp')
+test('msvc_cpp17', exe)