Hello, got the following issue with patch 31 on a CRUX Linux system with gcc 4.8.4:
gcc -DPROGRAM='"bash"' -DCONF_HOSTTYPE='"x86_64"' -DCONF_OSTYPE='"linux-gnu"' -DCONF_MACHTYPE='"x86_64-unknown-linux-gnu"' -DCONF_VENDOR='"unknown"' -DLOCALEDIR='"/usr/share/locale"' -DPACKAGE='"bash"' -DSHELL -DHAVE_CONFIG_H -I. -I. -I./include -I./lib -O2 -march=x86-64 -pipe -c variables.c variables.c: In function 'bind_variable_internal': variables.c:2529:3: warning: passing argument 1 of 'valid_array_reference' discards 'const' qualifier from pointer target type [enabled by default] if ((aflags & ASS_FROMREF) && (hflags & HASH_NOSRCH) == 0 && valid_array_reference (name)) ^ In file included from shell.h:32:0, from variables.c:49: arrayfunc.h:60:12: note: expected 'char *' but argument is of type 'const char *' extern int valid_array_reference __P((char *)); ^ variables.c:2531:7: warning: passing argument 1 of 'array_variable_name' discards 'const' qualifier from pointer target type [enabled by default] newname = array_variable_name (name, &subp, &sublen); ^ In file included from shell.h:32:0, from variables.c:49: arrayfunc.h:66:14: note: expected 'char *' but argument is of type 'const char *' extern char *array_variable_name __P((char *, char **, int *)); ^ variables.c:2573:7: error: too many arguments to function 'make_new_array_variable' entry = make_new_array_variable (newname, table); /* indexed array by default */ ^ variables.c:2347:1: note: declared here make_new_array_variable (name) ^ variables.c:2576:7: warning: passing argument 1 of 'array_expand_index' from incompatible pointer type [enabled by default] ind = array_expand_index (name, subp, sublen); ^ In file included from shell.h:32:0, from variables.c:49: arrayfunc.h:59:19: note: expected 'struct SHELL_VAR *' but argument is of type 'const char *' extern arrayind_t array_expand_index __P((SHELL_VAR *, char *, int)); ^ Makefile:97: recipe for target 'variables.o' failed make: *** [variables.o] Error 1 Greetings Juergen