[PATCH][Arm] Test suite failures resulting from deprecation of -mstructure-size-boundary

Richard Earnshaw (lists) Richard.Earnshaw@arm.com
Wed Aug 9 08:21:00 GMT 2017


On 09/08/17 06:25, Michael Collison wrote:
> Because the comment (for example) in g+=.dg/ext/packed8.C says
> 
>  // 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.
> 
> If we could just delete the -mstructure-size-boundary=8 option why was it added in the first place?
> 

Because the comment it out of date.  It was added at a time when the
default structure size boundard (pre eabi) was 32.

R.

> -----Original Message-----
> From: Richard Earnshaw (lists) [mailto:Richard.Earnshaw@arm.com] 
> Sent: Monday, August 7, 2017 5:32 AM
> To: Michael Collison <Michael.Collison@arm.com>; gcc-patches@gcc.gnu.org
> Cc: nd <nd@arm.com>
> Subject: Re: [PATCH][Arm] Test suite failures resulting from deprecation of -mstructure-size-boundary
> 
> 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  <michael.collison@arm.com>
>>
>> 	* 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 <nathan@codesourcery.com> 
>> 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);
>>
> 



More information about the Gcc-patches mailing list