[sr-dev] Compile warnings for Kamailio core under Ubuntu 13.10

Peter Dunkley peter.dunkley at crocodilertc.net
Wed Oct 23 14:51:51 CEST 2013


GCC version is 4.8.1

I was compiling Git master on my laptop for some testing and saw these
warnings:

cfg/cfg_ctx.c: In function ‘cfg_set_now’:
cfg/cfg_ctx.c:490:5: warning: dereferencing type-punned pointer will break
strict-aliasing rules [-Wstrict-aliasing]
     group_inst = (cfg_group_inst_t *)translate_pointer((char *)new_array,
     ^
cfg/cfg_ctx.c:494:5: warning: dereferencing type-punned pointer will break
strict-aliasing rules [-Wstrict-aliasing]
     CFG_GROUP_META(block, group)->array = new_array;
     ^
cfg/cfg_ctx.c:564:4: warning: dereferencing type-punned pointer will break
strict-aliasing rules [-Wstrict-aliasing]
    if (block && (CFG_GROUP_META(block, group)->array !=
CFG_GROUP_META(*cfg_global, group)->array))
    ^
cfg/cfg_ctx.c:564:4: warning: dereferencing type-punned pointer will break
strict-aliasing rules [-Wstrict-aliasing]
cfg/cfg_ctx.c:565:5: warning: dereferencing type-punned pointer will break
strict-aliasing rules [-Wstrict-aliasing]
     new_array = CFG_GROUP_META(block, group)->array;
     ^
cfg/cfg_ctx.c:584:5: warning: dereferencing type-punned pointer will break
strict-aliasing rules [-Wstrict-aliasing]
     replaced[i] = CFG_GROUP_META(*cfg_global, group)->array;
     ^
cfg/cfg_ctx.c: In function ‘cfg_commit’:
cfg/cfg_ctx.c:1125:5: warning: dereferencing type-punned pointer will break
strict-aliasing rules [-Wstrict-aliasing]
     if (!(CFG_GROUP_META(block, group)->array =
     ^
cfg/cfg_ctx.c:1133:5: warning: dereferencing type-punned pointer will break
strict-aliasing rules [-Wstrict-aliasing]
     replaced[replaced_num] = CFG_GROUP_META(*cfg_global, group)->array;
     ^
cfg/cfg_ctx.c:1185:5: warning: dereferencing type-punned pointer will break
strict-aliasing rules [-Wstrict-aliasing]
     && (CFG_GROUP_META(block, changed->group)->array !=
CFG_GROUP_META(*cfg_global, changed->group)->array)
     ^
cfg/cfg_ctx.c:1185:5: warning: dereferencing type-punned pointer will break
strict-aliasing rules [-Wstrict-aliasing]
cfg/cfg_ctx.c:1190:5: warning: dereferencing type-punned pointer will break
strict-aliasing rules [-Wstrict-aliasing]
     replaced[replaced_num] = CFG_GROUP_META(*cfg_global, group)->array;
     ^
cfg/cfg_ctx.c:1225:4: warning: dereferencing type-punned pointer will break
strict-aliasing rules [-Wstrict-aliasing]
    if (CFG_GROUP_META(block, group)->array
    ^
cfg/cfg_ctx.c:1226:5: warning: dereferencing type-punned pointer will break
strict-aliasing rules [-Wstrict-aliasing]
     && (CFG_GROUP_META(block, group)->array != CFG_GROUP_META(*cfg_global,
group)->array)
     ^
cfg/cfg_ctx.c:1226:5: warning: dereferencing type-punned pointer will break
strict-aliasing rules [-Wstrict-aliasing]
cfg/cfg_ctx.c:1228:5: warning: dereferencing type-punned pointer will break
strict-aliasing rules [-Wstrict-aliasing]
     shm_free(CFG_GROUP_META(block, group)->array);cfg/cfg_ctx.c: In
function ‘cfg_set_now’:
cfg/cfg_ctx.c:490:5: warning: dereferencing type-punned pointer will break
strict-aliasing rules [-Wstrict-aliasing]
     group_inst = (cfg_group_inst_t *)translate_pointer((char *)new_array,
     ^
cfg/cfg_ctx.c:494:5: warning: dereferencing type-punned pointer will break
strict-aliasing rules [-Wstrict-aliasing]
     CFG_GROUP_META(block, group)->array = new_array;
     ^
cfg/cfg_ctx.c:564:4: warning: dereferencing type-punned pointer will break
strict-aliasing rules [-Wstrict-aliasing]
    if (block && (CFG_GROUP_META(block, group)->array !=
CFG_GROUP_META(*cfg_global, group)->array))
    ^
cfg/cfg_ctx.c:564:4: warning: dereferencing type-punned pointer will break
strict-aliasing rules [-Wstrict-aliasing]
cfg/cfg_ctx.c:565:5: warning: dereferencing type-punned pointer will break
strict-aliasing rules [-Wstrict-aliasing]
     new_array = CFG_GROUP_META(block, group)->array;
     ^
cfg/cfg_ctx.c:584:5: warning: dereferencing type-punned pointer will break
strict-aliasing rules [-Wstrict-aliasing]
     replaced[i] = CFG_GROUP_META(*cfg_global, group)->array;
     ^
cfg/cfg_ctx.c: In function ‘cfg_commit’:
cfg/cfg_ctx.c:1125:5: warning: dereferencing type-punned pointer will break
strict-aliasing rules [-Wstrict-aliasing]
     if (!(CFG_GROUP_META(block, group)->array =
     ^
cfg/cfg_ctx.c:1133:5: warning: dereferencing type-punned pointer will break
strict-aliasing rules [-Wstrict-aliasing]
     replaced[replaced_num] = CFG_GROUP_META(*cfg_global, group)->array;
     ^
cfg/cfg_ctx.c:1185:5: warning: dereferencing type-punned pointer will break
strict-aliasing rules [-Wstrict-aliasing]
     && (CFG_GROUP_META(block, changed->group)->array !=
CFG_GROUP_META(*cfg_global, changed->group)->array)
     ^
cfg/cfg_ctx.c:1185:5: warning: dereferencing type-punned pointer will break
strict-aliasing rules [-Wstrict-aliasing]
cfg/cfg_ctx.c:1190:5: warning: dereferencing type-punned pointer will break
strict-aliasing rules [-Wstrict-aliasing]
     replaced[replaced_num] = CFG_GROUP_META(*cfg_global, group)->array;
     ^
cfg/cfg_ctx.c:1225:4: warning: dereferencing type-punned pointer will break
strict-aliasing rules [-Wstrict-aliasing]
    if (CFG_GROUP_META(block, group)->array
    ^
cfg/cfg_ctx.c:1226:5: warning: dereferencing type-punned pointer will break
strict-aliasing rules [-Wstrict-aliasing]
     && (CFG_GROUP_META(block, group)->array != CFG_GROUP_META(*cfg_global,
group)->array)
     ^
cfg/cfg_ctx.c:1226:5: warning: dereferencing type-punned pointer will break
strict-aliasing rules [-Wstrict-aliasing]
cfg/cfg_ctx.c:1228:5: warning: dereferencing type-punned pointer will break
strict-aliasing rules [-Wstrict-aliasing]
     shm_free(CFG_GROUP_META(block, group)->array);
     ^
cfg/cfg_ctx.c: In function ‘cfg_add_group_inst’:
cfg/cfg_ctx.c:1582:2: warning: dereferencing type-punned pointer will break
strict-aliasing rules [-Wstrict-aliasing]
  CFG_GROUP_META(block, group)->array = new_array;
  ^
cfg/cfg_ctx.c:1583:2: warning: dereferencing type-punned pointer will break
strict-aliasing rules [-Wstrict-aliasing]
  CFG_GROUP_META(block, group)->num++;
  ^
cfg/cfg_ctx.c:1585:2: warning: dereferencing type-punned pointer will break
strict-aliasing rules [-Wstrict-aliasing]
  if (CFG_GROUP_META(*cfg_global, group)->array) {
  ^
cfg/cfg_ctx.c:1594:3: warning: dereferencing type-punned pointer will break
strict-aliasing rules [-Wstrict-aliasing]
   replaced[0] = CFG_GROUP_META(*cfg_global, group)->array;
   ^
cfg/cfg_ctx.c: In function ‘cfg_del_group_inst’:
cfg/cfg_ctx.c:1678:2: warning: dereferencing type-punned pointer will break
strict-aliasing rules [-Wstrict-aliasing]
  CFG_GROUP_META(block, group)->array = new_array;
  ^
cfg/cfg_ctx.c:1679:2: warning: dereferencing type-punned pointer will break
strict-aliasing rules [-Wstrict-aliasing]
  CFG_GROUP_META(block, group)->num--;
  ^
cfg/cfg_ctx.c:1681:2: warning: dereferencing type-punned pointer will break
strict-aliasing rules [-Wstrict-aliasing]
  if (CFG_GROUP_META(*cfg_global, group)->array) {
  ^
cfg/cfg_ctx.c:1692:5: warning: dereferencing type-punned pointer will break
strict-aliasing rules [-Wstrict-aliasing]
     && (*(char **)(group_inst->vars + var->offset) != NULL)
     ^
cfg/cfg_ctx.c:1710:6: warning: dereferencing type-punned pointer will break
strict-aliasing rules [-Wstrict-aliasing]
      && (*(char **)(group_inst->vars + var->offset) != NULL)
      ^
cfg/cfg_ctx.c:1712:6: warning: dereferencing type-punned pointer will break
strict-aliasing rules [-Wstrict-aliasing]
      replaced[num] = *(char **)(group_inst->vars + var->offset);
      ^
cfg/cfg_ctx.c:1718:3: warning: dereferencing type-punned pointer will break
strict-aliasing rules [-Wstrict-aliasing]
   replaced[num] = CFG_GROUP_META(*cfg_global, group)->array;
   ^

     ^
cfg/cfg_ctx.c: In function ‘cfg_add_group_inst’:
cfg/cfg_ctx.c:1582:2: warning: dereferencing type-punned pointer will break
strict-aliasing rules [-Wstrict-aliasing]
  CFG_GROUP_META(block, group)->array = new_array;
  ^
cfg/cfg_ctx.c:1583:2: warning: dereferencing type-punned pointer will break
strict-aliasing rules [-Wstrict-aliasing]
  CFG_GROUP_META(block, group)->num++;
  ^
cfg/cfg_ctx.c:1585:2: warning: dereferencing type-punned pointer will break
strict-aliasing rules [-Wstrict-aliasing]
  if (CFG_GROUP_META(*cfg_global, group)->array) {
  ^
cfg/cfg_ctx.c:1594:3: warning: dereferencing type-punned pointer will break
strict-aliasing rules [-Wstrict-aliasing]
   replaced[0] = CFG_GROUP_META(*cfg_global, group)->array;
   ^
cfg/cfg_ctx.c: In function ‘cfg_del_group_inst’:
cfg/cfg_ctx.c:1678:2: warning: dereferencing type-punned pointer will break
strict-aliasing rules [-Wstrict-aliasing]
  CFG_GROUP_META(block, group)->array = new_array;
  ^
cfg/cfg_ctx.c:1679:2: warning: dereferencing type-punned pointer will break
strict-aliasing rules [-Wstrict-aliasing]
  CFG_GROUP_META(block, group)->num--;
  ^
cfg/cfg_ctx.c:1681:2: warning: dereferencing type-punned pointer will break
strict-aliasing rules [-Wstrict-aliasing]
  if (CFG_GROUP_META(*cfg_global, group)->array) {
  ^
cfg/cfg_ctx.c:1692:5: warning: dereferencing type-punned pointer will break
strict-aliasing rules [-Wstrict-aliasing]
     && (*(char **)(group_inst->vars + var->offset) != NULL)
     ^
cfg/cfg_ctx.c:1710:6: warning: dereferencing type-punned pointer will break
strict-aliasing rules [-Wstrict-aliasing]
      && (*(char **)(group_inst->vars + var->offset) != NULL)
      ^
cfg/cfg_ctx.c:1712:6: warning: dereferencing type-punned pointer will break
strict-aliasing rules [-Wstrict-aliasing]
      replaced[num] = *(char **)(group_inst->vars + var->offset);
      ^
cfg/cfg_ctx.c:1718:3: warning: dereferencing type-punned pointer will break
strict-aliasing rules [-Wstrict-aliasing]
   replaced[num] = CFG_GROUP_META(*cfg_global, group)->array;
   ^


Regards,

Peter

-- 
Peter Dunkley
Technical Director
Crocodile RCS Ltd
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.sip-router.org/pipermail/sr-dev/attachments/20131023/0f7bb52a/attachment-0001.html>


More information about the sr-dev mailing list