On 06/08/17 00:25, Michael Collison wrote:
> This patch fixes test case failures on arm targets due to
> '-mstructure-size-boundary' being deprecated. The test cases were failing
> because a warning was being issued and due to the fact that the size of
> packed and unpacked structures is the same after deprecating
> '-mstructure-size-boundary'
>
> Okay for trunk?
>
> 2017-08-04 Michael Collison <[email protected]>
>
> * testsuite/g++.dg/ext/packed8.C: Skip test for arm_eabi.
> * testsuite/g++.dg/init/array16.C: Skip test for arm_eabi.
> * testsuite/g++.dg/other/crash-4.C: Skip test for arm_eabi.
> * testsuite/gcc.dg/builtin-stringop-chk-1.c: Skip test for arm_eabi.
>
Why would we want to skip the test? If you delete the
-mstructure-size-boundary option then the test should execute correctly
on all arm-eabi based platforms and most other ARM platforms where 8 was
the default anyway.
R.
>
> pr7519v1.patch
>
>
> diff --git a/gcc/testsuite/g++.dg/ext/packed8.C
> b/gcc/testsuite/g++.dg/ext/packed8.C
> index 91ee8b3..4f38670 100644
> --- a/gcc/testsuite/g++.dg/ext/packed8.C
> +++ b/gcc/testsuite/g++.dg/ext/packed8.C
> @@ -2,7 +2,7 @@
> // NOTE: This test assumes packed structure layout differs from unpacked
> // structure layout. This isn't true, e.g., with the default
> // arm-none-elf options.
> -// { dg-options "-mstructure-size-boundary=8" { target arm*-*-* } }
> +// { dg-skip-if "packed structure layout does not differ from unpacked
> layout" { { arm*-*-* } && { arm_eabi } } }
>
> class A
> {
> diff --git a/gcc/testsuite/g++.dg/init/array16.C
> b/gcc/testsuite/g++.dg/init/array16.C
> index 188d1a8..3334e25 100644
> --- a/gcc/testsuite/g++.dg/init/array16.C
> +++ b/gcc/testsuite/g++.dg/init/array16.C
> @@ -1,7 +1,7 @@
> // Causes timeout for the MMIX simulator on a 3GHz P4 and we can't
> // have "compile" for some targets and "run" for others.
> // { dg-do run { target { ! mmix-*-* } } }
> -// { dg-options "-mstructure-size-boundary=8" { target arm*-*-* } }
> +// { dg-skip-if "packed structure layout does not differ from unpacked
> layout" { { arm*-*-* } && { arm_eabi } } }
>
> // Copyright (C) 2004 Free Software Foundation, Inc.
> // Contributed by Nathan Sidwell 8 Dec 2004 <[email protected]>
> diff --git a/gcc/testsuite/g++.dg/other/crash-4.C
> b/gcc/testsuite/g++.dg/other/crash-4.C
> index a77fe05..8530f44 100644
> --- a/gcc/testsuite/g++.dg/other/crash-4.C
> +++ b/gcc/testsuite/g++.dg/other/crash-4.C
> @@ -7,7 +7,7 @@
> // NOTE: This test assumes packed structure layout differs from unpacked
> // structure layout. This isn't true, e.g., with the default
> // arm-none-elf options.
> -// { dg-options "-mstructure-size-boundary=8" { target arm*-*-* } }
> +// { dg-skip-if "packed structure layout does not differ" { { arm*-*-* } &&
> { arm_eabi } } }
>
> struct a
> {
> diff --git a/gcc/testsuite/gcc.dg/builtin-stringop-chk-1.c
> b/gcc/testsuite/gcc.dg/builtin-stringop-chk-1.c
> index e265578..d839097 100644
> --- a/gcc/testsuite/gcc.dg/builtin-stringop-chk-1.c
> +++ b/gcc/testsuite/gcc.dg/builtin-stringop-chk-1.c
> @@ -2,7 +2,7 @@
> are emitted properly. */
> /* { dg-do compile } */
> /* { dg-options "-O2 -Wno-format -std=gnu99 -ftrack-macro-expansion=0" } */
> -/* { dg-additional-options "-mstructure-size-boundary=8" { target arm*-*-* }
> } */
> +// { dg-skip-if "packed structure layout does not differ from unpacked
> layout" { { arm*-*-* } && { arm_eabi } } }
> // { dg-skip-if "packed attribute missing for t" { "epiphany-*-*" } }
>
> extern void abort (void);
>