From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from simark.ca by simark.ca with LMTP id SR9+EABN1mqhODMAWB0awg (envelope-from ) for ; Mon, 19 Oct 2026 13:01:52 -0400 Received: by simark.ca (Postfix, from userid 112) id 3ACE61E06B; Mon, 19 Oct 2026 13:01:52 -0400 (EDT) X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-25) on simark.ca X-Spam-Level: X-Spam-Status: No, score=-2.3 required=5.0 tests=ARC_SIGNED,ARC_VALID,BAYES_00, MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED, RCVD_IN_VALIDITY_SAFE_BLOCKED autolearn=ham autolearn_force=no version=4.0.1 Received: from vm01.sourceware.org (vm01.sourceware.org [38.145.34.32]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange x25519 server-signature ECDSA (prime256v1) server-digest SHA256) (No client certificate requested) by simark.ca (Postfix) with ESMTPS id 86F171E04E for ; Mon, 19 Oct 2026 13:01:50 -0400 (EDT) Received: from vm01.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 07F684BA23F7 for ; Mon, 19 Oct 2026 17:01:50 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 07F684BA23F7 Received: from simark.ca (simark.ca [158.69.221.121]) by sourceware.org (Postfix) with ESMTPS id 26CC14BA2E23; Mon, 19 Oct 2026 16:59:33 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 26CC14BA2E23 Authentication-Results: sourceware.org; dmarc=fail (p=none dis=none) header.from=efficios.com Authentication-Results: sourceware.org; spf=fail smtp.mailfrom=efficios.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 26CC14BA2E23 Authentication-Results: sourceware.org; arc=none smtp.remote-ip=158.69.221.121 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1792429173; cv=none; b=erce3dXqLtAlreRXe3a+L+LYttMIzzXhAdgLwq8FXWNkVcjmG2DIFqwPJWxlNESiW7sC5fzqxphZxLPVDiE4ne7Hufs/GkadhTYUaN+ldY3sCNt7wX92WYmrZvfiKMZ+k7pFSVp92WzLXHe//EB6ELR1J0ssPEjoQZujr0SBZHc= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1792429173; c=relaxed/simple; bh=g0DCKpmVqzmnoguMfDFYSN0MsdvFaaIc4ZoTp/j40VA=; h=From:To:Subject:Date:Message-ID:MIME-Version; b=uTzWM65I6p/QtWMwoAKOWq+9bgYRkZMa6sXvqn6RHWq7pgMm26F3kfAQQVC2EQAvJttp/pippoMQa0i1FxkVhtlIPyChkCi1fBg5Xr8gJ7qGtdA9n8kia9bAqvgLXctwOlfdPTqa07h2fOS5yem87tRZnmSzFq5DueN7Uq1IhWI= ARC-Authentication-Results: i=1; sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 26CC14BA2E23 Received: by simark.ca (Postfix) id C7B9E1E04E; Mon, 19 Oct 2026 12:59:30 -0400 (EDT) From: Simon Marchi To: gcc-patches@sourceware.org, gdb-patches@sourceware.org Cc: Simon Marchi Subject: [PATCH 0/6] Make SELF_CHECK print operands of comparisons Date: Mon, 19 Oct 2026 12:58:16 -0400 Message-ID: <20261019165929.792697-1-simon.marchi@efficios.com> X-Mailer: git-send-email 2.56.0 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-BeenThere: gdb-patches@sourceware.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Gdb-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: gdb-patches-bounces~public-inbox=simark.ca@sourceware.org Tom mentioned [1] how it would be nice to have a SELF_CHECK variant that took operands as separate arguments and printed them when the comparison failed. Some test frameworks like catch2 are actually able to decompose some expressions passed to the test macro to achieve this automatically. This series implements the same concept but for GDB's own SELF_CHECK macro. [1] https://inbox.sourceware.org/gdb-patches/20261005052602.1288766-1-simon.marchi@polymtl.ca/T/#mef6ee3be132da2d69d3ea22e6182d259f91503a9 Simon Marchi (6): gdb/unittests: catch gdb_exception_error in scoped_mmap test gdbsupport/selftest: print expression when selftest fails and re-format include/diagnostics.h: add DIAGNOSTIC_IGNORE_PARENTHESES gdb/gmp-utils: rename gdb_mp{z,q,f}::str to to_string gdbsupport/selftest: print operand values when a SELF_CHECK fails gdb: remove manual printing of values in some selftests gdb/aarch64-tdep.c | 38 +- gdb/ada-typeprint.c | 2 +- gdb/arm-tdep.c | 4 +- gdb/cp-name-parser.c | 2 +- gdb/disasm-selftests.c | 11 +- gdb/dwarf2/frame.c | 2 +- gdb/expprint.c | 3 +- gdb/gdbtypes.c | 2 +- gdb/gmp-utils.c | 10 +- gdb/gmp-utils.h | 12 +- gdb/memrange.h | 7 + gdb/producer.c | 33 +- gdb/regcache.c | 6 +- gdb/rust-parse.c | 2 +- gdb/selftest-arch.c | 2 +- gdb/source-cache.c | 12 +- gdb/split-name.c | 28 - gdb/typeprint.c | 2 +- gdb/unittests/array-view-selftests.c | 5 + gdb/unittests/environ-selftests.c | 32 +- gdb/unittests/frame_info_ptr-selftests.c | 2 +- gdb/unittests/function-view-selftests.c | 4 +- gdb/unittests/remote-arg-selftests.c | 65 +-- gdb/unittests/scoped_fd-selftests.c | 8 +- .../scoped_ignore_signal-selftests.c | 7 +- gdb/unittests/scoped_mmap-selftests.c | 17 +- gdb/unittests/style-selftests.c | 10 +- gdb/utils.c | 4 +- gdb/valprint.c | 2 +- gdbserver/server.cc | 19 +- gdbsupport/common-exceptions.h | 3 + gdbsupport/selftest.cc | 88 ++- gdbsupport/selftest.h | 545 +++++++++++++++++- include/diagnostics.h | 8 + 34 files changed, 800 insertions(+), 197 deletions(-) base-commit: ec9be4b35cf367e6ffa0d5881fb20e60c68e2f89 -- 2.56.0