gdb: fix shellcheck warnings SC2154 (referenced but not assigned) in gdbarch.sh
authorSimon Marchi <simon.marchi@efficios.com>
Thu, 30 Apr 2020 00:35:35 +0000 (20:35 -0400)
committerSimon Marchi <simon.marchi@efficios.com>
Thu, 30 Apr 2020 00:35:35 +0000 (20:35 -0400)
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/ChangeLog
gdb/gdbarch.sh

index dee9a6edd3b421e200f7a0634278d65f1853e2a0..eb6841640b9a7dbdb9da36f24c8fb5ca1e68b6d1 100644 (file)
@@ -1,3 +1,8 @@
+2020-04-29  Simon Marchi  <simon.marchi@efficios.com>
+
+       * gdbarch.sh: Use ${foo:-} where shellcheck would report a
+       "referenced but not assigned" warning.
+
 2020-04-29  Simon Marchi  <simon.marchi@efficios.com>
 
        * gdbarch.sh: Remove code that sets fallbackdefault.
index 4e4cc827b895ccbd518130007ebbd14b65584a54..24f8cdfe90b043f0af4ff1add850856e62dce22f 100755 (executable)
@@ -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