#define EXPR_WFL_SET_LINECOL(NODE, LINE, COL) \
(EXPR_WFL_LINECOL(NODE) = ((LINE) << 12) | ((COL) & 0xfff))
+/* In a TARGET_EXPR node. */
+#define TARGET_EXPR_SLOT(NODE) TREE_OPERAND (TARGET_EXPR_CHECK (NODE), 0)
+#define TARGET_EXPR_INITIAL(NODE) TREE_OPERAND (TARGET_EXPR_CHECK (NODE), 1)
+#define TARGET_EXPR_CLEANUP(NODE) TREE_OPERAND (TARGET_EXPR_CHECK (NODE), 2)
+
struct tree_exp
{
struct tree_common common;
extern tree merge_dllimport_decl_attributes PARAMS ((tree, tree));
#endif
+/* Return true if DECL will be always resolved to a symbol defined in the
+ same module (shared library or program). */
+#define MODULE_LOCAL_P(DECL) \
+ (lookup_attribute ("visibility", DECL_ATTRIBUTES (DECL)) != NULL)
+
/* Return a version of the TYPE, qualified as indicated by the
TYPE_QUALS, if one exists. If no qualified version exists yet,
return NULL_TREE. */
extern int fields_length PARAMS ((tree));
+/* Given an initializer INIT, return TRUE if INIT is zero or some
+ aggregate of zeros. Otherwise return FALSE. */
+
+extern bool initializer_zerop PARAMS ((tree));
+
/* integer_zerop (tree x) is nonzero if X is an integer constant of value 0 */
extern int integer_zerop PARAMS ((tree));
\f
/* The language front-end must define these functions. */
-/* Function to replace the DECL_LANG_SPECIFIC field of a DECL with a copy. */
-extern void copy_lang_decl PARAMS ((tree));
-
/* Function called with no arguments to parse and compile the input. */
extern int yyparse PARAMS ((void));
/* Functions for processing symbol declarations. */