[sr-dev] [kamailio/kamailio] build warnings on modern dists (#2135)

sergey-safarov notifications at github.com
Mon Nov 18 19:32:45 CET 2019


### Description

On `Fedora 31` dist master build log contains this warnings
```
make --no-print-directory -C ./squirrel/squirrel SQMARCH64="-m64" CC_EXTRA_FLAGS="-fPIC" \ 
OUT="../../libsquirrel.a" sq64 
gcc -O2 -m64 -D_SQ64 -fno-exceptions -fno-rtti -Wall -fno-strict-aliasing -c sqapi.cpp sqbaselib.cpp sqfuncstate.cpp sqdebug.cpp sqlexer.cpp sqobject.cpp sqcompiler.cpp sqstate.cpp sqtable.cpp sqmem.cpp sqvm.cpp sqclass.cpp -I../include -I. -Iinclude -fPIC 
In file included from sqobject.h:5, 
                 from sqpcheader.h:17, 
                 from sqapi.cpp:4: 
squtils.h: In instantiation of 'void sqvector::remove(SQUnsignedInteger) [with T = SQObjectPtr; SQUnsignedInteger = long long unsigned int]': 
sqarray.h:83:27:   required from here 
squtils.h:97:20: warning: 'void* memmove(void*, const void*, size_t)' writing to an object of type 'struct SQObjectPtr' with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess] 
   97 |             memmove(&_vals[idx], &_vals[idx+1], sizeof(T) * (_size - idx - 1)); 
      |             ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
In file included from sqpcheader.h:17, 
                 from sqapi.cpp:4: 
sqobject.h:205:8: note: 'struct SQObjectPtr' declared here 
  205 | struct SQObjectPtr : public SQObject 
      |        ^~~~~~~~~~~ 
In file included from sqobject.h:5, 
                 from sqpcheader.h:17, 
                 from sqbaselib.cpp:4: 
squtils.h: In instantiation of 'void sqvector::remove(SQUnsignedInteger) [with T = SQObjectPtr; SQUnsignedInteger = long long unsigned int]': 
sqarray.h:83:27:   required from here 
squtils.h:97:20: warning: 'void* memmove(void*, const void*, size_t)' writing to an object of type 'struct SQObjectPtr' with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess] 
   97 |             memmove(&_vals[idx], &_vals[idx+1], sizeof(T) * (_size - idx - 1)); 
      |             ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
In file included from sqpcheader.h:17, 
                 from sqbaselib.cpp:4: 
sqobject.h:205:8: note: 'struct SQObjectPtr' declared here 
  205 | struct SQObjectPtr : public SQObject 
      |        ^~~~~~~~~~~ 
In file included from sqobject.h:5, 
                 from sqpcheader.h:17, 
                 from sqobject.cpp:4: 
squtils.h: In instantiation of 'void sqvector::remove(SQUnsignedInteger) [with T = SQObjectPtr; SQUnsignedInteger = long long unsigned int]': 
sqarray.h:83:27:   required from here 
squtils.h:97:20: warning: 'void* memmove(void*, const void*, size_t)' writing to an object of type 'struct SQObjectPtr' with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess] 
   97 |             memmove(&_vals[idx], &_vals[idx+1], sizeof(T) * (_size - idx - 1)); 
      |             ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
In file included from sqpcheader.h:17, 
                 from sqobject.cpp:4: 
sqobject.h:205:8: note: 'struct SQObjectPtr' declared here 
  205 | struct SQObjectPtr : public SQObject 
      |        ^~~~~~~~~~~ 
In file included from sqobject.h:5, 
                 from sqpcheader.h:17, 
                 from sqstate.cpp:4: 
squtils.h: In instantiation of 'void sqvector::remove(SQUnsignedInteger) [with T = SQObjectPtr; SQUnsignedInteger = long long unsigned int]': 
sqarray.h:83:27:   required from here 
squtils.h:97:20: warning: 'void* memmove(void*, const void*, size_t)' writing to an object of type 'struct SQObjectPtr' with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess] 
   97 |             memmove(&_vals[idx], &_vals[idx+1], sizeof(T) * (_size - idx - 1)); 
      |             ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
In file included from sqpcheader.h:17, 
                 from sqstate.cpp:4: 
sqobject.h:205:8: note: 'struct SQObjectPtr' declared here 
  205 | struct SQObjectPtr : public SQObject 
      |        ^~~~~~~~~~~ 
In file included from sqobject.h:5, 
                 from sqpcheader.h:17, 
                 from sqvm.cpp:4: 
squtils.h: In instantiation of 'void sqvector::remove(SQUnsignedInteger) [with T = SQObjectPtr; SQUnsignedInteger = long long unsigned int]': 
sqarray.h:83:27:   required from here 
squtils.h:97:20: warning: 'void* memmove(void*, const void*, size_t)' writing to an object of type 'struct SQObjectPtr' with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess] 
   97 |             memmove(&_vals[idx], &_vals[idx+1], sizeof(T) * (_size - idx - 1)); 
      |             ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
In file included from sqpcheader.h:17, 
                 from sqvm.cpp:4: 
sqobject.h:205:8: note: 'struct SQObjectPtr' declared here 
  205 | struct SQObjectPtr : public SQObject 
      |        ^~~~~~~~~~~ 
ar rc ../../libsquirrel.a *.o 
```


-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/issues/2135
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.kamailio.org/pipermail/sr-dev/attachments/20191118/eaefcad3/attachment.html>


More information about the sr-dev mailing list