Minor fix in skip_ctf_tests
authorTom Tromey <tom@tromey.com>
Sat, 27 Feb 2021 00:25:38 +0000 (17:25 -0700)
committerTom Tromey <tom@tromey.com>
Sat, 27 Feb 2021 00:32:42 +0000 (17:32 -0700)
I noticed an oddity in skip_ctf_tests -- for me it ends up caching the
string "!0", because it ends with 'return ![...]'.  In Tcl, this is
just string concatenation.

The result works because the users of this function have unbraced if
conditions, like:

    if [skip_ctf_tests] {

... which works because "if" re-parses the returned string as an
expression, and evaluates that.

There's only a latent bug here, but this is also un-idiomatic, so I am
checking in this patch to fix it.  This way, if someone in the future
uses a braced condition (which is what I normally recommend), it will
continue to work.

gdb/testsuite/ChangeLog
2021-02-26  Tom Tromey  <tom@tromey.com>

* lib/gdb.exp (skip_ctf_tests): Use expr on result.

gdb/testsuite/ChangeLog
gdb/testsuite/lib/gdb.exp

index d29f6d4d448a0db8fe2c7c300d3d9f3b70c0ed70..625c4ecf493afab1671a9d8b0d978b5d2d5187c0 100644 (file)
@@ -1,3 +1,7 @@
+2021-02-26  Tom Tromey  <tom@tromey.com>
+
+       * lib/gdb.exp (skip_ctf_tests): Use expr on result.
+
 2021-02-26  Jan Vrany  <jan.vrany@labware.com>
 
        * gdb.trace/mi-tsv-changed.exp (test_create_delete_modify_tsv):
index 142051296cbf9e9349d8bf1106d8f058fbf3af99..7480bd5665fa96edfec14b058449fa81509c020f 100644 (file)
@@ -7433,11 +7433,13 @@ gdb_caching_proc skip_ctf_tests {
        return 1
     }
 
-    return ![gdb_can_simple_compile ctfdebug {
+    set can_ctf [gdb_can_simple_compile ctfdebug {
        int main () {
            return 0;
        }
     } executable "additional_flags=-gt"]
+
+    return [expr {!$can_ctf}]
 }
 
 # Return 1 if compiler supports -gstatement-frontiers.  Otherwise,