festvox / flite

A small fast portable speech synthesis system
Other
859 stars 186 forks source link

Remove defining 'const' as nothing #112

Open kraj opened 2 months ago

kraj commented 2 months ago

This is a hack to override constness of struct members however, with modern compiler like clang with fortified glibc ( 2.40+ ) headers this runs into compiler errors

/mnt/b/yoe/master/build/tmp/work/riscv64-yoe-linux/flite/2.2/recipe-sysroot/usr/include/bits/stdlib.h:38:54: error: pass_object_size attribute only applies to constant pointer arguments 38 __fortify_clang_overload_arg (char *, restrict, resolved))) ^ /mnt/b/yoe/master/build/tmp/work/riscv64-yoe-linux/flite/2.2/recipe-sysroot/usr/include/bits/stdlib.h:73:43: error: pass_object_size attribute only applies to constant pointer arguments 73 __fortify_clang_overload_arg (char *, ,__buf), ^ /mnt/b/yoe/master/build/tmp/work/riscv64-yoe-linux/flite/2.2/recipe-sysroot/usr/include/bits/stdlib.h:91:55: error: pass_object_size attribute only applies to constant pointer arguments 91 NTH (wctomb (fortify_clang_overload_arg (char *, ,__s), wchar_t __wchar)) ^ /mnt/b/yoe/master/build/tmp/work/riscv64-yoe-linux/flite/2.2/recipe-sysroot/usr/include/bits/stdlib.h:129:71: error: pass_object_size attribute only applies to constant pointer arguments 129 NTH (mbstowcs (fortify_clang_overload_arg (wchar_t *, restrict, dst), ^ /mnt/b/yoe/master/build/tmp/work/riscv64-yoe-linux/flite/2.2/recipe-sysroot/usr/include/bits/stdlib.h:159:68: error: pass_object_size attribute only applies to constant pointer arguments 159 NTH (wcstombs (fortify_clang_overload_arg (char *, restrict, dst), ^ 5 errors generated.

Therefore take this out, instead cast away the 'const' qualifier where needed ( equilly dangerous ) however limited to just this file instead of apply to all headers including system headers