[sr-dev] warnings with gcc 9.3 on app_sqlang ,squirrel

Sergey Safarov s.safarov at gmail.com
Wed May 13 12:02:17 CEST 2020


Could you try look
https://github.com/kamailio/kamailio/issues/2135

On Wed, May 13, 2020 at 11:52 AM Henning Westerholt <hw at 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 at 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 at lists.kamailio.org
> https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-dev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.kamailio.org/pipermail/sr-dev/attachments/20200513/f78fa75c/attachment.html>


More information about the sr-dev mailing list