aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Stallman <rms@gnu.org>1992-07-05 03:49:06 +0000
committerRichard Stallman <rms@gnu.org>1992-07-05 03:49:06 +0000
commit0e77444b398d3843689afa6bd40e9eaefc50af63 (patch)
tree2d457538c2863974b66f5f9e2ff7c01971eb7e87
parentcc9a4c0e2d68447b4360f3b419b00d17fd6028f5 (diff)
downloadgcc-0e77444b398d3843689afa6bd40e9eaefc50af63.zip
gcc-0e77444b398d3843689afa6bd40e9eaefc50af63.tar.gz
gcc-0e77444b398d3843689afa6bd40e9eaefc50af63.tar.bz2
*** empty log message ***
From-SVN: r1440
-rw-r--r--gcc/tree.c4
-rw-r--r--gcc/tree.h6
2 files changed, 10 insertions, 0 deletions
diff --git a/gcc/tree.c b/gcc/tree.c
index 3d3149c..4eea2c9 100644
--- a/gcc/tree.c
+++ b/gcc/tree.c
@@ -214,6 +214,9 @@ static tree hash_table[MAX_HASH_TABLE]; /* id hash buckets */
/* 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 ();
@@ -856,6 +859,7 @@ make_node (code)
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':
diff --git a/gcc/tree.h b/gcc/tree.h
index c4a51ee..b50cc1c 100644
--- a/gcc/tree.h
+++ b/gcc/tree.h
@@ -708,6 +708,9 @@ struct tree_type
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)
@@ -777,6 +780,7 @@ struct tree_decl
char *filename;
int linenum;
union tree_node *size;
+ unsigned int uid;
#ifdef ONLY_INT_FIELDS
int mode : 8;
#else
@@ -856,6 +860,7 @@ extern char *oballoc ();
extern char *permalloc ();
extern char *savealloc ();
extern char *xmalloc ();
+extern char *xrealloc ();
extern void free ();
/* Lowest level primitive for allocating a node.
@@ -971,6 +976,7 @@ extern tree non_lvalue ();
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 ();