OSDN Git Service

PR tree-optimization/34448
[pf3gnuchains/gcc-fork.git] / gcc / testsuite / gcc.c-torture / compile / pr33173.c
1 typedef long unsigned int size_t;
2 typedef struct
3 {
4 }
5 _G_fpos_t;
6 extern int printf (__const char *__restrict __format, ...);
7 extern size_t strlen (__const char *__s) __attribute__ ((__nothrow__))
8   __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
9 typedef struct rend_service_descriptor_t
10 {
11   int patchlevel;
12   char status_tag[32];
13 }
14 tor_version_t;
15 test_dir_format (void)
16 {
17   tor_version_t ver1;
18   {
19     long v2 = (long) (ver1.patchlevel);
20   }
21   {
22     const char *v1 = (""), *v2 = (ver1.status_tag);
23     if (!__extension__ (
24                          {
25                          size_t __s1_len, __s2_len;
26                          (__builtin_constant_p (v1)
27                           && (__s1_len = strlen (v1), __s2_len =
28                               (!((size_t) (const void *) ((v1) + 1) -
29                                  (size_t) (const void *) (v1) == 1)
30                                || __s1_len >= 4)
31                               &&
32                               (!((size_t) (const void *) ((v2) + 1) -
33                                  (size_t) (const void *) (v2) == 1)
34                                || __s2_len >= 4)) ? __builtin_strcmp (v1,
35                                                                       v2)
36                           : (__builtin_constant_p (v1)
37                              && ((size_t) (const void *) ((v1) + 1) -
38                                  __s1_len < 4) ? (__builtin_constant_p (v2)
39                                                   &&
40                                                   ((size_t) (const void *)
41                                                    (size_t) (const void
42                                                              *) (v2) ==
43                                                    1) ? __builtin_strcmp (v1,
44                                                                           v2)
45                                                   : (__extension__ (
46                                                                                          {
47                                                                                          __const
48                                                                                          char
49                                                                                          *__s2
50                                                                                          =
51                                                                                          (__const
52                                                                                           char
53                                                                                           *)
54                                                                                          (v2);
55                                                                                          register
56                                                                                          __result
57                                                                                          =
58                                                                                          (((__const unsigned char *) (__const char *) (v1))[0] - __s2[0]); if (__s1_len > 0 && __result == 0)
59                                                                                          {
60                                                                                          }
61                                                                                          __result;}
62     ))):                                             
63                              (__builtin_constant_p (v2)
64                               && ((size_t) (const void *) ((v2) + 1) -
65                                   __s2_len < 4) ? (__builtin_constant_p (v1)
66                                                    && ((size_t) (const void *)
67                                                        1) ?
68                                                    __builtin_strcmp (v1,
69                                                                      v2)
70                                                    : (__extension__ (
71                                                                               {
72                                                                               __const
73                                                                               char
74                                                                               *__s1
75                                                                               =
76                                                                               (__const
77                                                                                char
78                                                                                *)
79                                                                               (__const
80                                                                                *)
81                                                                               (v1);
82                                                                               register
83                                                                               __result
84                                                                               =
85                                                                               ((__const unsigned char *) (__const char *) (v2))[0]; if (__s2_len > 0 && __result == 0)
86                                                                               {
87                                                                               if
88                                                                               (__s2_len
89                                                                                ==
90                                                                                0)
91                                                                               {
92                                                                               }
93                                                                               }
94                                                                               __result;}
95   ))):                                                __builtin_strcmp (v1,
96                                                                         v2))));}
97         ))
98       {
99         printf (".");
100       }
101   }
102 }