|
|
@@ -69,8 +69,9 @@
|
|
|
#define GLM_LANG_CXX14_FLAG (1 << 5)
|
|
|
#define GLM_LANG_CXX17_FLAG (1 << 6)
|
|
|
#define GLM_LANG_CXX20_FLAG (1 << 7)
|
|
|
-#define GLM_LANG_CXXMS_FLAG (1 << 8)
|
|
|
-#define GLM_LANG_CXXGNU_FLAG (1 << 9)
|
|
|
+#define GLM_LANG_CXX23_FLAG (1 << 8)
|
|
|
+#define GLM_LANG_CXXMS_FLAG (1 << 9)
|
|
|
+#define GLM_LANG_CXXGNU_FLAG (1 << 10)
|
|
|
|
|
|
#define GLM_LANG_CXX98 GLM_LANG_CXX98_FLAG
|
|
|
#define GLM_LANG_CXX03 (GLM_LANG_CXX98 | GLM_LANG_CXX03_FLAG)
|
|
|
@@ -79,6 +80,7 @@
|
|
|
#define GLM_LANG_CXX14 (GLM_LANG_CXX11 | GLM_LANG_CXX14_FLAG)
|
|
|
#define GLM_LANG_CXX17 (GLM_LANG_CXX14 | GLM_LANG_CXX17_FLAG)
|
|
|
#define GLM_LANG_CXX20 (GLM_LANG_CXX17 | GLM_LANG_CXX20_FLAG)
|
|
|
+#define GLM_LANG_CXX23 (GLM_LANG_CXX20 | GLM_LANG_CXX23_FLAG)
|
|
|
#define GLM_LANG_CXXMS GLM_LANG_CXXMS_FLAG
|
|
|
#define GLM_LANG_CXXGNU GLM_LANG_CXXGNU_FLAG
|
|
|
|
|
|
@@ -113,7 +115,11 @@
|
|
|
# define GLM_LANG_PLATFORM 0
|
|
|
# endif
|
|
|
|
|
|
-# if __cplusplus > 201703L || GLM_LANG_PLATFORM > 201703L
|
|
|
+# if __cplusplus > 202302L || GLM_LANG_PLATFORM > 202302L
|
|
|
+# define GLM_LANG (GLM_LANG_CXX23 | GLM_LANG_EXT)
|
|
|
+# elif __cplusplus == 202302L || GLM_LANG_PLATFORM == 202302L
|
|
|
+# define GLM_LANG (GLM_LANG_CXX23 | GLM_LANG_EXT)
|
|
|
+# elif __cplusplus == 202002L || GLM_LANG_PLATFORM == 202002L
|
|
|
# define GLM_LANG (GLM_LANG_CXX20 | GLM_LANG_EXT)
|
|
|
# elif __cplusplus == 201703L || GLM_LANG_PLATFORM == 201703L
|
|
|
# define GLM_LANG (GLM_LANG_CXX17 | GLM_LANG_EXT)
|
|
|
@@ -625,7 +631,11 @@ namespace detail
|
|
|
# pragma message ("GLM: version " GLM_STR(GLM_VERSION_MAJOR) "." GLM_STR(GLM_VERSION_MINOR) "." GLM_STR(GLM_VERSION_PATCH))
|
|
|
|
|
|
// Report C++ language
|
|
|
-# if (GLM_LANG & GLM_LANG_CXX20_FLAG) && (GLM_LANG & GLM_LANG_EXT)
|
|
|
+# if (GLM_LANG & GLM_LANG_CXX23_FLAG) && (GLM_LANG & GLM_LANG_EXT)
|
|
|
+# pragma message("GLM: C++ 23 with extensions")
|
|
|
+# elif (GLM_LANG & GLM_LANG_CXX23_FLAG)
|
|
|
+# pragma message("GLM: C++ 23")
|
|
|
+# elif (GLM_LANG & GLM_LANG_CXX20_FLAG) && (GLM_LANG & GLM_LANG_EXT)
|
|
|
# pragma message("GLM: C++ 20 with extensions")
|
|
|
# elif (GLM_LANG & GLM_LANG_CXX20_FLAG)
|
|
|
# pragma message("GLM: C++ 20")
|