summaryrefslogtreecommitdiff
path: root/gcc/langhooks.h
diff options
context:
space:
mode:
authorneil <neil@138bc75d-0d04-0410-961f-82ee72b054a4>2002-03-27 18:28:06 +0000
committerneil <neil@138bc75d-0d04-0410-961f-82ee72b054a4>2002-03-27 18:28:06 +0000
commitb467ecc1d2ff350cbe28bef0d005cb3b22089694 (patch)
tree72f13b65f2c0461b4421653d0e3da90013de7c63 /gcc/langhooks.h
parentbaf716a5dcb44d9c1e34d49dc9a1a6e56482457d (diff)
downloadgcc-b467ecc1d2ff350cbe28bef0d005cb3b22089694.tar.gz
* c-common.c (c_expand_expr): Fix prototype.
* c-common.h (c_expand_expr): Always declare, update. * c-lang.c (LANG_HOOKS_EXPAND_EXPR): Redefine. * c-objc-common.c (c_objc_common_init): No global hook. * expr.c (expand_expr): Use langhook. * expr.h (enum expand_modifier): Conditionally declare. * langhooks-def.h (lhd_expand_expr, LANG_HOOKS_EXPAND_EXPR): New. (LANG_HOOKS_INITIALIZER): Update. * langhooks.c (lhd_expand_expr): New. * langhooks.h (struct lang_hooks): New hook. * toplev.c (lang_expand_expr_t, lang_expand_expr): Delete. (lang_independent_init): Don't default hook. ada: * misc.c (LANG_HOOKS_EXPAND_EXPR): Redefine. (gnat_init): Don't set hook. (gnat_expand_expr): Fix prototype. cp: * cp-lang.c (LANG_HOOKS_EXPAND_EXPR): Redefine. * cp-tree.h (init_cplus_expand): Remove. (cxx_expand_expr): New. * expr.c (cplus_expand_expr): Rename cxx_expand_expr, fix prototype. (init_cplus_expand): Remove. * lex.c (cxx_init): Don't call init_cplus_expand. java: * expr.c (java_lang_expand_expr): Rename java_expand_expr, fix prototype. * java-tree.h (java_lang_expand_expr): Similarly. * lang.c (LANG_HOOKS_EXPAND_EXPR): Redefine. (java_init): Don't set hook. objc: * objc-lang.c (LANG_HOOKS_EXPAND_EXPR): Redefine. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@51462 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/langhooks.h')
-rw-r--r--gcc/langhooks.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/gcc/langhooks.h b/gcc/langhooks.h
index 73a7628a1d5..332ede8d32f 100644
--- a/gcc/langhooks.h
+++ b/gcc/langhooks.h
@@ -21,6 +21,8 @@ Boston, MA 02111-1307, USA. */
#ifndef GCC_LANG_HOOKS_H
#define GCC_LANG_HOOKS_H
+/* This file should be #include-d after tree.h. */
+
/* A print hook for print_tree (). */
typedef void (*lang_print_tree_hook) PARAMS ((FILE *, tree, int indent));
@@ -159,6 +161,10 @@ struct lang_hooks
constant equivalent to its input. */
tree (*expand_constant) PARAMS ((tree));
+ /* Called by expand_expr for language-specific tree codes.
+ Fourth argument is actually an enum expand_modifier. */
+ rtx (*expand_expr) PARAMS ((tree, rtx, enum machine_mode, int));
+
/* Hook called by safe_from_p for language-specific tree codes. It is
up to the language front-end to install a hook if it has any such
codes that safe_from_p needs to know about. Since same_from_p will