From b69b6c681a0679ae9c1dd4e5237e68d34abbfb0e Mon Sep 17 00:00:00 2001 From: Rask Ingemann Lambertsen Date: Tue, 28 Aug 2007 23:01:37 +0200 Subject: [PATCH] limits-blockid.c: Reduce testcase size to 10000 for targets where "int" can't hold at least 100000. * gcc.c-torture/compile/limits-blockid.c: Reduce testcase size to 10000 for targets where "int" can't hold at least 100000. * gcc.c-torture/compile/limits-enumconst.c: Likewise. * gcc.dg/fold-eqandshift-1.c (INT_BITS): New. (test5)(test6): Use it. * gcc.dg/pr30744-1.c (r): Use pointer sized integer. * gcc.dg/tree-ssa/foldaddr-1.c (foo): Likewise. * gcc.dg/tree-ssa/loadpre6.c (main): Likewise. * gcc.dg/tls/opt-5.c (__gen_tempname): Avoid overflowing 16-bit int. * gcc.dg/attr-alloc_size.c (test): Likewise. From-SVN: r127870 --- gcc/testsuite/ChangeLog | 13 +++++++++++++ .../gcc.c-torture/compile/limits-blockid.c | 4 ++++ .../gcc.c-torture/compile/limits-enumconst.c | 4 ++++ gcc/testsuite/gcc.dg/attr-alloc_size.c | 4 ++-- gcc/testsuite/gcc.dg/fold-eqandshift-1.c | 14 ++++++++++++-- gcc/testsuite/gcc.dg/pr30744-1.c | 9 +++++---- gcc/testsuite/gcc.dg/tls/opt-5.c | 6 +++--- gcc/testsuite/gcc.dg/tree-ssa/foldaddr-1.c | 4 ++-- gcc/testsuite/gcc.dg/tree-ssa/loadpre6.c | 3 ++- 9 files changed, 47 insertions(+), 14 deletions(-) diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 64225d1d71c..d9dc83e8b6f 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,16 @@ +2007-08-28 Rask Ingemann Lambertsen + + * gcc.c-torture/compile/limits-blockid.c: Reduce testcase size to + 10000 for targets where "int" can't hold at least 100000. + * gcc.c-torture/compile/limits-enumconst.c: Likewise. + * gcc.dg/fold-eqandshift-1.c (INT_BITS): New. + (test5)(test6): Use it. + * gcc.dg/pr30744-1.c (r): Use pointer sized integer. + * gcc.dg/tree-ssa/foldaddr-1.c (foo): Likewise. + * gcc.dg/tree-ssa/loadpre6.c (main): Likewise. + * gcc.dg/tls/opt-5.c (__gen_tempname): Avoid overflowing 16-bit int. + * gcc.dg/attr-alloc_size.c (test): Likewise. + 2007-08-28 Paolo Carlini PR c++/33209 diff --git a/gcc/testsuite/gcc.c-torture/compile/limits-blockid.c b/gcc/testsuite/gcc.c-torture/compile/limits-blockid.c index 718c8673c2e..545dfe4dcb7 100644 --- a/gcc/testsuite/gcc.c-torture/compile/limits-blockid.c +++ b/gcc/testsuite/gcc.c-torture/compile/limits-blockid.c @@ -14,5 +14,9 @@ void q9_func(void) { +#if __INT_MAX__ >= 100000 LIM5(char t) +#else + LIM4(char t) +#endif } diff --git a/gcc/testsuite/gcc.c-torture/compile/limits-enumconst.c b/gcc/testsuite/gcc.c-torture/compile/limits-enumconst.c index 80ac342cd2f..975cafc833e 100644 --- a/gcc/testsuite/gcc.c-torture/compile/limits-enumconst.c +++ b/gcc/testsuite/gcc.c-torture/compile/limits-enumconst.c @@ -14,5 +14,9 @@ enum q21_enum { +#if __INT_MAX__ >= 100000 LIM5 (e) +#else + LIM4 (e) +#endif }; diff --git a/gcc/testsuite/gcc.dg/attr-alloc_size.c b/gcc/testsuite/gcc.dg/attr-alloc_size.c index e646e5e3f7f..47d7c005085 100644 --- a/gcc/testsuite/gcc.dg/attr-alloc_size.c +++ b/gcc/testsuite/gcc.dg/attr-alloc_size.c @@ -23,13 +23,13 @@ test (void) p = malloc1 (6); strcpy (p, "Hello"); strcpy (p, "Hello World"); /* { dg-warning "will always overflow" "strcpy" } */ - p = malloc2 (424242, 6); + p = malloc2 (__INT_MAX__ >= 1700000 ? 424242 : __INT_MAX__ / 4, 6); strcpy (p, "World"); strcpy (p, "Hello World"); /* { dg-warning "will always overflow" "strcpy" } */ p = calloc1 (2, 5); strcpy (p, "World"); strcpy (p, "Hello World"); /* { dg-warning "will always overflow" "strcpy" } */ - p = calloc2 (2, 424242, 5); + p = calloc2 (2, __INT_MAX__ >= 1700000 ? 424242 : __INT_MAX__ / 4, 5); strcpy (p, "World"); strcpy (p, "Hello World"); /* { dg-warning "will always overflow" "strcpy" } */ } diff --git a/gcc/testsuite/gcc.dg/fold-eqandshift-1.c b/gcc/testsuite/gcc.dg/fold-eqandshift-1.c index 34906bad020..055f398af0b 100644 --- a/gcc/testsuite/gcc.dg/fold-eqandshift-1.c +++ b/gcc/testsuite/gcc.dg/fold-eqandshift-1.c @@ -25,15 +25,25 @@ int test4(int d) return (d >> 3) & 4; } +#if __INT_MAX__ == 32767 +#define INT_BITS 16 +#elif __INT_MAX__ == 2147483647 +#define INT_BITS 32 +#elif __INT_MAX__ == 9223372036854775807 +#define INT_BITS 64 +#else +#error Please add support for your target here. +#endif + void test5(int e) { - if ((e >> 31) & 64) + if ((e >> (INT_BITS - 1)) & 64) foo(); } void test6(unsigned int f) { - if ((f >> 31) & 64) + if ((f >> (INT_BITS - 1)) & 64) foo(); } diff --git a/gcc/testsuite/gcc.dg/pr30744-1.c b/gcc/testsuite/gcc.dg/pr30744-1.c index f0734db60f2..a35c5526aa1 100644 --- a/gcc/testsuite/gcc.dg/pr30744-1.c +++ b/gcc/testsuite/gcc.dg/pr30744-1.c @@ -1,15 +1,16 @@ /* { dg-do compile } */ /* { dg-options "-O2" } */ +#include typedef struct { - unsigned long unique; + ptrdiff_t unique; } G; void r(G* n) { - unsigned long p; - if (((G *) ((void *)((~(unsigned long)(p))))) != ((void *)0)) { - ((G *) ((void *)((~(unsigned long)(p)))))->unique = n->unique; + ptrdiff_t p; + if (((G *) ((void *)((~(ptrdiff_t)(p))))) != ((void *)0)) { + ((G *) ((void *)((~(ptrdiff_t)(p)))))->unique = n->unique; } } diff --git a/gcc/testsuite/gcc.dg/tls/opt-5.c b/gcc/testsuite/gcc.dg/tls/opt-5.c index d8a686ddb46..ee71cad3c02 100644 --- a/gcc/testsuite/gcc.dg/tls/opt-5.c +++ b/gcc/testsuite/gcc.dg/tls/opt-5.c @@ -34,12 +34,12 @@ __gen_tempname (char *tmpl, int kind) char *XXXXXX; static uint64_t value; uint64_t random_time_bits; - unsigned int count; + unsigned long count; int fd = -1; int save_errno = __libc_errno; struct stat64 st; - unsigned int attempts_min = 62 * 62 * 62; - unsigned int attempts = attempts_min < 238328 ? 238328 : attempts_min; + unsigned long attempts_min = 62L * 62L * 62L; + unsigned long attempts = attempts_min < 238328 ? 238328 : attempts_min; len = strlen (tmpl); if (len < 6 || strcmp(&tmpl[len - 6], "XXXXXX")) diff --git a/gcc/testsuite/gcc.dg/tree-ssa/foldaddr-1.c b/gcc/testsuite/gcc.dg/tree-ssa/foldaddr-1.c index 2c040278436..a92498eb1f6 100644 --- a/gcc/testsuite/gcc.dg/tree-ssa/foldaddr-1.c +++ b/gcc/testsuite/gcc.dg/tree-ssa/foldaddr-1.c @@ -1,11 +1,11 @@ /* { dg-do compile } */ /* { dg-options "-O1 -fdump-tree-original" } */ - +#include char *a; int foo(char *b) { - return a+5+(long)b == (long)b+a; + return a+5+(ptrdiff_t)b == (ptrdiff_t)b+a; } /* Folding should have determined that the two addresses were diff --git a/gcc/testsuite/gcc.dg/tree-ssa/loadpre6.c b/gcc/testsuite/gcc.dg/tree-ssa/loadpre6.c index 28a71a8e63f..725f86b192f 100644 --- a/gcc/testsuite/gcc.dg/tree-ssa/loadpre6.c +++ b/gcc/testsuite/gcc.dg/tree-ssa/loadpre6.c @@ -1,5 +1,6 @@ /* { dg-do compile } */ /* { dg-options "-O2 -fdump-tree-pre-stats" } */ +#include union tree_node; typedef union tree_node *tree; @@ -63,7 +64,7 @@ main (void) for (i = 0; i < 2; i++) { unexpanded_var_list = malloc (sizeof (struct tree_list)); - unexpanded_var_list->list.value = (tree) (long unsigned) (i & 1); + unexpanded_var_list->list.value = (tree) (ptrdiff_t) (i & 1); unexpanded_var_list->common.chain = last; last = unexpanded_var_list; } -- 2.30.2