On Fri, 02 Jan 2026 23:47, Pierrick Bouvier <pierrick.bouvier@linaro.org> wrote:
>C++20 deprecated such constructs.
>
>../qga/vss-win32/requester.cpp:380:32: error: bitwise operation between different enumeration types ('_VSS_SNAPSHOT_CONTEXT' and '_VSS_VOLUME_SNAPSHOT_ATTRIBUTES') is deprecated [-Werror,-Wdeprecated-enum-enum-conversion]
> 380 | ctx = VSS_CTX_APP_ROLLBACK | VSS_VOLSNAP_ATTR_TRANSPORTABLE |
>
>This is a false positive, since VSS_CTX_APP_ROLLBACK is not a value
>defined in _VSS_VOLUME_SNAPSHOT_ATTRIBUTES enum.
>
>Signed-off-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
>---
Reviewed-by: Manos Pitsidianakis <manos.pitsidianakis@linaro.org>
> qga/vss-win32/requester.cpp | 6 ++++--
> 1 file changed, 4 insertions(+), 2 deletions(-)
>
>diff --git a/qga/vss-win32/requester.cpp b/qga/vss-win32/requester.cpp
>index 5615955b6f3..74489fcd0ae 100644
>--- a/qga/vss-win32/requester.cpp
>+++ b/qga/vss-win32/requester.cpp
>@@ -377,8 +377,10 @@ void requester_freeze(int *num_vols, void *mountpoints, ErrorSet *errset)
> * To prevent the final commit (which requires to write to snapshots),
> * ATTR_NO_AUTORECOVERY and ATTR_TRANSPORTABLE are specified here.
> */
>- ctx = VSS_CTX_APP_ROLLBACK | VSS_VOLSNAP_ATTR_TRANSPORTABLE |
>- VSS_VOLSNAP_ATTR_NO_AUTORECOVERY | VSS_VOLSNAP_ATTR_TXF_RECOVERY;
>+ ctx = VSS_CTX_APP_ROLLBACK;
>+ ctx |= VSS_VOLSNAP_ATTR_TRANSPORTABLE |
>+ VSS_VOLSNAP_ATTR_NO_AUTORECOVERY |
>+ VSS_VOLSNAP_ATTR_TXF_RECOVERY;
> hr = vss_ctx.pVssbc->SetContext(ctx);
> if (hr == (HRESULT)VSS_E_UNSUPPORTED_CONTEXT) {
> /* Non-server version of Windows doesn't support ATTR_TRANSPORTABLE */
>--
>2.47.3
>