re PR middle-end/32374 (internal compiler error: in reload_cse_simplify_operands, at postreload.c:396)
PR middle-end/32374 * expr.c (store_constructor): Do not clobber non-zeroed memory. testsuite/ChangeLog: PR middle-end/32374 * gcc.dg/pr32374.c: New test. From-SVN: r125955
This commit is contained in:
parent
23bc73b563
commit
58f7fcc362
4 changed files with 31 additions and 1 deletions
|
@ -1,3 +1,8 @@
|
|||
2007-06-19 Uros Bizjak <ubizjak@gmail.com>
|
||||
|
||||
PR middle-end/32374
|
||||
* expr.c (store_constructor): Do not clobber non-zeroed memory.
|
||||
|
||||
2007-06-22 Uros Bizjak <ubizjak@gmail.com>
|
||||
|
||||
PR target/32413
|
||||
|
|
|
@ -5062,7 +5062,7 @@ store_constructor (tree exp, rtx target, int cleared, HOST_WIDE_INT size)
|
|||
cleared = 1;
|
||||
}
|
||||
|
||||
if (! cleared)
|
||||
if (REG_P (target) && !cleared)
|
||||
emit_insn (gen_rtx_CLOBBER (VOIDmode, target));
|
||||
|
||||
/* Store each element of the constructor into the
|
||||
|
|
|
@ -1,3 +1,8 @@
|
|||
2007-06-22 Uros Bizjak <ubizjak@gmail.com>
|
||||
|
||||
PR middle-end/32374
|
||||
* gcc.dg/pr32374.c: New test.
|
||||
|
||||
2007-06-22 Jerry DeLisle <jvdelisle@gcc.gnu.org>
|
||||
|
||||
PR fortran/32360
|
||||
|
|
20
gcc/testsuite/gcc.dg/pr32374.c
Normal file
20
gcc/testsuite/gcc.dg/pr32374.c
Normal file
|
@ -0,0 +1,20 @@
|
|||
/* { dg-do compile } */
|
||||
/* { dg-options "-O2" } */
|
||||
|
||||
extern int *stderr;
|
||||
|
||||
void f (int *, const char *, ...);
|
||||
|
||||
void g (const char *conf_name)
|
||||
{
|
||||
typedef struct
|
||||
{
|
||||
const char *label;
|
||||
const int value;
|
||||
} Section;
|
||||
|
||||
const Section sections[2] = { {"", 0}, {"", 1} };
|
||||
|
||||
f (stderr, "", "", conf_name, 0, sections[0]);
|
||||
f (stderr, "", "", conf_name, 0, sections[0]);
|
||||
}
|
Loading…
Add table
Reference in a new issue