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.comhttps://gilawa.com/
Could you try look https://github.com/kamailio/kamailio/issues/2135
On Wed, May 13, 2020 at 11:52 AM Henning Westerholt hw@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@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-dev
Thanks Sergey, did not remembered this one.
From: sr-dev sr-dev-bounces@lists.kamailio.org On Behalf Of Sergey Safarov Sent: Wednesday, May 13, 2020 12:02 PM To: Kamailio (SER) - Development Mailing List sr-dev@lists.kamailio.org Subject: Re: [sr-dev] warnings with gcc 9.3 on app_sqlang ,squirrel
Could you try look https://github.com/kamailio/kamailio/issues/2135
On Wed, May 13, 2020 at 11:52 AM Henning Westerholt <hw@skalatan.demailto:hw@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.comhttps://gilawa.com/
_______________________________________________ Kamailio (SER) - Development Mailing List sr-dev@lists.kamailio.orgmailto:sr-dev@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-dev
Hello,
as I wrote in the reffered issue tracker, if people find it inconvenient to see these warnings, we can remove the module from the default compile group of modules as well as skip it from packaging.
But I still want to have it with the squirrel code embedded as I run some tests on a few very small devices where there is no lib for the interpreter. Also, I do not want to fix those warnings in our clone of code, if someone wants to do it, should push it to the squirrel lang project and once merging there we can sync back in our clone.
This is also applicable to app_jsdt, where we embed the duktape interpreter code, but that project is explicitly saying the goal is to get the source code in the host app directly, no lib being planned (or at list it was doing that way, everything being in one c file).
Cheers, Daniel
On 13.05.20 12:10, Henning Westerholt wrote:
Thanks Sergey, did not remembered this one.
*From:*sr-dev sr-dev-bounces@lists.kamailio.org *On Behalf Of *Sergey Safarov *Sent:* Wednesday, May 13, 2020 12:02 PM *To:* Kamailio (SER) - Development Mailing List sr-dev@lists.kamailio.org *Subject:* Re: [sr-dev] warnings with gcc 9.3 on app_sqlang ,squirrel
Could you try look https://github.com/kamailio/kamailio/issues/2135
On Wed, May 13, 2020 at 11:52 AM Henning Westerholt <hw@skalatan.de mailto:hw@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 <https://gilawa.com/> _______________________________________________ Kamailio (SER) - Development Mailing List sr-dev@lists.kamailio.org <mailto:sr-dev@lists.kamailio.org> https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-dev
Kamailio (SER) - Development Mailing List sr-dev@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-dev