l_outdef.str 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  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. /* Lint output definition */
  7. /* Values for ar_class */
  8. #define ArgFormal 0
  9. #define ArgExpr 1 /* actual */
  10. #define ArgConst 2 /* integer constant */
  11. #define ArgString 3 /* string */
  12. #define ArgEllipsis 4 /* ellipsis */
  13. struct argument {
  14. struct argument *next;
  15. struct type *ar_type;
  16. int ar_class; /* for constant parameters */
  17. union const_arg {
  18. arith ca_value;
  19. struct {
  20. char *cas_value;
  21. int cas_len;
  22. } ca_string;
  23. } ar_object;
  24. };
  25. #define CAA_VALUE ar_object.ca_value
  26. #define CAS_VALUE ar_object.ca_string.cas_value
  27. #define CAS_LEN ar_object.ca_string.cas_len
  28. /* ALLOCDEF "argument" 10 */
  29. struct outdef {
  30. char od_class;
  31. int od_statnr;
  32. char *od_name;
  33. char *od_file;
  34. unsigned int od_line;
  35. int od_nrargs;
  36. struct argument *od_arg; /* a list of the types of the
  37. * formal parameters */
  38. int od_valreturned;
  39. /* NOVALRETURNED, VALRETURNED, NORETURN; see l_lint.h */
  40. int od_valused;
  41. /* USED, IGNORED, SET, VOIDED; see l_lint.h */
  42. struct type *od_type;
  43. };