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

Daniel-Constantin Mierla miconda at gmail.com
Wed May 13 13:56:33 CEST 2020


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 at lists.kamailio.org> *On Behalf Of
> *Sergey Safarov
> *Sent:* Wednesday, May 13, 2020 12:02 PM
> *To:* Kamailio (SER) - Development Mailing List
> <sr-dev at 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 at skalatan.de
> <mailto: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 <https://gilawa.com/>
>
>      
>
>     _______________________________________________
>     Kamailio (SER) - Development Mailing List
>     sr-dev at lists.kamailio.org <mailto:sr-dev at lists.kamailio.org>
>     https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-dev
>
>
> _______________________________________________
> Kamailio (SER) - Development Mailing List
> sr-dev at lists.kamailio.org
> https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-dev

-- 
Daniel-Constantin Mierla -- www.asipto.com
www.twitter.com/miconda -- www.linkedin.com/in/miconda
Funding: https://www.paypal.me/dcmierla

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.kamailio.org/pipermail/sr-dev/attachments/20200513/4b335927/attachment-0001.html>


More information about the sr-dev mailing list