home *** CD-ROM | disk | FTP | other *** search
/ ftp.barnyard.co.uk / 2015.02.ftp.barnyard.co.uk.tar / ftp.barnyard.co.uk / cpm / walnut-creek-CDROM / MBUG / MBUG100.ARC / HISTORY.DOC < prev    next >
Text File  |  1979-12-31  |  5KB  |  89 lines

  1. Small-C Compiler and Library Revision History
  2.  
  3. -- included in version 2.1
  4.  
  5. 01  fix bogus label generated by "continue" within "switch" (A. Macpherson)
  6. 02  fix problem of "peephole" missing end of staging buffer
  7.     (E. Payne & A. Macpherson)
  8. 03  permit (*func)() syntax for functions as arguments (E. Payne)
  9. 04  change spelling of "heir" to "hier"
  10. 05  change spelling of "plunge" to "plnge"
  11. 06  always compile function "upper"
  12. 07  allow smaller NAMEMAX/NAMESIZE w/o truncating keywords (E. Payne)
  13. 08  disallow local declarations inside "switch" statements
  14. 09  make "outdec" handle the constant 32768 properly
  15. 10  change CCALLOC() to calloc()
  16. 11  change CCAVAIL() to avail()
  17. 12  change CCPOLL() to poll()
  18. 13  install (*func)() syntax
  19. 14  correct extraneous operand fetch in expressions like (i+5)();
  20. 15  make expressions like (&ia[...] - &ia[...]) scale
  21.     properly to give the number of objects lying between
  22. 16  eliminate "DW 0" generated by "int (*func)();"
  23. 17  "fclose" should return NULL or ERR like UNIX
  24. 18  "fflush" should return NULL or EOF like UNIX
  25. 19  "fgets" should return the newline like UNIX
  26. 20  remove redundant loop from "inline"  (E. Payne)
  27. 21  rename functions (e.g., or(), and(), ret(), call(), etc.)
  28.     to avoid M80 reserved words
  29. 22  shorten CCDDPDPI and CCDDPDPC to 6 characters to satisfy L80 and LIB
  30. 23  use NEWLINE symbol for newline value
  31. 24  fix pstr() end-of-line problem (A. Macpherson & M. Grundy)
  32. 25  allocate space for local pointer declared as ptr[] (A. Macpherson)
  33. 26  make primary() recognize expression strings (A. Macpherson)
  34. 27  alter code generation for M80, L80
  35. 28  use double colon to declare entry points
  36. 29  employ standard functions isalpha(), isdigit(), and toupper()
  37. 30  drop bad optimizing case from peephole(), (per Paul West, DDJ #81)
  38. 31  supply argument for avail() to abort on stack overflow
  39. 32  prevent preprocess() from taking newline as white space
  40. 33  always declare "_link" external in LINK mode to force loading of
  41.     required library functions
  42. 34  restrict doubling of constants operating on integer addresses to
  43.     add and subtract operators
  44. 35  use XRA A to pass an argument count of zero (per Paul West, DDJ #81)
  45. 36  improve indirect function calls (per Paul West, DDJ #81)
  46. 37  automatically declare undeclared functions to be external
  47. 38  drop support of sequential macro and global table searching
  48. 39  provide a default extension of .C to input file names, and assume
  49.     an output .MAC file if stdout has not been redirected to a disk file
  50. 40  drop support of parameter prompting and drop CMD_LINE
  51. 41  drop external function declarations from cc1.c, cc2.c, cc3.c, and cc4.c
  52. 42  begin execution at main() rather than first function drop tabs from
  53.     the output
  54. 44  always compile calls to poll() in the compiler
  55. 45  use LF as newline character instead of CR
  56. 47  accept #include "...." or <....> constructs
  57. 48  show even #asm input in the listing and prevent an extra ";" at the end
  58.     of the output from commenting out the first EXT
  59. 49  correct double spacing in the output during #asm...#endasm intervals
  60. 50  correct lingering problem with correctly performing operand fetches
  61.     for indirect function calls
  62. 51  correct bad syntax in trailer() if LINK not defined
  63. 52  init locptr before first function so something like "int ia[x];"
  64.     where x is not #defined won't hang
  65. 53  generate error on attempt to declare pointer arrays
  66. 54  generate "EXT _link" only if "main()" is defined
  67. 55  eliminate redundant code generated at the end of a compound statement
  68. 56  change system global names from leading _ to U to accommodate users
  69.     with pre 3.44 MACRO-80 packages
  70. 57  modify fflush() so that it will not attempt to flush the auxiliary
  71.     buffer unless fd is opened for output
  72. 58  properly initialize auxiliary buffering controls so that i/o will
  73.     work properly after an fd has been closed and reopened
  74. 59  don't ignore ! while optimizing if(!(i==0)) ..., etc.
  75. 60  fix lexcmp() so it doesn't return 0 for "Happy" and "hello"
  76. 61  enlarge MACNBR & MACQSIZE
  77. 62  correct FREAD.C and FWRITE.C so that fread() and fwrite() will return
  78.     the number of "items" written rather than "bytes" and make write()
  79.     more efficient
  80. 63  make _putsec(), in CSYSLIB, realize that it is not necessarily at
  81.     end of file, preventing it from padding an old sector with 1A bytes
  82. 64  fix the expression analyzer so the operators += and -= in
  83.     expressions like i += p (where p is a pointer) will not erroneously
  84.     assign to p
  85. 65  fix Uparse(),in CSYSLIB, so i/o redirection will work properly
  86.     under CP/M-Plus (from Frank Hayes)
  87. 66  make xtoi.c quit treating leading zeroes as significant digits
  88. 67  drop leading zeroes from constants in setops() (file CC11.C)
  89.