[PATCH 6/7] gdb: fix shellcheck warnings SC2154 (referenced but not assigned) in gdbarch.sh

Simon Marchi
2020-04-28T21:47:05Z

Fix all instances of this kind of warning:

In gdbarch.sh line 96:
m ) staticdefault="${predefault}" ;;
^-----------^ SC2154: predefault is referenced but not assigned.

These warnings appear because we are doing something a bit funky when reading
the gdbarch fields. These variables are not assigned explicitly, but
using some `eval` commands.

I don't think there is so much we can fix about those warnings. To
silence them, I've changed `${foo}` to `${foo:-}`. This tells the shell
to substitute with an empty string if `foo` is not defined. This
retains the current behavior, but the warnings go away.

gdb/ChangeLog:

* gdbarch.sh: Use ${foo:-} where shellcheck would report a
"referenced but not assigned" warning.
---
gdb/gdbarch.sh | 14 +++++++-------
1 file changed, 7 insertions(+), 7 deletions(-)

diff --git a/gdb/gdbarch.sh b/gdb/gdbarch.sh
index 4e4cc827b895..24f8cdfe90b0 100755
--- a/gdb/gdbarch.sh
+++ b/gdb/gdbarch.sh
@@ -75,7 +75,7 @@ ${line}
EOF
IFS="${OFS}"

- if test -n "${garbage_at_eol}"
+ if test -n "${garbage_at_eol:-}"
then
echo "Garbage at end-of-line in ${line}" 1>&2
kill $$
@@ -93,19 +93,19 @@ EOF
done

case "${class}" in
- m ) staticdefault="${predefault}" ;;
+ m ) staticdefault="${predefault:-}" ;;
M ) staticdefault="0" ;;
* ) test "${staticdefault}" || staticdefault=0 ;;
esac

case "${class}" in
F | V | M )
- case "${invalid_p}" in
+ case "${invalid_p:-}" in
"" )
if test -n "${predefault}"
then
#invalid_p="gdbarch->${function} == ${predefault}"
- predicate="gdbarch->${function} != ${predefault}"
+ predicate="gdbarch->${function:-} != ${predefault}"
elif class_is_variable_p
then
predicate="gdbarch->${function} != 0"
@@ -139,7 +139,7 @@ EOF

fallback_default_p ()
{
- { [ -n "${postdefault}" ] && [ "x${invalid_p}" != "x0" ]; } \
+ { [ -n "${postdefault:-}" ] && [ "x${invalid_p}" != "x0" ]; } \
|| { [ -n "${predefault}" ] && [ "x${invalid_p}" = "x0" ]; }
}

@@ -1206,7 +1206,7 @@ exec > new-gdbarch.log
function_list | while do_read
do
cat <<EOF
-${class} ${returntype} ${function} ($formal)
+${class} ${returntype:-} ${function} (${formal:-})
EOF
for r in ${read}
do
@@ -2119,7 +2119,7 @@ do
fi
printf " if (gdbarch_debug >= 2)\n"
printf " fprintf_unfiltered (gdb_stdlog, \"gdbarch_%s called\\\\n\");\n" "$function"
- if [ "x${actual}" = "x-" ] || [ "x${actual}" = "x" ]
+ if [ "x${actual:-}" = "x-" ] || [ "x${actual:-}" = "x" ]
then
if class_is_multiarch_p
then
--
2.26.2