On 08/08/2012 06:41 PM, William J. Schmidt wrote: > On Wed, 2012-08-08 at 15:35 -0700, Janis Johnson wrote: >> On 08/08/2012 03:27 PM, Andrew Pinski wrote: >>> On Wed, Aug 8, 2012 at 3:25 PM, H.J. Lu <hjl.to...@gmail.com> wrote: >>>> On Wed, Aug 1, 2012 at 10:36 AM, William J. Schmidt >>>> <wschm...@linux.vnet.ibm.com> wrote:
>>>>> +/* { dg-do compile } */ >>>>> +/* { dg-options "-O3 -fdump-tree-dom2 -fwrapv" } */ >>>>> +/* { dg-skip-if "" { ilp32 } { "-m32" } { "" } } */ >>>>> + >>>> >>>> This doesn't work on x32 nor Linux/ia32 since -m32 >>>> may not be needed for ILP32. This patch works for >>>> me. OK to install? >>> >>> This also does not work for mips64 where the options are either >>> -mabi=32 or -mabi=n32 for ILP32. >>> >>> HJL's patch looks correct. >>> >>> Thanks, >>> Andrew >> >> There are GCC targets with 16-bit integers. What's the actual >> set of targets on which this test is meant to run? There's a list >> of effective-target names based on data type sizes in >> <http://gcc.gnu.org/onlinedocs/gccint/Effective_002dTarget-Keywords.html#Effective_002dTarget-Keywords>. > > Yes, sorry. The test really is only valid when int and long have > different sizes. So according to that link we should skip ilp32 and > llp64 at a minimum. It isn't clear what we should do for int16 since > the size of long isn't specified, so I suppose we should skip that as > well. So, perhaps modify HJ's patch to have > > /* { dg-do compile { target { ! { ilp32 llp64 int16 } } } } */ > > ? > > Thanks, > Bill That's confusing. Perhaps what you really need is a new effective target for "sizeof(int) != sizeof(long)". Janis