INFO: not using any hashes in /data/userland-archives/hashes for espeak-1.48.04-source.zip (overridden with --hash) Source /data/userland-archives/espeak-1.48.04-source.zip... not found, skipping file copy Source https://downloads.sourceforge.net/project/espeak/espeak/espeak-1.48/espeak-1.48.04-source.zip... downloading... ok validating signature... checking local signature... not found signature validation failed validating hash... ok patching file src/Makefile patching file src/tr_languages.cpp patching file src/Makefile symlink cloning /jenkins/jobs/oi-userland/workspace/components/library/espeak/espeak-1.48.04-source to /jenkins/jobs/oi-userland/workspace/components/library/espeak/build/amd64 make[3]: warning: -j8 forced in submake: resetting jobserver mode. dictionary.cpp: In function 'const char* GetTranslatedPhonemeString(int)': dictionary.cpp:767:26: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare] 767 | if((phon_out_ix + len) >= phon_out_size) | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~ intonation.cpp: In function 'void CalcPitches(Translator*, int)': intonation.cpp:1118:7: warning: variable 'group_tone_emph' set but not used [-Wunused-but-set-variable] 1118 | int group_tone_emph; | ^~~~~~~~~~~~~~~ dictionary.cpp: In function 'void SetWordStress(Translator*, char*, unsigned int*, int, int)': dictionary.cpp:1207:6: warning: variable 'post_tonic' set but not used [-Wunused-but-set-variable] 1207 | int post_tonic; // currently not used | ^~~~~~~~~~ numbers.cpp: In function 'int LookupThousands(Translator*, int, int, int, char*)': numbers.cpp:1342:7: warning: suggest parentheses around operand of '!' or change '&' to '&&' or '!' to '~' [-Wparentheses] 1342 | if(!found_value & (number_control & 1)) | ^~~~~~~~~~~~ speak.cpp: In function 'void DisplayVoices(std::FILE*, char*)': speak.cpp:208:16: warning: comparison of integer expressions of different signedness: 'int' and 'long unsigned int' [-Wsign-compare] 208 | for(j=0; j < sizeof(buf); j++) | ~~^~~~~~~~~~~~~ speak.cpp: In function 'int main(int, char**)': speak.cpp:527:6: warning: unused variable 'speaking' [-Wunused-variable] 527 | int speaking = 0; | ^~~~~~~~ numbers.cpp:1339:25: warning: '%d' directive writing between 1 and 11 bytes into a region of size between 0 and 9 [-Wformat-overflow=] 1339 | sprintf(string,"_%dM%do",value,thousandplex); | ^~ numbers.cpp:1339:20: note: directive argument in the range [-2147483647, 2147483647] 1339 | sprintf(string,"_%dM%do",value,thousandplex); | ^~~~~~~~~ numbers.cpp:1339:12: note: 'std::sprintf' output between 6 and 25 bytes into a destination of size 12 1339 | sprintf(string,"_%dM%do",value,thousandplex); | ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ numbers.cpp:1345:25: warning: '%d' directive writing between 1 and 11 bytes into a region of size between 0 and 9 [-Wformat-overflow=] 1345 | sprintf(string,"_%dM%de",value,thousandplex); | ^~ numbers.cpp:1345:20: note: directive argument in the range [-2147483647, 2147483647] 1345 | sprintf(string,"_%dM%de",value,thousandplex); | ^~~~~~~~~ numbers.cpp:1345:12: note: 'std::sprintf' output between 6 and 25 bytes into a destination of size 12 1345 | sprintf(string,"_%dM%de",value,thousandplex); | ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ numbers.cpp:1351:25: warning: '%d' directive writing between 1 and 11 bytes into a region of size between 0 and 9 [-Wformat-overflow=] 1351 | sprintf(string,"_%dM%dx",value,thousandplex); | ^~ numbers.cpp:1351:20: note: directive argument in the range [-2147483647, 2147483647] 1351 | sprintf(string,"_%dM%dx",value,thousandplex); | ^~~~~~~~~ numbers.cpp:1351:12: note: 'std::sprintf' output between 6 and 25 bytes into a destination of size 12 1351 | sprintf(string,"_%dM%dx",value,thousandplex); | ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ numbers.cpp:1357:24: warning: '%d' directive writing between 1 and 11 bytes into a region of size between 0 and 9 [-Wformat-overflow=] 1357 | sprintf(string,"_%dM%d",value,thousandplex); | ^~ numbers.cpp:1357:19: note: directive argument in the range [-2147483647, 2147483647] 1357 | sprintf(string,"_%dM%d",value,thousandplex); | ^~~~~~~~ numbers.cpp:1357:11: note: 'std::sprintf' output between 5 and 24 bytes into a destination of size 12 1357 | sprintf(string,"_%dM%d",value,thousandplex); | ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ numbers.cpp:1375:26: warning: 'o' directive writing 1 byte into a region of size between 0 and 10 [-Wformat-overflow=] 1375 | sprintf(string,"_%s%do",M_Variant(value), thousandplex); | ^ numbers.cpp:1375:12: note: 'std::sprintf' output 4 or more bytes (assuming 14) into a destination of size 12 1375 | sprintf(string,"_%s%do",M_Variant(value), thousandplex); | ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ numbers.cpp:1381:26: warning: 'e' directive writing 1 byte into a region of size between 0 and 10 [-Wformat-overflow=] 1381 | sprintf(string,"_%s%de",M_Variant(value), thousandplex); | ^ numbers.cpp:1381:12: note: 'std::sprintf' output 4 or more bytes (assuming 14) into a destination of size 12 1381 | sprintf(string,"_%s%de",M_Variant(value), thousandplex); | ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ numbers.cpp:1387:26: warning: 'x' directive writing 1 byte into a region of size between 0 and 10 [-Wformat-overflow=] 1387 | sprintf(string,"_%s%dx",M_Variant(value), thousandplex); | ^ numbers.cpp:1387:12: note: 'std::sprintf' output 4 or more bytes (assuming 14) into a destination of size 12 1387 | sprintf(string,"_%s%dx",M_Variant(value), thousandplex); | ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ numbers.cpp:1393:25: warning: 'std::sprintf' may write a terminating nul past the end of the destination [-Wformat-overflow=] 1393 | sprintf(string,"_%s%d",M_Variant(value), thousandplex); | ^ numbers.cpp:1393:11: note: 'std::sprintf' output 3 or more bytes (assuming 13) into a destination of size 12 1393 | sprintf(string,"_%s%d",M_Variant(value), thousandplex); | ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ numbers.cpp:1399:25: warning: '%d' directive writing between 1 and 10 bytes into a region of size 9 [-Wformat-overflow=] 1399 | sprintf(string,"_0M%d", thousandplex-1); | ^~ numbers.cpp:1399:21: note: directive argument in the range [3, 2147483646] 1399 | sprintf(string,"_0M%d", thousandplex-1); | ^~~~~~~ numbers.cpp:1399:13: note: 'std::sprintf' output between 5 and 14 bytes into a destination of size 12 1399 | sprintf(string,"_0M%d", thousandplex-1); | ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ numbers.cpp: In function 'int LookupNum2(Translator*, int, int, int, char*)': numbers.cpp:1566:26: warning: '%c' directive writing 1 byte into a region of size between 0 and 9 [-Wformat-overflow=] 1566 | sprintf(string,"_%dX%c", tens, ord_type); | ^~ numbers.cpp:1566:13: note: 'std::sprintf' output between 5 and 14 bytes into a destination of size 12 1566 | sprintf(string,"_%dX%c", tens, ord_type); | ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ numbers.cpp:1566:26: warning: '%c' directive writing 1 byte into a region of size between 0 and 9 [-Wformat-overflow=] 1566 | sprintf(string,"_%dX%c", tens, ord_type); | ^~ numbers.cpp:1566:13: note: 'std::sprintf' output between 5 and 14 bytes into a destination of size 12 1566 | sprintf(string,"_%dX%c", tens, ord_type); | ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ numbers.cpp:1583:27: warning: 'std::sprintf' may write a terminating nul past the end of the destination [-Wformat-overflow=] 1583 | sprintf(string,"_%dX", tens); | ^ numbers.cpp:1583:14: note: 'std::sprintf' output between 4 and 13 bytes into a destination of size 12 1583 | sprintf(string,"_%dX", tens); | ~~~~~~~^~~~~~~~~~~~~~~~~~~~~ numbers.cpp:1581:27: warning: 'Xf' directive writing 2 bytes into a region of size between 1 and 10 [-Wformat-overflow=] 1581 | sprintf(string, "_%dXf", tens); | ^~ numbers.cpp:1581:14: note: 'std::sprintf' output between 5 and 14 bytes into a destination of size 12 1581 | sprintf(string, "_%dXf", tens); | ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~ numbers.cpp: In function 'int LookupNum3(Translator*, int, char*, int, int, int)': numbers.cpp:1843:27: warning: 'std::sprintf' may write a terminating nul past the end of the destination [-Wformat-overflow=] 1843 | sprintf(string, "_%dCo", hundreds); | ^ numbers.cpp:1843:12: note: 'std::sprintf' output between 5 and 13 bytes into a destination of size 12 1843 | sprintf(string, "_%dCo", hundreds); | ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~ numbers.cpp:1843:27: warning: 'std::sprintf' may write a terminating nul past the end of the destination [-Wformat-overflow=] 1843 | sprintf(string, "_%dCo", hundreds); | ^ numbers.cpp:1843:12: note: 'std::sprintf' output between 5 and 13 bytes into a destination of size 12 1843 | sprintf(string, "_%dCo", hundreds); | ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~ numbers.cpp:1869:28: warning: 'std::sprintf' may write a terminating nul past the end of the destination [-Wformat-overflow=] 1869 | sprintf(string,"_%dC0",hundreds); | ^ numbers.cpp:1869:14: note: 'std::sprintf' output between 5 and 13 bytes into a destination of size 12 1869 | sprintf(string,"_%dC0",hundreds); | ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ synthdata.cpp: In function 'int LoadPhData(int*)': synthdata.cpp:169:5: warning: this 'if' clause does not guard... [-Wmisleading-indentation] 169 | if(srate != NULL) | ^~ synthdata.cpp:171:2: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'if' 171 | return(result); | ^~~~~~ readclause.cpp: In function 'const char* LookupCharName(Translator*, int, int)': readclause.cpp:812:28: warning: '%s' directive writing up to 59 bytes into a region of size 52 [-Wformat-overflow=] 812 | sprintf(buf,"[\002_^_%s %s _^_%s]]","en",phonemes2,WordToString2(tr->translator_name)); | ^~ ~~~~~~~~~ readclause.cpp:812:11: note: 'std::sprintf' output between 15 and 78 bytes into a destination of size 60 812 | sprintf(buf,"[\002_^_%s %s _^_%s]]","en",phonemes2,WordToString2(tr->translator_name)); | ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ readclause.cpp:819:22: warning: '%s' directive writing up to 59 bytes into a region of size 58 [-Wformat-overflow=] 819 | sprintf(buf,"[\002%s]] ",phonemes2); | ^~ ~~~~~~~~~ readclause.cpp:819:11: note: 'std::sprintf' output between 6 and 65 bytes into a destination of size 60 819 | sprintf(buf,"[\002%s]] ",phonemes2); | ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ compiledict.cpp: In function 'int CompileDictionary(const char*, const char*, std::FILE*, char*, int)': compiledict.cpp:1934:22: warning: 'rules.txt' directive writing 9 bytes into a region of size between 6 and 205 [-Wformat-overflow=] 1934 | sprintf(fname_in,"%srules.txt",path); | ^~~~~~~~~ compiledict.cpp:1934:9: note: 'std::sprintf' output between 10 and 209 bytes into a destination of size 205 1934 | sprintf(fname_in,"%srules.txt",path); | ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ mbrowrap.cpp: In function 'int mbrola_has_errors()': mbrowrap.cpp:315:8: warning: '%s' directive output may be truncated writing up to 255 bytes into a region of size 160 [-Wformat-truncation=] 315 | "%s", buf_ptr); | ^~ mbrowrap.cpp:314:13: note: 'snprintf' output between 1 and 256 bytes into a destination of size 160 314 | snprintf(mbr_errorbuf, sizeof(mbr_errorbuf), | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 315 | "%s", buf_ptr); | ~~~~~~~~~~~~~~ In function 'void strncpy0(char*, const char*, int)', inlined from 'int LookupDictList(Translator*, char**, char*, unsigned int*, int, WORD_TAB*)' at dictionary.cpp:3498:12: dictionary.cpp:88:9: warning: 'char* std::strncpy(char*, const char*, std::size_t)' specified bound 20 equals destination size [-Wstringop-truncation] 88 | strncpy(to,from,size); | ~~~~~~~^~~~~~~~~~~~~~ readclause.cpp: In function 'int ReadClause(Translator*, std::FILE*, char*, short int*, int*, int, int*, char*)': readclause.cpp:735:26: warning: '%s' directive writing up to 54 bytes into a region of size 28 [-Wformat-overflow=] 735 | sprintf(text_out,"[\002%s]]",phonemes2); | ^~ ~~~~~~~~~ readclause.cpp:735:10: note: 'std::sprintf' output between 5 and 59 bytes into a destination of size 30 735 | sprintf(text_out,"[\002%s]]",phonemes2); | ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ readclause.cpp:735:26: warning: '%s' directive writing up to 54 bytes into a region of size 28 [-Wformat-overflow=] 735 | sprintf(text_out,"[\002%s]]",phonemes2); | ^~ ~~~~~~~~~ readclause.cpp:735:10: note: 'std::sprintf' output between 5 and 59 bytes into a destination of size 30 735 | sprintf(text_out,"[\002%s]]",phonemes2); | ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ voices.cpp: In function 'int SetVoiceScores(espeak_VOICE*, espeak_VOICE**, int)': voices.cpp:1416:27: warning: '%s' directive writing up to 79 bytes into a region of size between 73 and 232 [-Wformat-overflow=] 1416 | sprintf(buf, "%s/voices/%s", path_home, language); | ^~ ~~~~~~~~ voices.cpp:1416:10: note: 'std::sprintf' output between 9 and 247 bytes into a destination of size 240 1416 | sprintf(buf, "%s/voices/%s", path_home, language); | ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ dictionary.cpp: In function 'int Lookup(Translator*, const char*, char*)': dictionary.cpp:89:13: warning: array subscript 80 is outside array bounds of 'char [80]' [-Warray-bounds] 89 | to[size-1] = 0; | ~~~~~~~~~~~^~~ dictionary.cpp:3591:7: note: while referencing 'text' 3591 | char text[80]; | ^~~~ In function 'void strncpy0(char*, const char*, int)', inlined from 'int Lookup(Translator*, const char*, char*)' at dictionary.cpp:3602:11: dictionary.cpp:88:9: warning: 'char* std::strncpy(char*, const char*, std::size_t)' specified bound 79 equals destination size [-Wstringop-truncation] 88 | strncpy(to,from,size); | ~~~~~~~^~~~~~~~~~~~~~ dictionary.cpp: In function 'const char* GetTranslatedPhonemeString(int)': dictionary.cpp:767:26: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare] 767 | if((phon_out_ix + len) >= phon_out_size) | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~ dictionary.cpp: In function 'void SetWordStress(Translator*, char*, unsigned int*, int, int)': dictionary.cpp:1207:6: warning: variable 'post_tonic' set but not used [-Wunused-but-set-variable] 1207 | int post_tonic; // currently not used | ^~~~~~~~~~ klatt.cpp: In function 'void SetSynth_Klatt(int, int, frame_t*, frame_t*, voice_t*, int)': klatt.cpp:1285:45: warning: iteration 5 invokes undefined behavior [-Waggressive-loop-optimizations] 1285 | klattp1[ix] = klattp[ix] = fr1->klattp[ix]; | ~~~~~~~~~~~~~~^ klatt.cpp:1276:14: note: within this loop 1276 | for(ix=0; ixtranslator_name)); | ^~ ~~~~~~~~~ readclause.cpp:812:11: note: 'std::sprintf' output between 15 and 78 bytes into a destination of size 60 812 | sprintf(buf,"[\002_^_%s %s _^_%s]]","en",phonemes2,WordToString2(tr->translator_name)); | ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ readclause.cpp:819:22: warning: '%s' directive writing up to 59 bytes into a region of size 58 [-Wformat-overflow=] 819 | sprintf(buf,"[\002%s]] ",phonemes2); | ^~ ~~~~~~~~~ readclause.cpp:819:11: note: 'std::sprintf' output between 6 and 65 bytes into a destination of size 60 819 | sprintf(buf,"[\002%s]] ",phonemes2); | ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ numbers.cpp: In function 'int LookupNum3(Translator*, int, char*, int, int, int)': numbers.cpp:1843:27: warning: 'std::sprintf' may write a terminating nul past the end of the destination [-Wformat-overflow=] 1843 | sprintf(string, "_%dCo", hundreds); | ^ numbers.cpp:1843:12: note: 'std::sprintf' output between 5 and 13 bytes into a destination of size 12 1843 | sprintf(string, "_%dCo", hundreds); | ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~ numbers.cpp:1843:27: warning: 'std::sprintf' may write a terminating nul past the end of the destination [-Wformat-overflow=] 1843 | sprintf(string, "_%dCo", hundreds); | ^ numbers.cpp:1843:12: note: 'std::sprintf' output between 5 and 13 bytes into a destination of size 12 1843 | sprintf(string, "_%dCo", hundreds); | ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~ numbers.cpp:1869:28: warning: 'std::sprintf' may write a terminating nul past the end of the destination [-Wformat-overflow=] 1869 | sprintf(string,"_%dC0",hundreds); | ^ numbers.cpp:1869:14: note: 'std::sprintf' output between 5 and 13 bytes into a destination of size 12 1869 | sprintf(string,"_%dC0",hundreds); | ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ In function 'void strncpy0(char*, const char*, int)', inlined from 'int LookupDictList(Translator*, char**, char*, unsigned int*, int, WORD_TAB*)' at dictionary.cpp:3498:12: dictionary.cpp:88:9: warning: 'char* std::strncpy(char*, const char*, std::size_t)' specified bound 20 equals destination size [-Wstringop-truncation] 88 | strncpy(to,from,size); | ~~~~~~~^~~~~~~~~~~~~~ mbrowrap.cpp: In function 'int mbrola_has_errors()': mbrowrap.cpp:315:8: warning: '%s' directive output may be truncated writing up to 255 bytes into a region of size 160 [-Wformat-truncation=] 315 | "%s", buf_ptr); | ^~ mbrowrap.cpp:314:13: note: 'snprintf' output between 1 and 256 bytes into a destination of size 160 314 | snprintf(mbr_errorbuf, sizeof(mbr_errorbuf), | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 315 | "%s", buf_ptr); | ~~~~~~~~~~~~~~ dictionary.cpp: In function 'int Lookup(Translator*, const char*, char*)': dictionary.cpp:89:13: warning: array subscript 80 is outside array bounds of 'char [80]' [-Warray-bounds] 89 | to[size-1] = 0; | ~~~~~~~~~~~^~~ dictionary.cpp:3591:7: note: while referencing 'text' 3591 | char text[80]; | ^~~~ In function 'void strncpy0(char*, const char*, int)', inlined from 'int Lookup(Translator*, const char*, char*)' at dictionary.cpp:3602:11: dictionary.cpp:88:9: warning: 'char* std::strncpy(char*, const char*, std::size_t)' specified bound 79 equals destination size [-Wstringop-truncation] 88 | strncpy(to,from,size); | ~~~~~~~^~~~~~~~~~~~~~ readclause.cpp: In function 'int ReadClause(Translator*, std::FILE*, char*, short int*, int*, int, int*, char*)': readclause.cpp:735:26: warning: '%s' directive writing up to 54 bytes into a region of size 28 [-Wformat-overflow=] 735 | sprintf(text_out,"[\002%s]]",phonemes2); | ^~ ~~~~~~~~~ readclause.cpp:735:10: note: 'std::sprintf' output between 5 and 59 bytes into a destination of size 30 735 | sprintf(text_out,"[\002%s]]",phonemes2); | ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ readclause.cpp:735:26: warning: '%s' directive writing up to 54 bytes into a region of size 28 [-Wformat-overflow=] 735 | sprintf(text_out,"[\002%s]]",phonemes2); | ^~ ~~~~~~~~~ readclause.cpp:735:10: note: 'std::sprintf' output between 5 and 59 bytes into a destination of size 30 735 | sprintf(text_out,"[\002%s]]",phonemes2); | ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ voices.cpp: In function 'int SetVoiceScores(espeak_VOICE*, espeak_VOICE**, int)': voices.cpp:1416:27: warning: '%s' directive writing up to 79 bytes into a region of size between 73 and 232 [-Wformat-overflow=] 1416 | sprintf(buf, "%s/voices/%s", path_home, language); | ^~ ~~~~~~~~ voices.cpp:1416:10: note: 'std::sprintf' output between 9 and 247 bytes into a destination of size 240 1416 | sprintf(buf, "%s/voices/%s", path_home, language); | ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ wave_sada.cpp: In function 'void* wave_open(const char*)': wave_sada.cpp:153:10: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] 153 | return((void*) sun_audio_fd); | ^~~~~~~~~~~~~~~~~~~~ wave_sada.cpp: In function 'std::size_t wave_write(void*, char*, std::size_t)': wave_sada.cpp:214:15: warning: cast from 'void*' to 'int' loses precision [-fpermissive] 214 | num = write((int) theHandler, theMono16BitsWaveBuffer, theSize); | ^~~~~~~~~~~~~~~~ wave_sada.cpp: In function 'int wave_close(void*)': wave_sada.cpp:266:18: warning: cast from 'void*' to 'int' loses precision [-fpermissive] 266 | int audio_fd = (int) theHandler; | ^~~~~~~~~~~~~~~~ wave_sada.cpp: In function 'uint32_t wave_get_read_position(void*)': wave_sada.cpp:432:9: warning: cast from 'void*' to 'int' loses precision [-fpermissive] 432 | ioctl((int) theHandler, AUDIO_GETINFO, &ainfo); | ^~~~~~~~~~~~~~~~ espeak.cpp: In function 'void DisplayVoices(std::FILE*, char*)': espeak.cpp:176:16: warning: comparison of integer expressions of different signedness: 'int' and 'long unsigned int' [-Wsign-compare] 176 | for(j=0; j < sizeof(buf); j++) | ~~^~~~~~~~~~~~~ klatt.cpp: In function 'void SetSynth_Klatt(int, int, frame_t*, frame_t*, voice_t*, int)': klatt.cpp:1285:45: warning: iteration 5 invokes undefined behavior [-Waggressive-loop-optimizations] 1285 | klattp1[ix] = klattp[ix] = fr1->klattp[ix]; | ~~~~~~~~~~~~~~^ klatt.cpp:1276:14: note: within this loop 1276 | for(ix=0; ix