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 562233858D37 for ; Thu, 30 Nov 2023 17:31:20 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 562233858D37 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=redhat.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=redhat.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 562233858D37 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=170.10.129.124 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1701365481; cv=none; b=ZFv2jrAgP6IBCqSQu4K8oLcAk9IJ6bgnweEbR5NEPKtDVi+MMpEXhtLsTeiXqAvIc/jDsx718WY19HPPimkcCr7AYIxTX8ataE5YDblQFos8RgiGTuo3c4DMeCwKev4XMXGMxncoKaZ314aJ8sHS7EhwiMHRXMxARoHgQfIzrmQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1701365481; c=relaxed/simple; bh=5FuxyasaJTYrTyuaYIR8qmmaTelbamphvcsk/cT2T/k=; h=DKIM-Signature:Date:From:To:Subject:Message-ID:MIME-Version; b=YW9lq5Qt6OaHruWxcseE7yty3Euuw4PBeRkLcwBBYuYVzfLWDx0IPc3ANmQyC4jTjUZvJGfrAxYvIOyYgiBF/ZKfR/AMfRTVAtM5he14SmV5zI0lB7uQ1B6BdmuJZmeEFMLefbOFqJyTFyF8mZz8GkOwD5H7eBdgmSGNyXM5avM= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1701365479; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=eSgBU5myLewVFenbu00RjH+gZRrMVIgFj9Y/JjyAoY0=; b=QuG/WYCH/bFm7I4Hx5xikZ4uPchNV/a4VUq1YNbD2+Ay3rSIWGWooo26OjPSe9FzcmtZWN 8ajz7BeVlKq7/IJZuAZwZv6rZ4/NjSI1oOQ9VozVP3jvxfs7vbv8KNLvGJW8maKRsrzUmO PPOGwinCz+47w4io3UXUkTtQnTu5kts= Received: from mail-qv1-f69.google.com (mail-qv1-f69.google.com [209.85.219.69]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-587-1ZVb2P2ANlqTwOBukw3Iog-1; Thu, 30 Nov 2023 12:31:16 -0500 X-MC-Unique: 1ZVb2P2ANlqTwOBukw3Iog-1 Received: by mail-qv1-f69.google.com with SMTP id 6a1803df08f44-67a36367feaso26359166d6.1 for ; Thu, 30 Nov 2023 09:31:15 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1701365474; x=1701970274; h=user-agent:in-reply-to:content-disposition:mime-version:references :message-id:subject:cc:to:from:date:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=eSgBU5myLewVFenbu00RjH+gZRrMVIgFj9Y/JjyAoY0=; b=ofkKGLaCy7Ar3lNVPuAC+FJ67ZU0qxWgE1wiCwckDHUeZNgekuYUuTbfxy51Tnz9m1 WvTK0kebKKHJHpcACMPkLvOB3BO8gCmJCLQC37Wbn3WGFnCorYMyyYgVMLQdNMofd7hL bkhiCKbX+FyqAoqCkO3TmgtgOVu+mAknQJWMZU1GyrbvjU1bsGjwK/iIXa5o7cwvFzqK bVPn6DYVHxOvQz6oe1P4n7zvXVTEbWqcXqoDolSPaRxks3920gm10SdCWFymL1p7zEs8 3Aq1aJSm1Iq3mWuPxK8cjxB52HkhzmkJCr54q5t8Ro2NmZALZ5Ow7MjYe3VGJb1R3Fm1 5Zew== X-Gm-Message-State: AOJu0YyBrRLNilG9nP0+oLTVvUBs5YewqvCOV84G80FSqA/VeAG7C0Du +zC0+DfjqJedfO3wqadnaZH5c0n2KwZp+fkIaVTrWg0RdHBgPctEFVCTkc4eTDccEipiKGwEjrq CeqVuPQnqfxgDM35s6TXNrQlYBw== X-Received: by 2002:a05:6214:519:b0:66d:9945:5a93 with SMTP id px25-20020a056214051900b0066d99455a93mr36852570qvb.9.1701365474455; Thu, 30 Nov 2023 09:31:14 -0800 (PST) X-Google-Smtp-Source: AGHT+IGGnoenYLs3tU7tQNwACZYGoSKONb8PGGf1K2d2e64WMUE21GgFYq0/tCRFUL3LKNQr+KclbQ== X-Received: by 2002:a05:6214:519:b0:66d:9945:5a93 with SMTP id px25-20020a056214051900b0066d99455a93mr36852537qvb.9.1701365474102; Thu, 30 Nov 2023 09:31:14 -0800 (PST) Received: from redhat.com (2603-7000-9500-34a5-0000-0000-0000-1db4.res6.spectrum.com. [2603:7000:9500:34a5::1db4]) by smtp.gmail.com with ESMTPSA id b18-20020a0c9b12000000b0065b13180892sm689210qve.16.2023.11.30.09.31.13 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 30 Nov 2023 09:31:13 -0800 (PST) Date: Thu, 30 Nov 2023 12:31:12 -0500 From: Marek Polacek To: Florian Weimer Cc: gcc-patches@gcc.gnu.org Subject: Re: [PATCH v3 04/11] Add tests for validating future C permerrors Message-ID: References: <39c669e5eb8d904ce59ad18f3cd0368959ec067b.1700473918.git.fweimer@redhat.com> MIME-Version: 1.0 In-Reply-To: <39c669e5eb8d904ce59ad18f3cd0368959ec067b.1700473918.git.fweimer@redhat.com> User-Agent: Mutt/2.2.9 (2022-11-12) X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset=us-ascii Content-Disposition: inline X-Spam-Status: No, score=-11.5 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_NONE,RCVD_IN_MSPIKE_H4,RCVD_IN_MSPIKE_WL,RCVD_IN_SORBS_WEB,SPF_HELO_NONE,SPF_NONE,TXREP,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: On Mon, Nov 20, 2023 at 10:56:03AM +0100, Florian Weimer wrote: > The dg-error directives for gcc.dg/permerror-system.c can be generated > using (for the most part at least): > > perl -ne 'print if s,.*(/\* \{ dg-error .*) } \*/$,$1 "" { target *-*-* } $. } */,' \ > < gcc/testsuite/gcc.dg/permerror-default.c > > gcc/testsuite/ > > * gcc.dg/permerror-default.c: New test. > * gcc.dg/permerror-fpermissive.c: Likewise. > * gcc.dg/permerror-fpermissive-nowarning.c: Likewise. > * gcc.dg/permerror-gnu89-nopermissive.c: Likewise. > No permerrors yet, so this matches gcc.dg/permerror-gnu89.c > for now. > * gcc.dg/permerror-gnu89-pedantic.c: New test. > * gcc.dg/permerror-gnu89.c: Likewise. > * gcc.dg/permerror-noerror.c: Likewise. > * gcc.dg/permerror-nowarning.c: Likewise. > * gcc.dg/permerror-pedantic.c: Likewise. > * gcc.dg/permerror-system.c: Likewise. > --- > gcc/testsuite/gcc.dg/permerror-default.c | 85 +++++++++++++++++++ > .../gcc.dg/permerror-fpermissive-nowarning.c | 11 +++ > gcc/testsuite/gcc.dg/permerror-fpermissive.c | 85 +++++++++++++++++++ > .../gcc.dg/permerror-gnu89-nopermissive.c | 85 +++++++++++++++++++ > .../gcc.dg/permerror-gnu89-pedantic.c | 85 +++++++++++++++++++ > gcc/testsuite/gcc.dg/permerror-gnu89.c | 85 +++++++++++++++++++ > gcc/testsuite/gcc.dg/permerror-noerror.c | 85 +++++++++++++++++++ > gcc/testsuite/gcc.dg/permerror-nowarning.c | 10 +++ > gcc/testsuite/gcc.dg/permerror-pedantic.c | 85 +++++++++++++++++++ > gcc/testsuite/gcc.dg/permerror-system.c | 9 ++ > 10 files changed, 625 insertions(+) > create mode 100644 gcc/testsuite/gcc.dg/permerror-default.c > create mode 100644 gcc/testsuite/gcc.dg/permerror-fpermissive-nowarning.c > create mode 100644 gcc/testsuite/gcc.dg/permerror-fpermissive.c > create mode 100644 gcc/testsuite/gcc.dg/permerror-gnu89-nopermissive.c > create mode 100644 gcc/testsuite/gcc.dg/permerror-gnu89-pedantic.c > create mode 100644 gcc/testsuite/gcc.dg/permerror-gnu89.c > create mode 100644 gcc/testsuite/gcc.dg/permerror-noerror.c > create mode 100644 gcc/testsuite/gcc.dg/permerror-nowarning.c > create mode 100644 gcc/testsuite/gcc.dg/permerror-pedantic.c > create mode 100644 gcc/testsuite/gcc.dg/permerror-system.c > > diff --git a/gcc/testsuite/gcc.dg/permerror-default.c b/gcc/testsuite/gcc.dg/permerror-default.c > new file mode 100644 > index 00000000000..ea0be1dc89f > --- /dev/null > +++ b/gcc/testsuite/gcc.dg/permerror-default.c > @@ -0,0 +1,85 @@ > +/* { dg-options "" } */ > + > +/* Overview test for C permerrors. This test should be kept in sync with the > + other permerror-* tests. If new permerrors are added, test cases should be > + added to this and the other files. */ > + > +void > +implicit_function_declaration (void) > +{ > + f1 (); /* { dg-warning "'f1' \\\[-Wimplicit-function-declaration\\\]" } */ > +} > + > +extern implicit_int_1; /* { dg-warning "'implicit_int_1' \\\[-Wimplicit-int\\\]" } */ Oy, these \ tend to get unwieldy. You could probably just say { dg-warning {-Wimplicit-int} } > + return incompatible_pointer_types; /* { dg-error "returning 'int \\\* \\\(\\\*\\\)\\\(int\\\)' from a function with incompatible return type 'int \\\*' \\\[-Wincompatible-pointer-types\\\]" } */ And here maybe { dg-error {returning 'int \* \(\*\)\(int\)' from a function with incompatible return type 'int \*' \[-Wincompatible-pointer-types\]} } could work the same. But you don't have to go and change it; I don't want to make more work for you. > --- /dev/null > +++ b/gcc/testsuite/gcc.dg/permerror-system.c > @@ -0,0 +1,9 @@ > +/* { dg-options "-isystem ${srcdir}" } */ > + > +/* Test that permerrors appear in system headers. */ > + > +/* The dg-* directives in the header file are ignored. No warnings are > + expected. */ > +#include Why not just #include "permerror-default.c"? I think this patch is OK. Marek