office-gobmx/external/graphite/enumarith.patch
Stephan Bergmann fe99cac649 external/graphite: operation between different enumeration types
> workdir/UnpackedTarball/graphite/src/Pass.cpp:197:92: error: invalid arithmetic between different enumeration types ('status_t' and 'graphite2::errors')
>   197 |                 || e.test(m_cPConstraint.status() != Code::loaded, m_cPConstraint.status() + E_CODEFAILURE))
>       |                                                                    ~~~~~~~~~~~~~~~~~~~~~~~ ^ ~~~~~~~~~~~~~

etc. as reported now with --with-latest-c++ (i.e., in C++26 mode) by Clang 18
trunk since
<1cbd52f791>
"[Clang] Implement P2864R2 Remove Deprecated Arithmetic Conversion on
Enumerations (#73105)"

Change-Id: I34b2743d46b8f46b1f39b2af812f95876e4b9e38
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160550
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de>
2023-12-11 07:58:38 +01:00

22 lines
1.4 KiB
Diff

--- src/Pass.cpp
+++ src/Pass.cpp
@@ -194,7 +194,7 @@
m_cPConstraint = vm::Machine::Code(true, pcCode, pcCode + pass_constraint_len,
precontext[0], be::peek<uint16>(sort_keys), *m_silf, face, PASS_TYPE_UNKNOWN);
if (e.test(!m_cPConstraint, E_OUTOFMEM)
- || e.test(m_cPConstraint.status() != Code::loaded, m_cPConstraint.status() + E_CODEFAILURE))
+ || e.test(m_cPConstraint.status() != Code::loaded, +m_cPConstraint.status() + E_CODEFAILURE))
return face.error(e);
face.error_context(face.error_context() - 1);
}
@@ -266,8 +266,8 @@
r->constraint = new (m_codes+n*2-1) vm::Machine::Code(true, rc_begin, rc_end, r->preContext, r->sort, *m_silf, face, pt, &prog_pool_free);
if (e.test(!r->action || !r->constraint, E_OUTOFMEM)
- || e.test(r->action->status() != Code::loaded, r->action->status() + E_CODEFAILURE)
- || e.test(r->constraint->status() != Code::loaded, r->constraint->status() + E_CODEFAILURE)
+ || e.test(r->action->status() != Code::loaded, +r->action->status() + E_CODEFAILURE)
+ || e.test(r->constraint->status() != Code::loaded, +r->constraint->status() + E_CODEFAILURE)
|| e.test(!r->constraint->immutable(), E_MUTABLECCODE))
return face.error(e);
}