From patchwork Tue Apr 7 11:08:23 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: yangkun X-Patchwork-Id: 132756 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from vm01.sourceware.org (localhost [127.0.0.1]) by sourceware.org (Postfix) with ESMTP id 81D364BA23C8 for ; Tue, 7 Apr 2026 11:09:50 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 81D364BA23C8 Authentication-Results: sourceware.org; dkim=pass (2048-bit key, secure) header.d=disroot.org header.i=@disroot.org header.a=rsa-sha256 header.s=mail header.b=ayL2ulRf X-Original-To: gcc-patches@gcc.gnu.org Delivered-To: gcc-patches@gcc.gnu.org Received: from eggs.gnu.org (eggs.gnu.org [209.51.188.92]) by sourceware.org (Postfix) with ESMTPS id DB71F4BA2E14 for ; Tue, 7 Apr 2026 11:09:12 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org DB71F4BA2E14 Authentication-Results: sourceware.org; dmarc=pass (p=reject dis=none) header.from=disroot.org Authentication-Results: sourceware.org; spf=fail smtp.mailfrom=disroot.org ARC-Filter: OpenARC Filter v1.0.0 sourceware.org DB71F4BA2E14 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=209.51.188.92 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1775560152; cv=none; b=T091CWNosXxlSeLt4H13fct9JAgWbq1uiMb9AL3rrgfSWosWpiLdksyjiptQ9gr7mHyqb1Kl5SVuWEyhe67uXUVEN49S0JhvwgGMYz9qnQMfXuPUBeQG7N36LJNniRqfSuS5NHaaV5som8ZxEGEJW8O8mxc4v6JRSpI02IOa7y4= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1775560152; c=relaxed/simple; bh=NCM5rcJqEzCHnCYZ90Jd2mfaeRfEMaLecj+3UTp1zUQ=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=BAi7t+y0blmWFk/UZuO8VJy7B/OvKsdms6tvbr+OoTC4k0PtP5Ej+PrFcUEwrEOSOyUW/IopsI9aZHZtgxxk7jVF+wrOnPTaga+0hiRT/pwF6xbGBu0NDETQSceZk0Hw7Xu2YxHEGgr2q1w71DK+ydwLHmF4oNBS5r9CT60aXVA= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org DB71F4BA2E14 Received: from layka.disroot.org ([178.21.23.139]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1wA4Iw-0000yz-SB for gcc-patches@gnu.org; Tue, 07 Apr 2026 07:09:12 -0400 Received: from [127.0.0.1] (localhost [127.0.0.1]) by disroot.org (Postfix) with ESMTP id 4AF8C25A88; Tue, 7 Apr 2026 13:09:09 +0200 (CEST) X-Virus-Scanned: SPAM Filter at disroot.org Received: from layka.disroot.org ([127.0.0.1]) by localhost (disroot.org [127.0.0.1]) (amavis, port 10024) with ESMTP id 7ezqM__supTn; Tue, 7 Apr 2026 13:09:08 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=disroot.org; s=mail; t=1775560148; bh=NCM5rcJqEzCHnCYZ90Jd2mfaeRfEMaLecj+3UTp1zUQ=; h=From:To:Cc:Subject:Date:In-Reply-To:References; b=ayL2ulRfTBs330qUU8hIWqJfuF3P8A5ne7fgPkKYrDf3je3TTF1PXZ8n1sYhNdgzA jauCeuhSCiKPYCPZAv0Ped/C6oE9Sc55/xX696NLRZn3ai369Z+l5Spu1ycGLwne4o veX1aNCvkOUC6UXRCbp2X80IcNv6US3617JWfSKjLHIvpMr+CVmcxnJ6mWqBLBkM90 GFsDr2sEWzYQbOyGfaavS9pJTpzV0EUF8YMOc3kThv5XWlFrmPqfHpIDBI9Djw/8UD UkeHsS9JR65sTdT6ly6OKERho7Beq0wr9vC0Pv6rm3WdnqaBs5mQxrDfwGcu5kAsTM AVqV5M28Ve4qw== From: Yang Kun To: gcc-patches@gnu.org Cc: Yang Kun Subject: [PATCH 2/5] c++, openmp: Fix wrong error messages Date: Tue, 7 Apr 2026 19:08:23 +0800 Message-ID: <20260407110826.8427-2-yangkun@disroot.org> In-Reply-To: <20260407110826.8427-1-yangkun@disroot.org> References: <20260407110826.8427-1-yangkun@disroot.org> MIME-Version: 1.0 Received-SPF: pass client-ip=178.21.23.139; envelope-from=yangkun@disroot.org; helo=layka.disroot.org X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, RCVD_IN_VALIDITY_SAFE_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Status: No, score=-9.9 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, LOCAL_AUTHENTICATION_FAIL_SPF, RCVD_IN_VALIDITY_RPBL_BLOCKED, RCVD_IN_VALIDITY_SAFE_BLOCKED, SPF_FAIL, SPF_HELO_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on sourceware.org X-BeenThere: gcc-patches@gcc.gnu.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Gcc-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: gcc-patches-bounces~patchwork=sourceware.org@gcc.gnu.org Error messages wrongly said "invalid depend kind" gcc/cp/ChangeLog: * parser.cc (cp_parser_omp_clause_proc_bind): Fix error message (cp_parser_omp_clause_device_type): Likewise. gcc/testsuite/ChangeLog: * gcc/testsuite/g++.dg/gomp/clause-errmsg-1.C: New test. --- gcc/cp/parser.cc | 4 ++-- gcc/testsuite/g++.dg/gomp/clause-errmsg-1.C | 12 ++++++++++++ 2 files changed, 14 insertions(+), 2 deletions(-) create mode 100644 gcc/testsuite/g++.dg/gomp/clause-errmsg-1.C diff --git a/gcc/cp/parser.cc b/gcc/cp/parser.cc index 7b800af78..832d03f9f 100644 --- a/gcc/cp/parser.cc +++ b/gcc/cp/parser.cc @@ -45815,7 +45815,7 @@ cp_parser_omp_clause_proc_bind (cp_parser *parser, tree list, return c; invalid_kind: - cp_parser_error (parser, "invalid depend kind"); + cp_parser_error (parser, "invalid proc_bind kind"); resync_fail: cp_parser_skip_to_closing_parenthesis (parser, /*recovering=*/true, /*or_comma=*/false, @@ -45882,7 +45882,7 @@ cp_parser_omp_clause_device_type (cp_parser *parser, tree list, return c; invalid_kind: - cp_parser_error (parser, "invalid depend kind"); + cp_parser_error (parser, "invalid device_type kind"); resync_fail: cp_parser_skip_to_closing_parenthesis (parser, /*recovering=*/true, /*or_comma=*/false, diff --git a/gcc/testsuite/g++.dg/gomp/clause-errmsg-1.C b/gcc/testsuite/g++.dg/gomp/clause-errmsg-1.C new file mode 100644 index 000000000..608f63611 --- /dev/null +++ b/gcc/testsuite/g++.dg/gomp/clause-errmsg-1.C @@ -0,0 +1,12 @@ +// Verify that proc_bind and device_type clauses name the right clause +// in their diagnostics, not "depend". +// { dg-do compile } +// { dg-additional-options "-fopenmp" } + +void f () { + #pragma omp parallel proc_bind(bad) // { dg-error "invalid proc_bind kind" } + ; +} + +#pragma omp declare target device_type(bad) // { dg-error "invalid device_type kind" } +void g() {}