+2001-12-04 Joseph S. Myers <jsm28@cam.ac.uk>
+
+ * langhooks.h (struct lang_hooks): Add staticp.
+ * langhooks-def.h (lhd_staticp, LANG_HOOKS_STATICP): New.
+ (LANG_HOOKS_INITIALIZER): Add LANG_HOOKS_STATICP.
+ * langhooks.c (lhd_staticp): New function.
+ * tree.c (staticp): Call lang_hooks.staticp for language-specific
+ tree codes.
+
2001-12-04 Neil Booth <neil@daikokuya.demon.co.uk>
* cppspec.c (lang_specific_driver): Set is_cpp_driver.
extern HOST_WIDE_INT lhd_get_alias_set PARAMS ((tree));
extern tree lhd_return_tree PARAMS ((tree));
extern int lhd_safe_from_p PARAMS ((rtx, tree));
+extern int lhd_staticp PARAMS ((tree));
extern void lhd_clear_binding_stack PARAMS ((void));
extern void lhd_print_tree_nothing PARAMS ((FILE *, tree, int));
extern void lhd_set_yydebug PARAMS ((int));
#define LANG_HOOKS_GET_ALIAS_SET lhd_get_alias_set
#define LANG_HOOKS_EXPAND_CONSTANT lhd_return_tree
#define LANG_HOOKS_SAFE_FROM_P lhd_safe_from_p
+#define LANG_HOOKS_STATICP lhd_staticp
#define LANG_HOOKS_HONOR_READONLY false
#define LANG_HOOKS_PRINT_STATISTICS lhd_do_nothing
#define LANG_HOOKS_PRINT_XNODE lhd_print_tree_nothing
LANG_HOOKS_GET_ALIAS_SET, \
LANG_HOOKS_EXPAND_CONSTANT, \
LANG_HOOKS_SAFE_FROM_P, \
+ LANG_HOOKS_STATICP, \
LANG_HOOKS_HONOR_READONLY, \
LANG_HOOKS_PRINT_STATISTICS, \
LANG_HOOKS_PRINT_XNODE, \
parameter. */
int (*safe_from_p) PARAMS ((rtx, tree));
+ /* Hook called by staticp for language-specific tree codes. */
+ int (*staticp) PARAMS ((tree));
+
/* Nonzero if TYPE_READONLY and TREE_READONLY should always be honored. */
bool honor_readonly;
return staticp (TREE_OPERAND (arg, 0));
default:
- return 0;
+ if ((unsigned int) TREE_CODE (arg)
+ >= (unsigned int) LAST_AND_UNUSED_TREE_CODE)
+ return (*lang_hooks.staticp) (arg);
+ else
+ return 0;
}
}
\f