mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-01-10 19:35:32 +08:00
re PR middle-end/36141 (Gcc 4.4 failed to boostrap)
2008-05-05 Andrew Pinski <andrew_pinski@playstation.sony.com> PR middle-end/36141 * tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Don't create VCE for function decls. 2008-05-05 Andrew Pinski <andrew_pinski@playstation.sony.com> PR middle-end/36141 * gcc.c-torture/pr36141.c: New testcase. From-SVN: r134972
This commit is contained in:
parent
ab1cde2399
commit
1aee3ab6f3
@ -1,3 +1,9 @@
|
||||
2008-05-05 Andrew Pinski <andrew_pinski@playstation.sony.com>
|
||||
|
||||
PR middle-end/36141
|
||||
* tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Don't create VCE
|
||||
for function decls.
|
||||
|
||||
2008-05-05 H.J. Lu <hongjiu.lu@intel.com>
|
||||
|
||||
* config/i386/sse.md (sse2_<plusminus_insn><mode>3): Fix a typo.
|
||||
|
@ -1,3 +1,8 @@
|
||||
2008-05-05 Andrew Pinski <andrew_pinski@playstation.sony.com>
|
||||
|
||||
PR middle-end/36141
|
||||
* gcc.c-torture/pr36141.c: New testcase.
|
||||
|
||||
2008-05-06 Danny Smith <dannysmith@users.sourceforge.net>
|
||||
|
||||
* lib/target_supports.exp (check_effective_target_4byte_wchar_t):
|
||||
|
17
gcc/testsuite/gcc.c-torture/pr36141.c
Normal file
17
gcc/testsuite/gcc.c-torture/pr36141.c
Normal file
@ -0,0 +1,17 @@
|
||||
extern void ffi_closure_unix (void);
|
||||
ffi_prep_closure_loc (void)
|
||||
{
|
||||
struct ia64_fd
|
||||
{
|
||||
unsigned long long code_pointer;
|
||||
unsigned long long gp;
|
||||
};
|
||||
struct ffi_ia64_trampoline_struct
|
||||
{
|
||||
unsigned long long code_pointer;
|
||||
};
|
||||
struct ffi_ia64_trampoline_struct *tramp;
|
||||
struct ia64_fd *fd;
|
||||
fd = (struct ia64_fd *)(void *)ffi_closure_unix;
|
||||
tramp->code_pointer = fd->code_pointer;
|
||||
}
|
@ -657,6 +657,9 @@ forward_propagate_addr_expr_1 (tree name, tree def_rhs, tree use_stmt,
|
||||
&& TREE_OPERAND (rhs, 0) == name
|
||||
&& TYPE_SIZE (TREE_TYPE (rhs))
|
||||
&& TYPE_SIZE (TREE_TYPE (TREE_OPERAND (def_rhs, 0)))
|
||||
/* Function decls should not be used for VCE either as it could be
|
||||
a function descriptor that we want and not the actual function code. */
|
||||
&& TREE_CODE (TREE_OPERAND (def_rhs, 0)) != FUNCTION_DECL
|
||||
/* We should not convert volatile loads to non volatile loads. */
|
||||
&& !TYPE_VOLATILE (TREE_TYPE (rhs))
|
||||
&& !TYPE_VOLATILE (TREE_TYPE (TREE_OPERAND (def_rhs, 0)))
|
||||
|
Loading…
Reference in New Issue
Block a user