re PR tree-optimization/33173 (ICE in set_uids_in_ptset, at tree-ssa-structalias.c:4704)
2007-08-27 Daniel Berlin <dberlin@dberlin.org> Fix PR tree-optimization/33173 * tree-ssa-alias.c (find_used_portions): Fix reversed test. From-SVN: r127834
This commit is contained in:
parent
62d7517976
commit
11df3da358
|
@ -1,3 +1,8 @@
|
||||||
|
2007-08-27 Daniel Berlin <dberlin@dberlin.org>
|
||||||
|
|
||||||
|
Fix PR tree-optimization/33173
|
||||||
|
* tree-ssa-alias.c (find_used_portions): Fix reversed test.
|
||||||
|
|
||||||
2007-08-27 H.J. Lu <hongjiu.lu@intel.com>
|
2007-08-27 H.J. Lu <hongjiu.lu@intel.com>
|
||||||
|
|
||||||
PR target/31385
|
PR target/31385
|
||||||
|
|
|
@ -1,3 +1,9 @@
|
||||||
|
2007-08-27 Daniel Berlin <dberlin@dberlin.org>
|
||||||
|
|
||||||
|
PR tree-optimization/33173
|
||||||
|
|
||||||
|
* gcc.c-torture/compile/pr33173.c: New.
|
||||||
|
|
||||||
2007-08-27 H.J. Lu <hongjiu.lu@intel.com>
|
2007-08-27 H.J. Lu <hongjiu.lu@intel.com>
|
||||||
|
|
||||||
PR target/31385
|
PR target/31385
|
||||||
|
|
|
@ -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 (".");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -16,5 +16,5 @@ int foo(void)
|
||||||
return a.i;
|
return a.i;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* { dg-final { scan-tree-dump-times "VDEF" 2 "salias" } } */
|
/* { dg-final { scan-tree-dump-times "VDEF" 4 "salias" } } */
|
||||||
/* { dg-final { cleanup-tree-dump "salias" } } */
|
/* { dg-final { cleanup-tree-dump "salias" } } */
|
||||||
|
|
|
@ -3967,7 +3967,7 @@ find_used_portions (tree *tp, int *walk_subtrees, void *lhs_p)
|
||||||
for (i = 0; i < nargs; i++)
|
for (i = 0; i < nargs; i++)
|
||||||
{
|
{
|
||||||
tree *arg = &CALL_EXPR_ARG (*tp, i);
|
tree *arg = &CALL_EXPR_ARG (*tp, i);
|
||||||
if (TREE_CODE (*arg) != ADDR_EXPR)
|
if (TREE_CODE (*arg) == ADDR_EXPR)
|
||||||
find_used_portions (arg, walk_subtrees, NULL);
|
find_used_portions (arg, walk_subtrees, NULL);
|
||||||
}
|
}
|
||||||
*walk_subtrees = 0;
|
*walk_subtrees = 0;
|
||||||
|
|
Loading…
Reference in New Issue