-
Incident report
-
Resolution: Cannot Reproduce
-
Trivial
-
None
-
3.4.0alpha1
Continuation of ZBX-11105. Currently -Wmissing-field-initializers is the most numerous warning type when compiling trunk with -Wall -Wextra flags.
Configure command:
CFLAGS='-Wall -Wextra -g -O2' ./configure --enable-server --enable-proxy --enable-agent --with-postgresql
Warnings:
net.c: In function ‘find_tcp_port_by_state_nl’:
net.c:92:56: warning: missing initializer for field ‘msg_control’ of ‘struct msghdr’ [-Wmissing-field-initializers]
struct msghdr s_msg = { (void *)&s_sa, sizeof(struct sockaddr_nl), s_io, 1 };
^
In file included from /usr/include/x86_64-linux-gnu/sys/socket.h:38:0,
from /usr/include/netinet/in.h:23,
from /usr/include/netdb.h:27,
from ../../../../include/sysinc.h:192,
from ../../../../include/common.h:23,
from net.c:20:
/usr/include/x86_64-linux-gnu/bits/socket.h:236:11: note: ‘msg_control’ declared here
void *msg_control; /* Ancillary data (eg BSD filedesc passing). */
^
net.c:98:56: warning: missing initializer for field ‘msg_control’ of ‘struct msghdr’ [-Wmissing-field-initializers]
struct msghdr r_msg = { (void *)&r_sa, sizeof(struct sockaddr_nl), r_io, 1 };
^
In file included from /usr/include/x86_64-linux-gnu/sys/socket.h:38:0,
from /usr/include/netinet/in.h:23,
from /usr/include/netdb.h:27,
from ../../../../include/sysinc.h:192,
from ../../../../include/common.h:23,
from net.c:20:
/usr/include/x86_64-linux-gnu/bits/socket.h:236:11: note: ‘msg_control’ declared here
void *msg_control; /* Ancillary data (eg BSD filedesc passing). */
^
dbupgrade.c: In function ‘DBcreate_dbversion_table’:
dbupgrade.c:597:4: warning: missing initializer for field ‘uniq’ of ‘ZBX_TABLE {aka const struct <anonymous>}’ [-Wmissing-field-initializers]
};
^
In file included from ../../../include/db.h:26:0,
from dbupgrade.c:22:
../../../include/dbschema.h:66:14: note: ‘uniq’ declared here
const char *uniq;
^
dbupgrade_2010.c: In function ‘DBpatch_2010158’:
dbupgrade_2010.c:1314:4: warning: missing initializer for field ‘uniq’ of ‘ZBX_TABLE {aka const struct <anonymous>}’ [-Wmissing-field-initializers]
};
^
In file included from ../../../include/db.h:26:0,
from dbupgrade_2010.c:21:
../../../include/dbschema.h:66:14: note: ‘uniq’ declared here
const char *uniq;
^
dbupgrade_2010.c: In function ‘DBpatch_2010164’:
dbupgrade_2010.c:1363:4: warning: missing initializer for field ‘uniq’ of ‘ZBX_TABLE {aka const struct <anonymous>}’ [-Wmissing-field-initializers]
};
^
In file included from ../../../include/db.h:26:0,
from dbupgrade_2010.c:21:
../../../include/dbschema.h:66:14: note: ‘uniq’ declared here
const char *uniq;
^
dbupgrade_2010.c: In function ‘DBpatch_2010167’:
dbupgrade_2010.c:1395:4: warning: missing initializer for field ‘uniq’ of ‘ZBX_TABLE {aka const struct <anonymous>}’ [-Wmissing-field-initializers]
};
^
In file included from ../../../include/db.h:26:0,
from dbupgrade_2010.c:21:
../../../include/dbschema.h:66:14: note: ‘uniq’ declared here
const char *uniq;
^
dbupgrade_2010.c: In function ‘DBpatch_2010172’:
dbupgrade_2010.c:1438:4: warning: missing initializer for field ‘uniq’ of ‘ZBX_TABLE {aka const struct <anonymous>}’ [-Wmissing-field-initializers]
};
^
In file included from ../../../include/db.h:26:0,
from dbupgrade_2010.c:21:
../../../include/dbschema.h:66:14: note: ‘uniq’ declared here
const char *uniq;
^
dbupgrade_2030.c: In function ‘DBpatch_2030021’:
dbupgrade_2030.c:226:4: warning: missing initializer for field ‘uniq’ of ‘ZBX_TABLE {aka const struct <anonymous>}’ [-Wmissing-field-initializers]
};
^
In file included from ../../../include/db.h:26:0,
from dbupgrade_2030.c:21:
../../../include/dbschema.h:66:14: note: ‘uniq’ declared here
const char *uniq;
^
dbupgrade_3010.c: In function ‘DBpatch_3010026_expression_remove_values_impl’:
valuecache.c: In function ‘vc_release_space’:
valuecache.c:955:4: warning: missing initializer for field ‘weight’ of ‘zbx_vc_item_weight_t {aka struct <anonymous>}’ [-Wmissing-field-initializers]
zbx_vc_item_weight_t weight = {item};
^
valuecache.c:227:10: note: ‘weight’ declared here
double weight;
^
valuecache.c: In function ‘zbx_vc_get_value_range’:
valuecache.c:2957:4: warning: missing initializer for field ‘state’ of ‘zbx_vc_item_t {aka struct <anonymous>}’ [-Wmissing-field-initializers]
zbx_vc_item_t new_item = {itemid, value_type};
^
valuecache.c:137:16: note: ‘state’ declared here
unsigned char state;
^
valuecache.c: In function ‘zbx_vc_get_value’:
valuecache.c:3080:4: warning: missing initializer for field ‘state’ of ‘zbx_vc_item_t {aka struct <anonymous>}’ [-Wmissing-field-initializers]
zbx_vc_item_t new_item = {itemid, value_type};
^
valuecache.c:137:16: note: ‘state’ declared here
unsigned char state;
^
dbcache.c: In function ‘DCget_deltaitem’:
dbcache.c:1096:3: warning: missing initializer for field ‘timestamp’ of ‘zbx_item_history_value_t {aka struct <anonymous>}’ [-Wmissing-field-initializers]
zbx_item_history_value_t value = {item->itemid};
^
In file included from dbcache.c:25:0:
../../../include/dbcache.h:389:18: note: ‘timestamp’ declared here
zbx_timespec_t timestamp;
^
itservices.c: In function ‘its_itservice_create’:
itservices.c:164:2: warning: missing initializer for field ‘parents’ of ‘zbx_itservice_t {aka struct <anonymous>}’ [-Wmissing-field-initializers]
zbx_itservice_t itservice = {serviceid, triggerid, status, status, algorithm}, *pitservice;
^
itservices.c:57:19: note: ‘parents’ declared here
zbx_vector_ptr_t parents;
^
itservices.c:176:4: warning: missing initializer for field ‘itservices’ of ‘zbx_itservice_index_t {aka struct <anonymous>}’ [-Wmissing-field-initializers]
zbx_itservice_index_t index = {triggerid};
^
itservices.c:67:19: note: ‘itservices’ declared here
zbx_vector_ptr_t itservices;
^
housekeeper.c:144:2: warning: missing initializer for field ‘item_cache’ of ‘zbx_hk_history_rule_t {aka struct <anonymous>}’ [-Wmissing-field-initializers]
{"history", "history", &cfg.hk.history_mode, &cfg.hk.history_global, &cfg.hk.history},
^
housekeeper.c:135:17: note: ‘item_cache’ declared here
zbx_hashset_t item_cache;
^
housekeeper.c:145:2: warning: missing initializer for field ‘item_cache’ of ‘zbx_hk_history_rule_t {aka struct <anonymous>}’ [-Wmissing-field-initializers]
{"history_str", "history", &cfg.hk.history_mode, &cfg.hk.history_global, &cfg.hk.history},
^
housekeeper.c:135:17: note: ‘item_cache’ declared here
zbx_hashset_t item_cache;
^
housekeeper.c:146:2: warning: missing initializer for field ‘item_cache’ of ‘zbx_hk_history_rule_t {aka struct <anonymous>}’ [-Wmissing-field-initializers]
{"history_log", "history", &cfg.hk.history_mode, &cfg.hk.history_global, &cfg.hk.history},
^
housekeeper.c:135:17: note: ‘item_cache’ declared here
zbx_hashset_t item_cache;
^
housekeeper.c:147:2: warning: missing initializer for field ‘item_cache’ of ‘zbx_hk_history_rule_t {aka struct <anonymous>}’ [-Wmissing-field-initializers]
{"history_uint", "history", &cfg.hk.history_mode, &cfg.hk.history_global, &cfg.hk.history},
^
housekeeper.c:135:17: note: ‘item_cache’ declared here
zbx_hashset_t item_cache;
^
housekeeper.c:148:2: warning: missing initializer for field ‘item_cache’ of ‘zbx_hk_history_rule_t {aka struct <anonymous>}’ [-Wmissing-field-initializers]
{"history_text", "history", &cfg.hk.history_mode, &cfg.hk.history_global, &cfg.hk.history},
^
housekeeper.c:135:17: note: ‘item_cache’ declared here
zbx_hashset_t item_cache;
^
housekeeper.c:149:2: warning: missing initializer for field ‘item_cache’ of ‘zbx_hk_history_rule_t {aka struct <anonymous>}’ [-Wmissing-field-initializers]
{"trends", "trends", &cfg.hk.trends_mode, &cfg.hk.trends_global, &cfg.hk.trends},
^
housekeeper.c:135:17: note: ‘item_cache’ declared here
zbx_hashset_t item_cache;
^
housekeeper.c:150:2: warning: missing initializer for field ‘item_cache’ of ‘zbx_hk_history_rule_t {aka struct <anonymous>}’ [-Wmissing-field-initializers]
{"trends_uint","trends", &cfg.hk.trends_mode, &cfg.hk.trends_global, &cfg.hk.trends},
^
housekeeper.c:135:17: note: ‘item_cache’ declared here
zbx_hashset_t item_cache;
^
trapper.c: In function ‘recv_getqueue’:
trapper.c:411:6: warning: missing initializer for field ‘delay5’ of ‘zbx_queue_stats_t {aka struct <anonymous>}’ [-Wmissing-field-initializers]
zbx_queue_stats_t data = {id};
^
trapper.c:222:7: note: ‘delay5’ declared here
int delay5;
^
trapper.c:436:6: warning: missing initializer for field ‘delay5’ of ‘zbx_queue_stats_t {aka struct <anonymous>}’ [-Wmissing-field-initializers]
zbx_queue_stats_t data = {id};
^
trapper.c:222:7: note: ‘delay5’ declared here
int delay5;
^
Warning description from GCC manual provides a nice way to fix it (available since C99):
struct s { int f, g, h; };
struct s x = { .f = 3, .g = 4 };