contrib/bc: fix build with GCC

Building with GCC failed with the following error message:

 error: to be safe all intermediate pointers in cast from 'char **'
 to 'const char **' must be 'const' qualified [-Werror=cast-qual]

This was caused by main() being declared with "char *argv[]" as the
3rd parameter, but argv later being passed cast to "const char**":

113 |     if (BC_IS_BC) s = bc_main(argc, (const char**) argv);
    |                                      ^

This is fixed by declaring the 3rd parameter of main() as "const
char *argv[]".

Reported by:	CI
MFC after:	3 days

(cherry picked from commit ef5752762ba9ec54d5c02023167d24bcdbb45fd7)

vendor/bc: upgrade to version 7.0.1

This update fixes building bc on FreeBSD with non-default compilers
(GCC-12, GCC-13). GCC warned about casting argv from non-const to const
and since warnings are treated as errors, the build failed.

(cherry picked from commit 1e19146fc7692f59e8dfc5da7957e938cd0b81b8)
(cherry picked from commit 5b0dc991093c82824f6fe566af947f64f5072264)
This commit is contained in:
Stefan Eßer 2024-08-27 09:11:58 +02:00
parent e0fd6004ef
commit 06bb8e1dab
3 changed files with 8 additions and 2 deletions

View file

@ -1,5 +1,11 @@
# News
## 7.0.1
This is a production release that fixes a warning using GCC on FreeBSD.
Other users do ***NOT*** need to upgrade.
## 7.0.0
This is a production release to fix three bugs.

View file

@ -37,6 +37,6 @@
#define BC_VERSION_H
/// The current version.
#define VERSION 7.0.0
#define VERSION 7.0.1
#endif // BC_VERSION_H

View file

@ -54,7 +54,7 @@
#include <dc.h>
int
main(int argc, char* argv[])
main(int argc, const char* argv[])
{
BcStatus s;
char* name;