mirror of
https://github.com/RGBCube/serenity
synced 2025-05-31 20:08:13 +00:00
![]() The `nonnull` attribute may delete null checks in the generated code, as per the [GCC documentation]: > The compiler may also perform optimizations based on the knowledge > that nonnul parameters cannot be null. This can currently not be > disabled other than by removing the nonnull attribute. Disassembling the function as compiled by GCC, we can see that there is no branch based on if `tv` is null. This means that `gettimeofday` would produce UB if passed a null parameter, even if we wanted to predictably return an error. Clang refuses to compile this due to a `pointer-bool-conversion` warning. In this commit, `settimeofday` is changed as well to match `gettimeofday`'s null argument handling. [GCC documentation]: https://gcc.gnu.org/onlinedocs/gcc/Common-Function-Attributes.html#index-nonnull-function-attribute |
||
---|---|---|
.. | ||
Applets | ||
Applications | ||
Demos | ||
DevTools | ||
DynamicLoader | ||
Games | ||
Libraries | ||
Services | ||
Shell | ||
Utilities | ||
CMakeLists.txt |