/* 0 while creating built-in identifiers. */
static int do_identifier_warnings;
+/* Unique id for next decl created. */
+static int next_decl_uid;
+
extern char *mode_name[];
void gcc_obstack_init ();
DECL_ALIGN (t) = 1;
DECL_SOURCE_LINE (t) = lineno;
DECL_SOURCE_FILE (t) = (input_filename) ? input_filename : "<built-in>";
+ DECL_UID (t) = next_decl_uid++;
break;
case 't':
writing debugging information about vfield and vbase decls for C++. */
#define DECL_FCONTEXT(NODE) ((NODE)->decl.vindex)
+/* Every ..._DECL node gets a unique number. */
+#define DECL_UID(NODE) ((NODE)->decl.uid)
+
/* Nonzero in a VAR_DECL or PARM_DECL means this decl was made by inlining;
suppress any warnings about shadowing some other variable. */
#define DECL_FROM_INLINE(NODE) ((NODE)->decl.from_inline_flag)
char *filename;
int linenum;
union tree_node *size;
+ unsigned int uid;
#ifdef ONLY_INT_FIELDS
int mode : 8;
#else
extern char *permalloc ();
extern char *savealloc ();
extern char *xmalloc ();
+extern char *xrealloc ();
extern void free ();
/* Lowest level primitive for allocating a node.
extern tree convert ();
extern tree size_in_bytes ();
+extern int int_size_in_bytes ();
extern tree size_binop ();
extern tree size_int ();
extern tree round_up ();