dbus build error when using -DENABLE_WERROR=1 with cmake build system for Windows
With !261 (merged), all warnings are now treated as errors and result in the following build errors:
/home/xxx/src/dbus-4/test/test-segfault.c: In function 'main':
/home/xxx/src/dbus-4/test/test-segfault.c:21:6: error: null pointer dereference [-Werror=null-dereference]
21 | *p = 'a';
| ~~~^~~~~
cc1: all warnings being treated as errors
-> covered by !275 (merged)
In file included from /home/xxx/src/dbus-4/dbus/dbus-list.h:27,
from /home/xxx/src/dbus-4/dbus/dbus-auth.c:27:
/home/xxx/src/dbus-4/dbus/dbus-auth.c: In function 'handle_client_data_cookie_sha1_mech':
/home/xxx/src/dbus-4/./dbus/dbus-internals.h:216:1: error: inlining failed in call to '_dbus_assert_error_is_set.constprop': call is unlikely and code size would grow [-Werror=inline]
216 | _dbus_assert_error_is_set (const DBusError *error,
| ^~~~~~~~~~~~~~~~~~~~~~~~~
/home/xxx/src/dbus-4/./dbus/dbus-internals.h:250:42: note: called from here
250 | #define _DBUS_ASSERT_ERROR_IS_SET(error) _dbus_assert_error_is_set (error, __FILE__, __LINE__, _DBUS_FUNCTION_NAME)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/xxx/src/dbus-4/./dbus/dbus-internals.h:250:42: note: in definition of macro '_DBUS_ASSERT_ERROR_IS_SET'
250 | #define _DBUS_ASSERT_ERROR_IS_SET(error) _dbus_assert_error_is_set (error, __FILE__, __LINE__, _DBUS_FUNCTION_NAME)
| ^~~~~~~~~~~~~~~~~~~~~~~~~
/home/xxx/src/dbus-4/./dbus/dbus-internals.h:216:1: error: inlining failed in call to '_dbus_assert_error_is_set.constprop': call is unlikely and code size would grow [-Werror=inline]
216 | _dbus_assert_error_is_set (const DBusError *error,
| ^~~~~~~~~~~~~~~~~~~~~~~~~
/home/xxx/src/dbus-4/./dbus/dbus-internals.h:250:42: note: called from here
250 | #define _DBUS_ASSERT_ERROR_IS_SET(error) _dbus_assert_error_is_set (error, __FILE__, __LINE__, _DBUS_FUNCTION_NAME)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/xxx/src/dbus-4/./dbus/dbus-internals.h:250:42: note: in definition of macro '_DBUS_ASSERT_ERROR_IS_SET'
250 | #define _DBUS_ASSERT_ERROR_IS_SET(error) _dbus_assert_error_is_set (error, __FILE__, __LINE__, _DBUS_FUNCTION_NAME)
| ^~~~~~~~~~~~~~~~~~~~~~~~~
-> covered by !275 (merged)
/home/xxx/src/dbus-4/./dbus/dbus-internals.h:216:1: error: inlining failed in call to '_dbus_assert_error_is_set.constprop': call is unlikely and code size would grow [-Werror=inline]
216 | _dbus_assert_error_is_set (const DBusError *error,
| ^~~~~~~~~~~~~~~~~~~~~~~~~
/home/xxx/src/dbus-4/./dbus/dbus-internals.h:250:42: note: called from here
250 | #define _DBUS_ASSERT_ERROR_IS_SET(error) _dbus_assert_error_is_set (error, __FILE__, __LINE__, _DBUS_FUNCTION_NAME)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/xxx/src/dbus-4/./dbus/dbus-internals.h:250:42: note: in definition of macro '_DBUS_ASSERT_ERROR_IS_SET'
250 | #define _DBUS_ASSERT_ERROR_IS_SET(error) _dbus_assert_error_is_set (error, __FILE__, __LINE__, _DBUS_FUNCTION_NAME)
| ^~~~~~~~~~~~~~~~~~~~~~~~~
-> covered by !275 (merged)
/home/xxx/src/dbus-4/dbus/dbus-message.c: In function 'dbus_message_new_empty_header':
/builds/rhabacker/dbus/dbus/dbus-message.c:1268:19: warning: potential null pointer dereference [-Wnull-dereference]
1268 | message->locked = FALSE;
/builds/rhabacker/dbus/dbus/dbus-message.c:1270:21: warning: potential null pointer dereference [-Wnull-dereference]
1270 | message->in_cache = FALSE;
/builds/rhabacker/dbus/dbus/dbus-message.c:1272:21: warning: potential null pointer dereference [-Wnull-dereference]
1272 | message->counters = NULL;
| ^
/builds/rhabacker/dbus/dbus/dbus-message.c:1273:31: warning: potential null pointer dereference [-Wnull-dereference]
1273 | message->size_counter_delta = 0;
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
/builds/rhabacker/dbus/dbus/dbus-message.c:1274:26: warning: potential null pointer dereference [-Wnull-dereference]
1274 | message->changed_stamp = 0;
| ~~~~~~~~~~~~~~~~~~~~~~~^~~
In file included from /builds/rhabacker/dbus/dbus/dbus-message.c:26:
/builds/rhabacker/dbus/dbus/dbus-message.c:584:24: warning: potential null pointer dereference [-Wnull-dereference]
584 | _dbus_assert (message->counters == NULL);
| ~~~~~~~^~~~~~~~~~
584 | _dbus_assert (message->counters == NULL);
| ~~~~~~~^~~~~~~~~~
-> still open; reduced from [-Werror=null-dereference]
/home/xxx/src/dbus-4/test/internals/dbus-marshal-recursive-util.c:2634:24: error: dereferencing type-punned pointer will break strict-aliasing rules [-Werror=strict-aliasing]
2634 | *(dbus_uint64_t*)(char*)&expected,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/xxx/src/dbus-4/test/internals/dbus-marshal-recursive-util.c:2635:24: error: dereferencing type-punned pointer will break strict-aliasing rules [-Werror=strict-aliasing]
2635 | *(dbus_uint64_t*)(char*)&v);
| ^~~~~~~~~~~~~~~~~~~~~~~~~
Scanning dependencies of target test-atomic
make[2]: Verzeichnis „/home/xxx/src/dbus-4-cmake-mingw32-build“ wird verlassen
-> covered by !275 (merged)
make -f test/CMakeFiles/test-atomic.dir/build.make test/CMakeFiles/test-atomic.dir/build
/home/xxx/src/dbus-4/bus/services.c: In function 'bus_service_swap_owner':
/home/xxx/src/dbus-4/bus/services.c:1086:17: error: potential null pointer dereference [-Werror=null-dereference]
1086 | new_owner = (BusOwner *)link->data;
| ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
make[2]: Verzeichnis „/home/xxx/src/dbus-4-cmake-mingw32-build“ wird betreten
/home/xxx/src/dbus-4/bus/services.c: In function 'bus_service_remove_owner':
/home/xxx/src/dbus-4/bus/services.c:1151:18: error: potential null pointer dereference [-Werror=null-dereference]
1151 | temp_owner = (BusOwner *)link->data;
| ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
/home/xxx/src/dbus-4/bus/services.c:1151:18: error: potential null pointer dereference [-Werror=null-dereference]
/home/xxx/src/dbus-4/bus/services.c:1180:17: error: potential null pointer dereference [-Werror=null-dereference]
1180 | new_owner = (BusOwner *)link->data;
| ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
-> covered by !275 (merged)
/home/xxx/src/dbus-4/test/internals/dbus-string-util.c: In function '_dbus_string_test':
/home/xxx/src/dbus-4/test/internals/dbus-string-util.c:749:10: error: dereferencing type-punned pointer will break strict-aliasing rules [-Werror=strict-aliasing]
749 | if (((DBusRealString *)&str)->allocated > 30)
| ~^~~~~~~~~~~~~~~~~~~~~~~
-> covered by !275 (merged)
How to reproduce:
- checkout the branch from merge request !192 (merged)
- reset the branch to commit !192 (996154cd)
- Push to a branch on a local dbus fork on gitlab CI to start building
- inspect build logs