re PR c/22013 (ICE in gimple_add_tmp_var, at gimplify.c:535)
authorJoseph Myers <joseph@codesourcery.com>
Tue, 5 Jul 2005 17:50:24 +0000 (18:50 +0100)
committerJoseph Myers <jsm28@gcc.gnu.org>
Tue, 5 Jul 2005 17:50:24 +0000 (18:50 +0100)
commit73f397d429016727961c2c4a9ff99cf2fc4ee7b3
tree577db0c08701372c3b91ab562c53ebd97999043a
parent692a7aa3a5aea69f4f771b8a56f6aac9866fe383
re PR c/22013 (ICE in gimple_add_tmp_var, at gimplify.c:535)

PR c/22013
PR c/22098
* langhooks.h (struct lang_hooks): Add expr_to_decl.
* langhooks.c (lhd_expr_to_decl): New.
* langhooks-def.h (lhd_expr_to_decl, LANG_HOOKS_EXPR_TO_DECL):
New.
(LANG_HOOKS_INITIALIZER): Update.
* tree.c (recompute_tree_invarant_for_addr_expr): Call
expr_to_decl langhook.
* c-tree.h (c_expr_to_decl): Declare.
* c-typeck.c (c_expr_to_decl): New.
(build_unary_op): Do not handle ADDR_EXPR of COMPOUND_LITERAL_EXPR
specially.
* c-objc-common.h (LANG_HOOKS_EXPR_TO_DECL): Define.

testsuite:
* gcc.c-torture/compile/pr22013-1.c,
gcc.c-torture/execute/pr22098-1.c,
gcc.c-torture/execute/pr22098-2.c,
gcc.c-torture/execute/pr22098-3.c: New tests.

From-SVN: r101630
13 files changed:
gcc/ChangeLog
gcc/c-objc-common.h
gcc/c-tree.h
gcc/c-typeck.c
gcc/langhooks-def.h
gcc/langhooks.c
gcc/langhooks.h
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.c-torture/compile/pr22013-1.c [new file with mode: 0644]
gcc/testsuite/gcc.c-torture/execute/pr22098-1.c [new file with mode: 0644]
gcc/testsuite/gcc.c-torture/execute/pr22098-2.c [new file with mode: 0644]
gcc/testsuite/gcc.c-torture/execute/pr22098-3.c [new file with mode: 0644]
gcc/tree.c