On Sun, 2022-05-08 at 10:31 +0300, Dimitar Dimitrov wrote:
> On default_packed targets like PRU, a warning in the file included
> from
> analyzer/pr51628-30.c is reported as spurious one, even though it has
> been
> annotated there:
> 
>   Excess errors:
>   gcc/gcc/testsuite/gcc.dg/analyzer/torture/../../../c-c++-
> common/pr51628-30.c:7:19: warning: 'packed' attribute ignored for
> field of type 'struct B' [-Wattributes]
> 
> DejaGnu does not preprocess the C test case sources.  Hence the "dg-
> *"
> statements in included files are ignored.
> 
> Mark that gcc.dg/analyzer/torture/pr51628-30.c generates excess
> warnings
> for default_packed targets.  This is safe because the original test
> case
> covered an ICE, not a diagnostic error.

Indeed; for reference, the ICE was part of PR analyzer/93388 (part of
ensuring that -fanalyzer doesn't ICE on less common tree codes).

> 
> Ok for trunk?

Thanks; looks good to me.  Sorry about the noise.

Dave

> 
> gcc/testsuite/ChangeLog:
> 
>         * gcc.dg/analyzer/torture/pr51628-30.c: Test can spill excess
>         errors for default_packed targets.
> 
> CC: David Malcolm <dmalc...@redhat.com>
> Signed-off-by: Dimitar Dimitrov <dimi...@dinux.eu>
> ---
>  gcc/testsuite/gcc.dg/analyzer/torture/pr51628-30.c | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/gcc/testsuite/gcc.dg/analyzer/torture/pr51628-30.c
> b/gcc/testsuite/gcc.dg/analyzer/torture/pr51628-30.c
> index 4513e0f890c..abc13413f2b 100644
> --- a/gcc/testsuite/gcc.dg/analyzer/torture/pr51628-30.c
> +++ b/gcc/testsuite/gcc.dg/analyzer/torture/pr51628-30.c
> @@ -1,3 +1,4 @@
>  /* { dg-additional-options "-Wno-address-of-packed-member" } */
> +/* { dg-excess-errors "warnings about ignored 'packed' attribute" {
> target default_packed } } */
>  
>  #include "../../../c-c++-common/pr51628-30.c"


Reply via email to