On Wed, May 13, 2020 at 11:52 AM Henning Westerholt <hw(a)skalatan.de> wrote:
Hello,
Just a quick note - I get the following warnings on app_sqlang with gcc
9.3.0 (Ubuntu 20.04):
henning@static:~/repositories/kamailio/src/modules/app_sqlang$ make
CC (gcc) [M app_sqlang.so] app_sqlang_api.o
CC (gcc) [M app_sqlang.so] app_sqlang_kemi_export.o
CC (gcc) [M app_sqlang.so] app_sqlang_mod.o
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<T>::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<T>::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<T>::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<T>::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<T>::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
| ^~~~~~~~~~~
--
Henning Westerholt –
https://skalatan.de/blog/
Kamailio services –
https://gilawa.com
_______________________________________________
Kamailio (SER) - Development Mailing List
sr-dev(a)lists.kamailio.org
https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-dev