Commit d062a680 by Joseph Myers Committed by Joseph Myers

langhooks.h (struct lang_hooks): Add staticp.

	* 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.

From-SVN: r47628
parent 69927b59
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.
......
......@@ -42,6 +42,7 @@ extern int lhd_decode_option PARAMS ((int, char **));
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));
......@@ -71,6 +72,7 @@ int lhd_tree_inlining_anon_aggr_type_p PARAMS ((tree));
#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
......@@ -132,6 +134,7 @@ int lhd_tree_dump_type_quals PARAMS ((tree));
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, \
......
......@@ -77,6 +77,15 @@ lhd_safe_from_p (x, exp)
return 1;
}
/* Called from staticp. */
int
lhd_staticp (exp)
tree exp;
{
return 0;
}
/* Called when -dy is given on the command line. */
void
......
......@@ -123,6 +123,9 @@ struct lang_hooks
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;
......
......@@ -1518,7 +1518,11 @@ staticp (arg)
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;
}
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment