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