From 73f397d429016727961c2c4a9ff99cf2fc4ee7b3 Mon Sep 17 00:00:00 2001 From: Joseph Myers Date: Tue, 5 Jul 2005 18:50:24 +0100 Subject: 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 --- gcc/c-objc-common.h | 2 ++ 1 file changed, 2 insertions(+) (limited to 'gcc/c-objc-common.h') diff --git a/gcc/c-objc-common.h b/gcc/c-objc-common.h index d74273c..6921259 100644 --- a/gcc/c-objc-common.h +++ b/gcc/c-objc-common.h @@ -117,6 +117,8 @@ extern void c_initialize_diagnostics (diagnostic_context *); #define LANG_HOOKS_REGISTER_BUILTIN_TYPE c_register_builtin_type #undef LANG_HOOKS_TO_TARGET_CHARSET #define LANG_HOOKS_TO_TARGET_CHARSET c_common_to_target_charset +#undef LANG_HOOKS_EXPR_TO_DECL +#define LANG_HOOKS_EXPR_TO_DECL c_expr_to_decl /* The C front end's scoping structure is very different from that expected by the language-independent code; it is best -- cgit v1.1