aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLasse Collin <lasse.collin@tukaani.org>2021-09-09 21:41:51 +0300
committerLasse Collin <lasse.collin@tukaani.org>2022-07-12 19:01:09 +0300
commitd8b294af03840c7c47d6b7b0d4c0d6d2f6357dfa (patch)
tree1a2e76e5eb868f8dd22d19b24a2df471e55144eb
parentxzdiff: Update the man page about the exit status. (diff)
downloadxz-d8b294af03840c7c47d6b7b0d4c0d6d2f6357dfa.tar.xz
liblzma: Use _MSVC_LANG to detect when "noexcept" can be used with MSVC.
By default, MSVC always sets __cplusplus to 199711L. The real C++ standard version is available in _MSVC_LANG (or one could use /Zc:__cplusplus to set __cplusplus correctly). Fixes <https://sourceforge.net/p/lzmautils/discussion/708858/thread/f6bc3b108a/>. Thanks to Dan Weiss.
-rw-r--r--src/liblzma/api/lzma.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/liblzma/api/lzma.h b/src/liblzma/api/lzma.h
index 122dab80..8fbd9a87 100644
--- a/src/liblzma/api/lzma.h
+++ b/src/liblzma/api/lzma.h
@@ -219,7 +219,8 @@
*/
#ifndef lzma_nothrow
# if defined(__cplusplus)
-# if __cplusplus >= 201103L
+# if __cplusplus >= 201103L || (defined(_MSVC_LANG) \
+ && _MSVC_LANG >= 201103L)
# define lzma_nothrow noexcept
# else
# define lzma_nothrow throw()