Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
home:dziobian:gulgul-ultron:19
nodejs-electron.v3
ipcz-safe_math-Wuninitialized.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File ipcz-safe_math-Wuninitialized.patch of Package nodejs-electron.v3
Do not put an expression with side effects inside an assert, as the assert gets entirely removed in an optimized build. See it for yourself: https://godbolt.org/z/GeG4zefK9 Very safe math, indeed. --- src/third_party/ipcz/src/util/safe_math.h.old 2022-10-20 19:00:41.567140300 +0200 +++ src/third_party/ipcz/src/util/safe_math.h 2022-10-29 22:46:07.312067200 +0200 @@ -17,8 +17,8 @@ // This throws a compile-time error on evaluating the constexpr if it can be // determined at compile-time as failing, otherwise it will fail an // assertion at runtime. - ABSL_HARDENING_ASSERT( - ABSL_PREDICT_TRUE(value <= std::numeric_limits<Dst>::max())); + auto ass=ABSL_PREDICT_TRUE(value <= std::numeric_limits<Dst>::max()); + ABSL_HARDENING_ASSERT(ass); return static_cast<Dst>(value); } @@ -38,16 +38,16 @@ template <typename T> constexpr T CheckAdd(T a, T b) { T result; - ABSL_HARDENING_ASSERT( - !ABSL_PREDICT_FALSE(__builtin_add_overflow(a, b, &result))); + auto ass=!ABSL_PREDICT_FALSE(__builtin_add_overflow(a, b, &result)); + ABSL_HARDENING_ASSERT(ass); return result; } template <typename T> constexpr T CheckMul(T a, T b) { T result; - ABSL_HARDENING_ASSERT( - !ABSL_PREDICT_FALSE(__builtin_mul_overflow(a, b, &result))); + auto ass=!ABSL_PREDICT_FALSE(__builtin_mul_overflow(a, b, &result)); + ABSL_HARDENING_ASSERT(ass); return result; }
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor