re PR tree-optimization/29059 (ICE: verify_stmts failed (invalid operand to unary operator ""[0];))

2006-09-16  Andrew Pinski  <pinskia@physics.uc.edu>

        PR tree-opt/29059
        * gcc.c-torture/compile/strcpy-1.c: New test.
        * gcc.c-torture/compile/strcpy-2.c: New test.
        * gcc.c-torture/compile/memcpy-1.c: New test.
        * gcc.c-torture/compile/memcpy-2.c: New test.

2006-09-16  Andrew Pinski  <pinskia@physics.uc.edu>

        PR tree-opt/29059
        * tree-ssa-propagate.c (set_rhs): Reject MODIFY_EXPR right
        away for the expr argument.

From-SVN: r116997
This commit is contained in:
Andrew Pinski 2006-09-16 15:52:11 -07:00
parent 0c5e4273d3
commit a9fdb86b72
7 changed files with 60 additions and 3 deletions

View File

@ -1,10 +1,17 @@
2006-09-16 Andrew Pinski <pinskia@physics.uc.edu>
PR tree-opt/29059
* tree-ssa-propagate.c (set_rhs): Reject MODIFY_EXPR right
away for the expr argument.
2006-09-16 Steven Bosscher <steven@gcc.gnu.org>
PR tree-opt/27742
* tree-vectorizer.c (vectorize_loops): Clear vect_loop_location
before using it for dumping after vectorizing loops.
2006-09-16 Andrew Pinski <pinskia@physics.uc.edu>
Jack Howarth <howarth@bromo.med.uc.edu>
2006-09-16 Andrew Pinski <pinskia@physics.uc.edu>
Jack Howarth <howarth@bromo.med.uc.edu>
PR target/29030
* config/rs6000/rs6000.c (rs6000_darwin64_record_arg_advance_recurse)

View File

@ -1,3 +1,11 @@
2006-09-16 Andrew Pinski <pinskia@physics.uc.edu>
PR tree-opt/29059
* gcc.c-torture/compile/strcpy-1.c: New test.
* gcc.c-torture/compile/strcpy-2.c: New test.
* gcc.c-torture/compile/memcpy-1.c: New test.
* gcc.c-torture/compile/memcpy-2.c: New test.
2006-09-16 Jack Howarth <howarth@bromo.med.uc.edu>
PR testsuite/29055

View File

@ -0,0 +1,9 @@
static const char OggFLAC__MAPPING_VERSION_MAJOR = 1;
void f(void)
{
char synthetic_first_packet_body[10];
char *b = &synthetic_first_packet_body[4];
__builtin_memcpy (b, &OggFLAC__MAPPING_VERSION_MAJOR, (1u));
}

View File

@ -0,0 +1,10 @@
static const char OggFLAC__MAPPING_VERSION_MAJOR = 1;
void f(void)
{
char synthetic_first_packet_body[10];
char *b = synthetic_first_packet_body;
b+=4u;
__builtin_memcpy (b, &OggFLAC__MAPPING_VERSION_MAJOR, (1u));
}

View File

@ -0,0 +1,15 @@
typedef struct
{
char str[20];
}STACK;
STACK stack[15];
int level;
rezero ()
{
level = 0;
__builtin_strcpy (stack[level].str, "");
}

View File

@ -0,0 +1,7 @@
char wrkstr_un[270];
extern void
LoadUserAlph (char *s)
{
s = &wrkstr_un[0];
__builtin_strcpy (s, "");
};

View File

@ -588,7 +588,8 @@ set_rhs (tree *stmt_p, tree expr)
&& !is_gimple_val (TREE_OPERAND (TREE_OPERAND (expr, 0), 1)))
return false;
}
else if (code == COMPOUND_EXPR)
else if (code == COMPOUND_EXPR
|| code == MODIFY_EXPR)
return false;
switch (TREE_CODE (stmt))