diff options
author | Jim Wilson <wilson@gcc.gnu.org> | 1992-09-15 17:55:38 -0700 |
---|---|---|
committer | Jim Wilson <wilson@gcc.gnu.org> | 1992-09-15 17:55:38 -0700 |
commit | ff92a69118621261e102d2cb9f1d1e316359f112 (patch) | |
tree | aba0d52e0a05d04bc0df72010d45471b592833a4 /gcc | |
parent | fd0b8fce4dc174fa55a0a706e2068a00eacf466a (diff) | |
download | gcc-ff92a69118621261e102d2cb9f1d1e316359f112.zip gcc-ff92a69118621261e102d2cb9f1d1e316359f112.tar.gz gcc-ff92a69118621261e102d2cb9f1d1e316359f112.tar.bz2 |
(lang_identifier): Add limbo_value field for out of scope block level extern declarations.
(lang_identifier): Add limbo_value field for out of
scope block level extern declarations.
(IDENTIFIER_LIMBO_VALUE): New define, to access that field.
From-SVN: r2129
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/c-tree.h | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/gcc/c-tree.h b/gcc/c-tree.h index dc70540..68d29d9 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. |