def.str 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  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. /* $Id$ */
  6. /* IDENTIFIER DEFINITION DESCRIPTOR */
  7. #ifndef LANG_CEM_CEMCOM_ANSI_DEF_STR
  8. #define LANG_CEM_CEMCOM_ANSI_DEF_STR
  9. #include "lint.h"
  10. struct def { /* for ordinary tags */
  11. struct def *next;
  12. int df_level;
  13. struct type *df_type;
  14. int df_sc; /* may be:
  15. GLOBAL, STATIC, EXTERN,
  16. TYPEDEF,
  17. FORMAL, AUTO,
  18. ENUM, LABEL
  19. */
  20. char df_initialized; /* an initialization has been generated */
  21. char df_alloc; /* 0, ALLOC_SEEN or ALLOC_DONE */
  22. char df_used; /* set if idf is used */
  23. char df_formal_array; /* to warn if sizeof is taken */
  24. char *df_file; /* file containing the definition */
  25. unsigned int df_line; /* line number of the definition */
  26. #ifdef LINT
  27. char df_set;
  28. int df_firstbrace; /* brace number of its first occurrence */
  29. int df_minlevel; /* the lowest level needed for this def */
  30. #endif /* LINT */
  31. arith df_address;
  32. };
  33. #define ALLOC_SEEN 1 /* an allocating declaration has been seen */
  34. #define ALLOC_DONE 2 /* the allocating declaration has been done */
  35. #define REG_DEFAULT 0 /* register candidate, not declared as such */
  36. #define REG_BONUS 10 /* register candidate, declared as such */
  37. /* ALLOCDEF "def" 50 */
  38. #endif /* LANG_CEM_CEMCOM_ANSI_DEF_STR */