diff options
Diffstat (limited to 'gcc/testsuite/gcc.c-torture/compile')
-rw-r--r-- | gcc/testsuite/gcc.c-torture/compile/20070827-1.c | 20 | ||||
-rw-r--r-- | gcc/testsuite/gcc.c-torture/compile/limits-blockid.c | 4 | ||||
-rw-r--r-- | gcc/testsuite/gcc.c-torture/compile/limits-enumconst.c | 4 | ||||
-rw-r--r-- | gcc/testsuite/gcc.c-torture/compile/pr33166.c | 10 | ||||
-rw-r--r-- | gcc/testsuite/gcc.c-torture/compile/pr33173.c | 102 |
5 files changed, 140 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.c-torture/compile/20070827-1.c b/gcc/testsuite/gcc.c-torture/compile/20070827-1.c new file mode 100644 index 00000000000..5dd009974ac --- /dev/null +++ b/gcc/testsuite/gcc.c-torture/compile/20070827-1.c @@ -0,0 +1,20 @@ +/* PR rtl-optimization/33148 */ + +int +foo (unsigned int *p, int *q, unsigned int w, unsigned int b) +{ + unsigned int i; + int mask; + + if (q[0] < q[1]) + mask = 0xff; + else + mask = 0; + + for (i = 0; 8 * i < w; i++) + { + b ^= mask; + *p++ = b; + } + return 0; +} 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.c-torture/compile/pr33166.c b/gcc/testsuite/gcc.c-torture/compile/pr33166.c new file mode 100644 index 00000000000..a48c529c3fe --- /dev/null +++ b/gcc/testsuite/gcc.c-torture/compile/pr33166.c @@ -0,0 +1,10 @@ +static void ConvertAddr (char *saddr, void **addr) +{ + *addr = (void *) &saddr; +} +void DefineSelf (char *addr) +{ + ConvertAddr (addr, (void **) &addr); + if (addr[0] == 127 && addr[3] == 1) + ; +} diff --git a/gcc/testsuite/gcc.c-torture/compile/pr33173.c b/gcc/testsuite/gcc.c-torture/compile/pr33173.c new file mode 100644 index 00000000000..503c7afbdac --- /dev/null +++ b/gcc/testsuite/gcc.c-torture/compile/pr33173.c @@ -0,0 +1,102 @@ +typedef long unsigned int size_t; +typedef struct +{ +} +_G_fpos_t; +extern int printf (__const char *__restrict __format, ...); +extern size_t strlen (__const char *__s) __attribute__ ((__nothrow__)) + __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); +typedef struct rend_service_descriptor_t +{ + int patchlevel; + char status_tag[32]; +} +tor_version_t; +test_dir_format (void) +{ + tor_version_t ver1; + { + long v2 = (long) (ver1.patchlevel); + } + { + const char *v1 = (""), *v2 = (ver1.status_tag); + if (!__extension__ ( + { + size_t __s1_len, __s2_len; + (__builtin_constant_p (v1) + && (__s1_len = strlen (v1), __s2_len = + (!((size_t) (const void *) ((v1) + 1) - + (size_t) (const void *) (v1) == 1) + || __s1_len >= 4) + && + (!((size_t) (const void *) ((v2) + 1) - + (size_t) (const void *) (v2) == 1) + || __s2_len >= 4)) ? __builtin_strcmp (v1, + v2) + : (__builtin_constant_p (v1) + && ((size_t) (const void *) ((v1) + 1) - + __s1_len < 4) ? (__builtin_constant_p (v2) + && + ((size_t) (const void *) + (size_t) (const void + *) (v2) == + 1) ? __builtin_strcmp (v1, + v2) + : (__extension__ ( + { + __const + char + *__s2 + = + (__const + char + *) + (v2); + register + __result + = + (((__const unsigned char *) (__const char *) (v1))[0] - __s2[0]); if (__s1_len > 0 && __result == 0) + { + } + __result;} + ))): + (__builtin_constant_p (v2) + && ((size_t) (const void *) ((v2) + 1) - + __s2_len < 4) ? (__builtin_constant_p (v1) + && ((size_t) (const void *) + 1) ? + __builtin_strcmp (v1, + v2) + : (__extension__ ( + { + __const + char + *__s1 + = + (__const + char + *) + (__const + *) + (v1); + register + __result + = + ((__const unsigned char *) (__const char *) (v2))[0]; if (__s2_len > 0 && __result == 0) + { + if + (__s2_len + == + 0) + { + } + } + __result;} + ))): __builtin_strcmp (v1, + v2))));} + )) + { + printf ("."); + } + } +} |