From: Joel Rosdahl Date: Tue, 5 Aug 2025 08:48:18 +0000 (+0200) Subject: fix: Properly make unique temporary name in TRY_ASSIGN X-Git-Url: http://git.ipfire.org/gitweb/gitweb.cgi?a=commitdiff_plain;h=776e01ed9bc6864aa6dbf35ea5849a933fbc5c11;p=thirdparty%2Fccache.git fix: Properly make unique temporary name in TRY_ASSIGN --- diff --git a/src/ccache/util/expected.hpp b/src/ccache/util/expected.hpp index 9f79ff95..212b14c3 100644 --- a/src/ccache/util/expected.hpp +++ b/src/ccache/util/expected.hpp @@ -19,6 +19,7 @@ #pragma once #include +#include #include @@ -59,11 +60,11 @@ void throw_on_error(const T& value, std::string_view prefix); } while (false) #define TRY_ASSIGN(var_, expression_) \ - auto result_##__LINE__##_ = (expression_); \ - if (!result_##__LINE__##_) { \ - return tl::unexpected(std::move(result_##__LINE__##_.error())); \ + auto UNIQUE_VARNAME(_result_) = (expression_); \ + if (!UNIQUE_VARNAME(_result_)) { \ + return tl::unexpected(std::move(UNIQUE_VARNAME(_result_).error())); \ } \ - var_ = std::move(*result_##__LINE__##_) + var_ = std::move(*UNIQUE_VARNAME(_result_)) // --- Inline implementations ---