From c8c9d7de0395fa7384ae823d5ee3bebdb310a172 Mon Sep 17 00:00:00 2001 From: Ben Boeckel Date: Tue, 17 May 2022 14:22:01 -0400 Subject: clang-tidy: fix `bugprone-exception-escape` lints --- Source/cmListFileCache.h | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/Source/cmListFileCache.h b/Source/cmListFileCache.h index f7c2509..0553989 100644 --- a/Source/cmListFileCache.h +++ b/Source/cmListFileCache.h @@ -110,16 +110,22 @@ public: cm::optional DeferId; cmListFileContext() = default; - cmListFileContext(cmListFileContext&& /*other*/) = default; + // This move constructor is marked `noexcept` yet `clang-tidy` 14 reports it + // as being able to throw an exception. Suppress the warning as there doesn't + // seem to be any way for this to happen given the member types. + // NOLINTNEXTLINE(bugprone-exception-escape) + cmListFileContext(cmListFileContext&& /*other*/) noexcept = default; cmListFileContext(const cmListFileContext& /*other*/) = default; cmListFileContext& operator=(const cmListFileContext& /*other*/) = default; #if __cplusplus >= 201703L || (defined(_MSVC_LANG) && _MSVC_LANG >= 201703L) - cmListFileContext& operator=(cmListFileContext&& /*other*/) = default; + cmListFileContext& operator=(cmListFileContext&& /*other*/) noexcept = + default; #else // The move assignment operators for several STL classes did not become // noexcept until C++17, which causes some tools to warn about this move // assignment operator throwing an exception when it shouldn't. - cmListFileContext& operator=(cmListFileContext&& /*other*/) = delete; + cmListFileContext& operator=(cmListFileContext&& /*other*/) noexcept = + delete; #endif cmListFileContext(std::string name, std::string filePath, long line) -- cgit v0.12