112 lines
3.5 KiB
Plaintext
112 lines
3.5 KiB
Plaintext
|
Changes to CC:
|
||
|
|
||
|
1/9/92 MWS
|
||
|
Added -x option to generate function prototypes in the compiler.
|
||
|
Look for references to the OutProtos flag to see the relevant code.
|
||
|
|
||
|
1/12/92 MWS
|
||
|
Added -w option to generate preprocessed source file (i.e., it just
|
||
|
preprocesses the input file and writes out the result). Look for
|
||
|
references to the OutPrep flag to see the relevant code.
|
||
|
|
||
|
1/16/92 MWS
|
||
|
Added -f option to compiler to generate prototypes for static functions.
|
||
|
The -x option now generates prototypes only for non-statics.
|
||
|
|
||
|
1/16/92 MWS
|
||
|
Kludged autoprototyping code to distinguish between INT and SHORT
|
||
|
types. Look for OutProtos being OR'd with 4 in the code to see
|
||
|
what's going on.
|
||
|
|
||
|
4/9/92 -------------- Released v5.2a beta --------------------------
|
||
|
|
||
|
4/21/92 jd: print_asm_line()
|
||
|
%% in inline assembler was trashing chrcls table.
|
||
|
|
||
|
4/21/92 jd: makquest() and doif()
|
||
|
added checks for condition of type void for if() statement
|
||
|
and ?: operator.
|
||
|
|
||
|
9/8/92 jd:
|
||
|
cc was not generating correct prototype for a function's union argument.
|
||
|
|
||
|
9/9/92 jd: ptype() & declsym()
|
||
|
cc was not generating correct prototype for a function that returned
|
||
|
a long or ulong.
|
||
|
|
||
|
cc didn't generate correct prototypes when program was compiled to use
|
||
|
large data memory model.
|
||
|
|
||
|
9/11/92 jd: cinit()
|
||
|
cc didn't allow static initializations like
|
||
|
long a = (long)"b";
|
||
|
|
||
|
9/11/92 jd: multidef() refs&def
|
||
|
cc put out screwy msg for multi-defined symbols
|
||
|
|
||
|
9/14/92 jd: pbstring()
|
||
|
__FILE__ macro was wrong if input filename had backslashes.
|
||
|
|
||
|
9/14/92 jd: decllist()
|
||
|
cc didn't report error if struct or union had multidefined symbol.
|
||
|
|
||
|
9/14/92 jd: options(), makcall()
|
||
|
Added -m option to issue warning if a function is called without a
|
||
|
prototype for it being in scope.
|
||
|
|
||
|
9/15/92 jd: peek(), pushback(), token()
|
||
|
cc didn't accept "struct mystr far" but did accept "far struct mystr".
|
||
|
|
||
|
9/15/92 cm: fixed earlier
|
||
|
cc didn't report error but generated bad code for:
|
||
|
void f(void);
|
||
|
...
|
||
|
if (f())
|
||
|
...
|
||
|
|
||
|
9/15/92 jd: addfunc()
|
||
|
cc didn't report error for declaration of huge function, but generated
|
||
|
near calls to it. Now treating such decls as an error.
|
||
|
|
||
|
9/15/92 jd: verror.c
|
||
|
error msg 157 applies to data as well as functions.
|
||
|
|
||
|
9/16/92 jd: cinit()
|
||
|
Don't allow initialization of static ptr to auto:
|
||
|
m(){int i; static int *ip=&i;}
|
||
|
|
||
|
9/16/92 cm: fixed earlier
|
||
|
cc gave error 86 "null dimension in array" for
|
||
|
typedef int arr[];
|
||
|
|
||
|
9/17/92 jd: newfunc()
|
||
|
cc generated bad debug record for:
|
||
|
f(long){}
|
||
|
|
||
|
9/23/92 jd: options(), etc
|
||
|
-o option didn't work when using +j option to generate OMF
|
||
|
|
||
|
9/23/92 jd: bmain.c, cstat.c
|
||
|
Changed cc so that both -x and -f can be specified at once, to get
|
||
|
prototypes for both static and global functions.
|
||
|
|
||
|
|
||
|
10/4/92 ---------------- Released v5.2a beta 2 ----------------------------
|
||
|
|
||
|
|
||
|
10/5/92 jd: execvp()
|
||
|
Relinked 'cc' to use fixed execvp() - previous execvp() didn't always
|
||
|
correctly search all directories specified in PATH.
|
||
|
|
||
|
10/6/92 jd: cinit()
|
||
|
cc v4.10d allowed aggregate initializers to have nothing between the braces,
|
||
|
which allowed cc to do the correct thing for:
|
||
|
struct str { char a[5], b[5], c[5]} mystr = { {}, {}, "abc" };
|
||
|
The v5.2a cc did not allow this, in conformance with ANSI. The compiler
|
||
|
has been changed so that this is disallowed when in strict ANSI mode
|
||
|
(i.e. compiler with -ansi), and allowed otherwise.
|
||
|
|
||
|
10/26/92 jd: newfunc()
|
||
|
when generating prototypes, cc did not correctly handle functions defined
|
||
|
using the new syntax (e.g. void f(int a){} instead of void f(a)int a;{} )
|