[gdb/testsuite] Fix gdb.base/return-nodebug.exp with local-remote-host.exp
authorTom de Vries <tdevries@suse.de>
Tue, 18 Oct 2022 13:32:46 +0000 (15:32 +0200)
committerTom de Vries <tdevries@suse.de>
Tue, 18 Oct 2022 13:32:46 +0000 (15:32 +0200)
With host board local-remote-host.exp and test-case
gdb.base/return-nodebug.exp, I run into:
...
Executing on host: gcc -fno-stack-protector -fdiagnostics-color=never \
  -DTYPE=signed\ char -c -g  -o return-nodebug-signed-char0.o  \
  /home/vries/gdb_versions/devel/src/gdb/testsuite/gdb.base/return-nodebug.c \
  (timeout = 300)
builtin_spawn [open ...]^M
gcc: error: char: No such file or directory
...

Avoid the quoting problem by not using spaces in the define.

Tested on x86_64-linux.

gdb/testsuite/gdb.base/return-nodebug.c
gdb/testsuite/gdb.base/return-nodebug.exp
gdb/testsuite/gdb.base/return-nodebug1.c

index a5ec060207a6d385d8d361fbd7c7639686e355be..358323aa2dd21a4763bbe54906489abd1963fee0 100644 (file)
    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
+#ifdef TYPE_NOSPACE_long_long
+#define TYPE long long
+#elif defined TYPE_NOSPACE_signed_char
+#define TYPE signed char
+#else
+#define TYPE TYPE_NOSPACE
+#endif
+
 extern TYPE func (void);
 
 static void
index 1cce09d2fc4e49d002bbf8d3c3d26975d2072ab8..331375d89f89e128469bd67b213a88dfa3ad2dcb 100644 (file)
@@ -52,17 +52,23 @@ foreach type {{signed char} {short} {int} {long} {long long} {float} {double}} {
     if { $skip_float_test && ($type == "float" || $type == "double") } {
        continue
     }
-    set typeesc [string map {{ } {\ }} $type]
-    set typenospace [string map {{ } -} $type]
+    set typenospace_dash \
+       [string map {{ } -} $type]
+    set typenospace_underscore \
+       [string map {{ } _} $type]
 
     standard_testfile .c return-nodebug1.c
 
-    set additional_flags "additional_flags=-DTYPE=$typeesc"
+    set additional_flags {}
+    lappend additional_flags \
+       additional_flags=-DTYPE_NOSPACE=$typenospace_underscore
+    lappend additional_flags \
+       additional_flags=-DTYPE_NOSPACE_$typenospace_underscore
 
     if {[prepare_for_testing_full "failed to prepare" \
-            [list ${testfile}-${typenospace} debug \
-                 $srcfile [list debug $additional_flags] \
-                 $srcfile2 [list $additional_flags]]]} {
+            [list ${testfile}-${typenospace_dash} debug \
+                 $srcfile [concat {debug} $additional_flags] \
+                 $srcfile2 $additional_flags]]} {
        continue
     }
 
index bd32fc45d74518557bc758c8b4531a621ae27bab..f2269e0dd2f688ad5091a62e3f507d57b6bff187 100644 (file)
    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
+#ifdef TYPE_NOSPACE_long_long
+#define TYPE long long
+#elif defined TYPE_NOSPACE_signed_char
+#define TYPE signed char
+#else
+#define TYPE TYPE_NOSPACE
+#endif
+
 TYPE
 func (void)
 {