summaryrefslogtreecommitdiff
path: root/gcc/c-tree.h
diff options
context:
space:
mode:
authorwilson <wilson@138bc75d-0d04-0410-961f-82ee72b054a4>1992-09-16 00:55:38 +0000
committerwilson <wilson@138bc75d-0d04-0410-961f-82ee72b054a4>1992-09-16 00:55:38 +0000
commit91ccdac7f8b3f30dfcf0ec796143ae6a228813f5 (patch)
treeaba0d52e0a05d04bc0df72010d45471b592833a4 /gcc/c-tree.h
parentb33192317368d4d0194c8b738f450fffa1773539 (diff)
downloadgcc-91ccdac7f8b3f30dfcf0ec796143ae6a228813f5.tar.gz
(lang_identifier): Add limbo_value field for out of
scope block level extern declarations. (IDENTIFIER_LIMBO_VALUE): New define, to access that field. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@2129 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/c-tree.h')
-rw-r--r--gcc/c-tree.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/gcc/c-tree.h b/gcc/c-tree.h
index dc70540a1ab..68d29d9749e 100644
--- a/gcc/c-tree.h
+++ b/gcc/c-tree.h
@@ -19,6 +19,10 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
/* Language-dependent contents of an identifier. */
+/* The limbo_value is used for block level extern declarations, which need
+ to be type checked against subsequent extern declarations. They can't
+ be referenced after they fall out of scope, so they can't be global. */
+
struct lang_identifier
{
struct tree_identifier ignore;
@@ -53,6 +57,8 @@ struct lang_identifier
message for this identifier. Value is a FUNCTION_DECL or null. */
#define IDENTIFIER_ERROR_LOCUS(NODE) \
(((struct lang_identifier *)(NODE))->error_locus)
+#define IDENTIFIER_LIMBO_VALUE(NODE) \
+ (((struct lang_identifier *)(NODE))->limbo_value)
/* In identifiers, C uses the following fields in a special way:
TREE_PUBLIC to record that there was a previous local extern decl.