public inbox for gcc@gcc.gnu.org
 help / color / mirror / Atom feed
From: David Malcolm <dmalcolm@redhat.com>
To: FX <fxcoudert@gmail.com>, Hans-Peter Nilsson <hp@bitrange.com>
Cc: GCC Mailing List <gcc@gcc.gnu.org>,
	Iain Sandoe <iain@sandoe.co.uk>,
	David Malcolm <dmalcolm@redhat.com>
Subject: [PATCH] testsuite: avoid analyzer asm failures on non-Linux
Date: Thu, 20 Jan 2022 19:08:35 -0500	[thread overview]
Message-ID: <20220121000835.2354878-1-dmalcolm@redhat.com> (raw)
In-Reply-To: <37DCD537-51A8-4376-B244-61432E10748D@gmail.com>

On Sun, 2022-01-16 at 12:11 +0100, FX wrote:
> > No, that's "dg-do compile" (as in "compile but don't assemble").
> 
> I can confirm that this patch:
> 
> diff --git a/gcc/testsuite/gcc.dg/analyzer/asm-x86-lp64-1.c
> b/gcc/testsuite/gcc.dg/analyzer/asm-x86-lp64-1.c
> index c235e22fd01..4730255bb3c 100644
> --- a/gcc/testsuite/gcc.dg/analyzer/asm-x86-lp64-1.c
> +++ b/gcc/testsuite/gcc.dg/analyzer/asm-x86-lp64-1.c
> @@ -1,4 +1,4 @@
> -/* { dg-do assemble { target x86_64-*-* } } */
> +/* { dg-do compile { target x86_64-*-* } } */
>  /* { dg-require-effective-target lp64 } */
>  
>  #include "analyzer-decls.h”
> 
> 
> fixes the gcc.dg/analyzer/asm-x86-lp64-1.c failure on
> x86_64-apple-darwin. The same is true of this one:
> 
> diff --git
> a/gcc/testsuite/gcc.dg/analyzer/torture/asm-x86-linux-wfx_get_ps_timeout-full.c
> b/gcc/testsuite/gcc.dg/analyzer/torture/asm-x86-linux-wfx_get_ps_timeout-full.c
> index e90dccf58dd..4cbf43206dc 100644
> ---
> a/gcc/testsuite/gcc.dg/analyzer/torture/asm-x86-linux-wfx_get_ps_timeout-full.c
> +++
> b/gcc/testsuite/gcc.dg/analyzer/torture/asm-x86-linux-wfx_get_ps_timeout-full.c
> @@ -1,4 +1,4 @@
> -/* { dg-do assemble { target x86_64-*-* } } */
> +/* { dg-do compile { target x86_64-*-* } } */
>  /* { dg-require-effective-target lp64 } */
>  /* { dg-additional-options "-fsanitize=bounds
> -fno-analyzer-call-summaries" } */
>  /* { dg-skip-if "" { *-*-* } { "-O0" } { "" } } */
> 
> 
> 
> These other three:
> FAIL: gcc.dg/analyzer/torture/asm-x86-linux-cpuid-paravirt-1.c
> FAIL: gcc.dg/analyzer/torture/asm-x86-linux-cpuid-paravirt-2.c
> FAIL: gcc.dg/analyzer/torture/asm-x86-linux-rdmsr-paravirt.c
> 
> still fail with dg-do compile, as explained, become the error comes
> from the C front-end, not the assembler:
> 
> /Users/fx/gcc/gcc/testsuite/gcc.dg/analyzer/torture/asm-x86-linux-cpuid-paravirt-1.c:27:3:
> warning: 'asm' operand 6 probably does not match constraints
> /Users/fx/gcc/gcc/testsuite/gcc.dg/analyzer/torture/asm-x86-linux-cpuid-paravirt-1.c:27:3:
> error: impossible constraint in 'asm'

Thanks.  I extended your patch as follows, which works successfully for
me on x86_64-pc-linux-gnu.

Does the following look OK for the analyzer asm failures on
x86_64-apple-darwin?

Dave

gcc/testsuite/ChangeLog:
	* gcc.dg/analyzer/asm-x86-1.c: Use dg-do "compile" rather than
	"assemble".
	* gcc.dg/analyzer/asm-x86-lp64-1.c: Likewise.
	* gcc.dg/analyzer/asm-x86-lp64-2.c: Likewise.
	* gcc.dg/analyzer/torture/asm-x86-linux-array_index_mask_nospec.c:
	Likewise.
	* gcc.dg/analyzer/torture/asm-x86-linux-cpuid-paravirt-1.c:
	Likewise, and restrict to x86_64-pc-linux-gnu.
	* gcc.dg/analyzer/torture/asm-x86-linux-cpuid-paravirt-2.c: Likewise.
	* gcc.dg/analyzer/torture/asm-x86-linux-cpuid.c: Use dg-do
	"compile" rather than "assemble".
	* gcc.dg/analyzer/torture/asm-x86-linux-rdmsr-paravirt.c:
	Likewise, and restrict to x86_64-pc-linux-gnu.
	* gcc.dg/analyzer/torture/asm-x86-linux-rdmsr.c: Use dg-do
	"compile" rather than "assemble".
	* gcc.dg/analyzer/torture/asm-x86-linux-wfx_get_ps_timeout-full.c:
	Likewise.
	* gcc.dg/analyzer/torture/asm-x86-linux-wfx_get_ps_timeout-reduced.c:
	Likewise.

Signed-off-by: David Malcolm <dmalcolm@redhat.com>
---
 gcc/testsuite/gcc.dg/analyzer/asm-x86-1.c                       | 2 +-
 gcc/testsuite/gcc.dg/analyzer/asm-x86-lp64-1.c                  | 2 +-
 gcc/testsuite/gcc.dg/analyzer/asm-x86-lp64-2.c                  | 2 +-
 .../analyzer/torture/asm-x86-linux-array_index_mask_nospec.c    | 2 +-
 .../gcc.dg/analyzer/torture/asm-x86-linux-cpuid-paravirt-1.c    | 2 +-
 .../gcc.dg/analyzer/torture/asm-x86-linux-cpuid-paravirt-2.c    | 2 +-
 gcc/testsuite/gcc.dg/analyzer/torture/asm-x86-linux-cpuid.c     | 2 +-
 .../gcc.dg/analyzer/torture/asm-x86-linux-rdmsr-paravirt.c      | 2 +-
 gcc/testsuite/gcc.dg/analyzer/torture/asm-x86-linux-rdmsr.c     | 2 +-
 .../analyzer/torture/asm-x86-linux-wfx_get_ps_timeout-full.c    | 2 +-
 .../analyzer/torture/asm-x86-linux-wfx_get_ps_timeout-reduced.c | 2 +-
 11 files changed, 11 insertions(+), 11 deletions(-)

diff --git a/gcc/testsuite/gcc.dg/analyzer/asm-x86-1.c b/gcc/testsuite/gcc.dg/analyzer/asm-x86-1.c
index f6026b7e288..a3f86e440b5 100644
--- a/gcc/testsuite/gcc.dg/analyzer/asm-x86-1.c
+++ b/gcc/testsuite/gcc.dg/analyzer/asm-x86-1.c
@@ -1,4 +1,4 @@
-/* { dg-do assemble { target x86_64-*-* } } */
+/* { dg-do compile { target x86_64-*-* } } */
 
 #include "analyzer-decls.h"
 
diff --git a/gcc/testsuite/gcc.dg/analyzer/asm-x86-lp64-1.c b/gcc/testsuite/gcc.dg/analyzer/asm-x86-lp64-1.c
index c235e22fd01..4730255bb3c 100644
--- a/gcc/testsuite/gcc.dg/analyzer/asm-x86-lp64-1.c
+++ b/gcc/testsuite/gcc.dg/analyzer/asm-x86-lp64-1.c
@@ -1,4 +1,4 @@
-/* { dg-do assemble { target x86_64-*-* } } */
+/* { dg-do compile { target x86_64-*-* } } */
 /* { dg-require-effective-target lp64 } */
 
 #include "analyzer-decls.h"
diff --git a/gcc/testsuite/gcc.dg/analyzer/asm-x86-lp64-2.c b/gcc/testsuite/gcc.dg/analyzer/asm-x86-lp64-2.c
index fa507395ec7..2864ab69d2a 100644
--- a/gcc/testsuite/gcc.dg/analyzer/asm-x86-lp64-2.c
+++ b/gcc/testsuite/gcc.dg/analyzer/asm-x86-lp64-2.c
@@ -1,4 +1,4 @@
-/* { dg-do assemble { target x86_64-*-* } } */
+/* { dg-do compile { target x86_64-*-* } } */
 /* { dg-require-effective-target lp64 } */
 
 /* Adapted from Linux x86: page_ref_dec_and_test.c (GPL-2.0).  */
diff --git a/gcc/testsuite/gcc.dg/analyzer/torture/asm-x86-linux-array_index_mask_nospec.c b/gcc/testsuite/gcc.dg/analyzer/torture/asm-x86-linux-array_index_mask_nospec.c
index 6201fdb498f..b2d615c22b9 100644
--- a/gcc/testsuite/gcc.dg/analyzer/torture/asm-x86-linux-array_index_mask_nospec.c
+++ b/gcc/testsuite/gcc.dg/analyzer/torture/asm-x86-linux-array_index_mask_nospec.c
@@ -1,4 +1,4 @@
-/* { dg-do assemble { target x86_64-*-* } } */
+/* { dg-do compile { target x86_64-*-* } } */
 /* { dg-require-effective-target lp64 } */
 /* { dg-skip-if "" { *-*-* } { "-fno-fat-lto-objects" } { "" } } */
 
diff --git a/gcc/testsuite/gcc.dg/analyzer/torture/asm-x86-linux-cpuid-paravirt-1.c b/gcc/testsuite/gcc.dg/analyzer/torture/asm-x86-linux-cpuid-paravirt-1.c
index cf5cf97367d..9861c2d15ca 100644
--- a/gcc/testsuite/gcc.dg/analyzer/torture/asm-x86-linux-cpuid-paravirt-1.c
+++ b/gcc/testsuite/gcc.dg/analyzer/torture/asm-x86-linux-cpuid-paravirt-1.c
@@ -1,4 +1,4 @@
-/* { dg-do assemble { target x86_64-*-* } } */
+/* { dg-do compile { target x86_64-pc-linux-gnu } } */
 /* { dg-require-effective-target lp64 } */
 /* { dg-skip-if "" { *-*-* } { "-O0" } { "" } } */
 /* { dg-skip-if "" { *-*-* } { "-fno-fat-lto-objects" } { "" } } */
diff --git a/gcc/testsuite/gcc.dg/analyzer/torture/asm-x86-linux-cpuid-paravirt-2.c b/gcc/testsuite/gcc.dg/analyzer/torture/asm-x86-linux-cpuid-paravirt-2.c
index c4b365f1e6e..09fef5ddfcc 100644
--- a/gcc/testsuite/gcc.dg/analyzer/torture/asm-x86-linux-cpuid-paravirt-2.c
+++ b/gcc/testsuite/gcc.dg/analyzer/torture/asm-x86-linux-cpuid-paravirt-2.c
@@ -1,4 +1,4 @@
-/* { dg-do assemble { target x86_64-*-* } } */
+/* { dg-do compile { target x86_64-pc-linux-gnu } } */
 /* { dg-require-effective-target lp64 } */
 /* { dg-skip-if "" { *-*-* } { "-O0" } { "" } } */
 /* { dg-skip-if "" { *-*-* } { "-fno-fat-lto-objects" } { "" } } */
diff --git a/gcc/testsuite/gcc.dg/analyzer/torture/asm-x86-linux-cpuid.c b/gcc/testsuite/gcc.dg/analyzer/torture/asm-x86-linux-cpuid.c
index 243931aebc8..518fe8c286c 100644
--- a/gcc/testsuite/gcc.dg/analyzer/torture/asm-x86-linux-cpuid.c
+++ b/gcc/testsuite/gcc.dg/analyzer/torture/asm-x86-linux-cpuid.c
@@ -1,4 +1,4 @@
-/* { dg-do assemble { target x86_64-*-* } } */
+/* { dg-do compile { target x86_64-*-* } } */
 /* { dg-require-effective-target lp64 } */
 
 #include "../analyzer-decls.h"
diff --git a/gcc/testsuite/gcc.dg/analyzer/torture/asm-x86-linux-rdmsr-paravirt.c b/gcc/testsuite/gcc.dg/analyzer/torture/asm-x86-linux-rdmsr-paravirt.c
index d9947871235..ed807ab8fc8 100644
--- a/gcc/testsuite/gcc.dg/analyzer/torture/asm-x86-linux-rdmsr-paravirt.c
+++ b/gcc/testsuite/gcc.dg/analyzer/torture/asm-x86-linux-rdmsr-paravirt.c
@@ -1,6 +1,6 @@
 /* Adapted from Linux: arch/x86/include/asm/paravirt.h */
 
-/* { dg-do assemble { target x86_64-*-* } } */
+/* { dg-do compile { target x86_64-pc-linux-gnu } } */
 /* { dg-skip-if "" { *-*-* } { "-fno-fat-lto-objects" } { "" } } */
 /* { dg-skip-if "" { *-*-* } { "-O0" } { "" } } */
 
diff --git a/gcc/testsuite/gcc.dg/analyzer/torture/asm-x86-linux-rdmsr.c b/gcc/testsuite/gcc.dg/analyzer/torture/asm-x86-linux-rdmsr.c
index 69d0165aefe..3735d33444e 100644
--- a/gcc/testsuite/gcc.dg/analyzer/torture/asm-x86-linux-rdmsr.c
+++ b/gcc/testsuite/gcc.dg/analyzer/torture/asm-x86-linux-rdmsr.c
@@ -1,4 +1,4 @@
-/* { dg-do assemble { target x86_64-*-* } } */
+/* { dg-do compile { target x86_64-*-* } } */
 /* { dg-skip-if "" { *-*-* } { "-fno-fat-lto-objects" } { "" } } */
 
 #include "../analyzer-decls.h"
diff --git a/gcc/testsuite/gcc.dg/analyzer/torture/asm-x86-linux-wfx_get_ps_timeout-full.c b/gcc/testsuite/gcc.dg/analyzer/torture/asm-x86-linux-wfx_get_ps_timeout-full.c
index e90dccf58dd..4cbf43206dc 100644
--- a/gcc/testsuite/gcc.dg/analyzer/torture/asm-x86-linux-wfx_get_ps_timeout-full.c
+++ b/gcc/testsuite/gcc.dg/analyzer/torture/asm-x86-linux-wfx_get_ps_timeout-full.c
@@ -1,4 +1,4 @@
-/* { dg-do assemble { target x86_64-*-* } } */
+/* { dg-do compile { target x86_64-*-* } } */
 /* { dg-require-effective-target lp64 } */
 /* { dg-additional-options "-fsanitize=bounds -fno-analyzer-call-summaries" } */
 /* { dg-skip-if "" { *-*-* } { "-O0" } { "" } } */
diff --git a/gcc/testsuite/gcc.dg/analyzer/torture/asm-x86-linux-wfx_get_ps_timeout-reduced.c b/gcc/testsuite/gcc.dg/analyzer/torture/asm-x86-linux-wfx_get_ps_timeout-reduced.c
index a18c58c5e61..e046d8c03b1 100644
--- a/gcc/testsuite/gcc.dg/analyzer/torture/asm-x86-linux-wfx_get_ps_timeout-reduced.c
+++ b/gcc/testsuite/gcc.dg/analyzer/torture/asm-x86-linux-wfx_get_ps_timeout-reduced.c
@@ -1,4 +1,4 @@
-/* { dg-do assemble { target x86_64-*-* } } */
+/* { dg-do compile { target x86_64-*-* } } */
 /* { dg-require-effective-target lp64 } */
 
 /* Reproducer for false positive from -Wanalyzer-null-dereference seen
-- 
2.26.3


  reply	other threads:[~2022-01-21  0:08 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-12-23 21:49 Many analyzer failures on non-Linux system (x86_64-apple-darwin) FX
2022-01-10 16:13 ` FX
2022-01-10 20:58   ` David Malcolm
2022-01-15 14:19     ` FX
2022-01-15 14:31       ` Iain Sandoe
2022-01-16  1:35     ` Hans-Peter Nilsson
2022-01-16 11:11       ` FX
2022-01-21  0:08         ` David Malcolm [this message]
2022-02-07 17:08           ` [PATCH] testsuite: avoid analyzer asm failures on non-Linux FX
2022-02-07 23:35             ` David Malcolm

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20220121000835.2354878-1-dmalcolm@redhat.com \
    --to=dmalcolm@redhat.com \
    --cc=fxcoudert@gmail.com \
    --cc=gcc@gcc.gnu.org \
    --cc=hp@bitrange.com \
    --cc=iain@sandoe.co.uk \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).