def.str 1.0 KB

123456789101112131415161718192021222324252627282930313233
  1. /*
  2. * (c) copyright 1987 by the Vrije Universiteit, Amsterdam, The Netherlands.
  3. * See the copyright notice in the ACK home directory, in the file "Copyright".
  4. */
  5. /* $Header$ */
  6. /* IDENTIFIER DEFINITION DESCRIPTOR */
  7. struct def { /* for ordinary tags */
  8. struct def *next;
  9. int df_level;
  10. struct type *df_type;
  11. int df_sc; /* may be:
  12. GLOBAL, STATIC, EXTERN, IMPLICIT,
  13. TYPEDEF,
  14. FORMAL, AUTO,
  15. ENUM, LABEL
  16. */
  17. int df_register; /* REG_NONE, REG_DEFAULT or REG_BONUS */
  18. char df_initialized; /* an initialization has been generated */
  19. char df_alloc; /* 0, ALLOC_SEEN or ALLOC_DONE */
  20. char df_used; /* set if idf is used */
  21. char df_formal_array; /* to warn if sizeof is taken */
  22. arith df_address;
  23. };
  24. #define ALLOC_SEEN 1 /* an allocating declaration has been seen */
  25. #define ALLOC_DONE 2 /* the allocating declaration has been done */
  26. #define REG_NONE 0 /* no register candidate */
  27. #define REG_DEFAULT 1 /* register candidate, not declared as such */
  28. #define REG_BONUS 10 /* register candidate, declared as such */
  29. /* ALLOCDEF "def" 50 */