From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by sourceware.org (Postfix) with ESMTPS id 4654E3857C6C for ; Wed, 26 Jan 2022 19:51:43 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 4654E3857C6C Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-421-8ys8CBawPcKU2qWVFOrosA-1; Wed, 26 Jan 2022 14:51:39 -0500 X-MC-Unique: 8ys8CBawPcKU2qWVFOrosA-1 Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.phx2.redhat.com [10.5.11.13]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 9E6C91091DA0 for ; Wed, 26 Jan 2022 19:51:38 +0000 (UTC) Received: from blarsen.com (ovpn-116-36.gru2.redhat.com [10.97.116.36]) by smtp.corp.redhat.com (Postfix) with ESMTPS id ED85E4D705; Wed, 26 Jan 2022 19:51:36 +0000 (UTC) From: Bruno Larsen To: gdb-patches@sourceware.org Subject: [PATCH 10/11] make use of finish to leave function in gdb.base/skip-inline.exp Date: Wed, 26 Jan 2022 16:50:52 -0300 Message-Id: <20220126195053.69559-11-blarsen@redhat.com> In-Reply-To: <20220126195053.69559-1-blarsen@redhat.com> References: <20220126195053.69559-1-blarsen@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.13 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: 8bit Content-Type: text/plain; charset="US-ASCII" X-Spam-Status: No, score=-13.4 required=5.0 tests=BAYES_00, DKIMWL_WL_HIGH, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, SPF_HELO_NONE, SPF_NONE, TXREP autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: gdb-patches@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gdb-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 26 Jan 2022 19:51:44 -0000 This test, once again, uses a set number of steps to exit a function when it could just use finish. Once we are inside baz, we dont need to use "step" to confirm where we are, so those tests were changed to using finish instead. This also makes the first part of the test run corectly when compiled using clang. And because the second and third part of the test require a fixed amount of steps, the test exits early if it detects that the compiler used was clang. --- gdb/testsuite/gdb.base/skip-inline.exp | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/gdb/testsuite/gdb.base/skip-inline.exp b/gdb/testsuite/gdb.base/skip-inline.exp index f6e9926b66c..612210127cc 100644 --- a/gdb/testsuite/gdb.base/skip-inline.exp +++ b/gdb/testsuite/gdb.base/skip-inline.exp @@ -35,16 +35,20 @@ gdb_test "skip function foo" "Function foo will be skipped when stepping\." gdb_test "bt" "\\s*\\#0\\s+main.*" "in the main" gdb_test "step" ".*" "step into baz, since foo will be skipped" gdb_test "bt" "\\s*\\#0\\s+baz.*" "in the baz, since foo was skipped" -gdb_test "step" ".*" "step in the baz" -gdb_test "bt" "\\s*\\#0\\s+baz.*" "still in the baz" -gdb_test "step" ".*" "step back to main" +gdb_test "finish" ".*" "finish baz" gdb_test "bt" "\\s*\\#0\\s+main.*" "again in the main" gdb_test "step" ".*" "step again into baz, since foo will be skipped" gdb_test "bt" "\\s*\\#0\\s+baz.*" "again in the baz" -gdb_test "step" ".*" "step in the baz, again" -gdb_test "bt" "\\s*\\#0\\s+baz.*" "still in the baz, again" -gdb_test "step" ".*" "step back to main, again" -gdb_test "bt" "\\s*\\#0\\s+main.*" "again back to main" +gdb_test "finish" ".*" "finish baz, again" +gdb_test "bt" "\\s*\\#0.*main.*" "again back to main" + +# because clang doesn't add epilogue information, having a set number of +# steps puts clang more and more out of sync with gcc. It is unlikely that +# the effort of keeping both outputs will be useful. +if {[test_compiler_info "clang-*"]} { + untested "Multiple steps are not supported with clang" + return +} if ![runto_main] { return -- 2.31.1