On Fri, 2014-04-25 at 10:59 +0200, Richard Biener wrote: > On Fri, 25 Apr 2014, Jakub Jelinek wrote: > > > On Thu, Apr 24, 2014 at 09:20:50PM -0600, Jeff Law wrote: > > > > PR tree-optimization/60930 > > > > * gcc.dg/torture/pr60930.c: New test. > > > Doesn't the test depend on long long being at least 64 bits? > > > > But that is guaranteed by C99, isn't it? > > But the testcase isn't built with -std=c99. > > > 5.2.4.2.1 says: > > > > ... Their implementation-defined values shall be equal or greater in > > magnitude > > (absolute value) to those shown, with the same sign. > > ... > > - maximum value for an object of type unsigned long long int ULLONG_MAX > > 18446744073709551615 // 2 64 − 1 > > > > > > What we've done for these kinds of tests in the past is: > > > > > > if (sizeof (whatever) < needed size) > > > exit (0); > > > > > > Another approach would be to use an effective target test and skip > > > the test if the target doesn't have a suitable long long. Look in > > > testsuite/lib/target-supports.exp for the various target > > > > If it was some other type, sure, one could use int32plus, lp64, etc. > > target, or #if __SIZEOF_type__ == ... > > I suggest the latter (#if). > > Ok with that change.
OK, agreed. I'll add the __SIZEOF_LONG_LONG__ check. I'll give it a week before backporting to 4.8 and 4.9. Thanks, Bill > > Thanks, > Richard.