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
next prev parent 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).