dos_compilers/Manx Aztec C86 v52a/BIN/CHANGES.CC
2024-07-02 08:25:54 -07:00

112 lines
3.5 KiB
C++

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;{} )