The following warnings are emitted during GitHub actions build:
module/mysql/collector.cpp: In constructor ‘collector::collector(MODULE*)’:
module/mysql/collector.cpp:46:23: warning: ‘void* memset(void*, int, size_t)’ clearing an object of type ‘class collector’ with no trivial copy-assignment; use assignment instead [-Wclass-memaccess]
46 | memset(this,0,sizeof(collector));
| ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from module/mysql/database.h:129,
from module/mysql/collector.cpp:8:
module/mysql/collector.h:9:7: note: ‘class collector’ declared here
9 | class collector : public gld_object {
| ^~~~~~~~~
module/mysql/collector.cpp: In member function ‘int collector::create()’:
module/mysql/collector.cpp:52:15: warning: ‘void* memcpy(void*, const void*, size_t)’ writing to an object of type ‘class collector’ with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess]
52 | memcpy(this,defaults,sizeof(*this));
| ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from module/mysql/database.h:129,
from module/mysql/collector.cpp:8:
module/mysql/collector.h:9:7: note: ‘class collector’ declared here
9 | class collector : public gld_object {
| ^~~~~~~~~
CXX module/mysql/mysql_la-init.lo
CXX module/mysql/mysql_la-main.lo
module/mysql/database.cpp: In constructor ‘database::database(MODULE*)’:
module/mysql/database.cpp:74:23: warning: ‘void* memset(void*, int, size_t)’ clearing an object of type ‘class database’ with no trivial copy-assignment; use assignment instead [-Wclass-memaccess]
74 | memset(this,0,sizeof(database));
| ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
In file included from module/mysql/database.cpp:14:
module/mysql/database.h:49:7: note: ‘class database’ declared here
49 | class database : public gld_object {
| ^~~~~~~~
module/mysql/database.cpp: In member function ‘int database::create()’:
module/mysql/database.cpp:81:15: warning: ‘void* memcpy(void*, const void*, size_t)’ writing to an object of type ‘class database’ with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess]
81 | memcpy(this,defaults,sizeof(*this));
| ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from module/mysql/database.cpp:14:
module/mysql/database.h:49:7: note: ‘class database’ declared here
49 | class database : public gld_object {
| ^~~~~~~~
module/mysql/database.cpp: In member function ‘char* database::get_sqldata(char*, size_t, gld_property&, gld_unit*)’:
module/mysql/database.cpp:371:67: warning: ‘%g’ directive output may be truncated writing between 1 and 13 bytes into a region of size 7 [-Wformat-truncation=]
371 | snprintf(buffer,sizeof(buffer)-1,"%g",value);
| ^~
module/mysql/database.cpp:371:66: note: assuming directive output of 12 bytes
371 | snprintf(buffer,sizeof(buffer)-1,"%g",value);
| ^~~~
In file included from /usr/include/stdio.h:894,
from ./source/gridlabd.h:108,
from module/mysql/database.h:10,
from module/mysql/database.cpp:14:
/usr/include/x86_64-linux-gnu/bits/stdio2.h:71:35: note: ‘__builtin___snprintf_chk’ output between 2 and 14 bytes into a destination of size 7
71 | return __builtin___snprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1,
| ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
72 | __glibc_objsize (__s), __fmt,
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
73 | __va_arg_pack ());
| ~~~~~~~~~~~~~~~~~
module/mysql/database.cpp:376:59: warning: ‘%g’ directive output may be truncated writing between 1 and 13 bytes into a region of size 7 [-Wformat-truncation=]
376 | snprintf(buffer,sizeof(buffer)-1,"%g",prop.get_double());
| ^~
module/mysql/database.cpp:376:58: note: assuming directive output of 12 bytes
376 | snprintf(buffer,sizeof(buffer)-1,"%g",prop.get_double());
| ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
In file included from module/mysql/database.h:127,
from module/mysql/recorder.cpp:9:
module/mysql/recorder.h:17:7: note: ‘class recorder’ declared here
17 | class recorder : public gld_object {
| ^~~~~~~~
module/mysql/recorder.cpp: In member function ‘int recorder::create()’:
module/mysql/recorder.cpp:73:15: warning: ‘void* memcpy(void*, const void*, size_t)’ writing to an object of type ‘class recorder’ with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess]
73 | memcpy(this,defaults,sizeof(*this));
| ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from module/mysql/database.h:127,
from module/mysql/recorder.cpp:9:
module/mysql/recorder.h:17:7: note: ‘class recorder’ declared here
17 | class recorder : public gld_object {
| ^~~~~~~~
CXX module/powerflow/powerflow_la-init.lo
module/mysql/recorder.cpp: In member function ‘int recorder::init(OBJECT*)’:
module/mysql/recorder.cpp:219:54: warning: ‘%s’ directive output may be truncated writing up to 1023 bytes into a region of size 1022 [-Wformat-truncation=]
219 | snprintf(tmp,sizeof(tmp)-1,"`%s` %s, ",fieldname,sqltype);
| ^~ ~~~~~~~~~
In file included from /usr/include/stdio.h:894,
from ./source/gridlabd.h:108,
from module/mysql/database.h:10,
from module/mysql/recorder.cpp:9:
/usr/include/x86_64-linux-gnu/bits/stdio2.h:71:35: note: ‘__builtin___snprintf_chk’ output 6 or more bytes (assuming 1029) into a destination of size 1023
71 | return __builtin___snprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1,
| ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
72 | __glibc_objsize (__s), __fmt,
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
73 | __va_arg_pack ());
|
Problem description
The following warnings are emitted during GitHub actions build: