home *** CD-ROM | disk | FTP | other *** search
- Date: Thursday, 7 June 1984 09:44-MDT
- From: "Pearson Pete" at LLL-MFE.ARPA
- To: info-micro at BRL.ARPA
- Re: Five known problems with Aztec C compiler (long).
-
- Re: Manx Software Systems' Aztec C compiler for Z80, CP/M,
- version CZII 1.05c.
-
- The following five problems were reported to Manx long enough ago (1983, I
- think) that I'm confident they're never going to acknowledge them, let alone
- fix them for me.
-
- - Does not flag an error when a structure is passed as an argument, if
- there is another argument. However, the code generated passes a nonsense
- value instead of the address of the structure.
- Example:
- struct confrm { int c_act; }; /* No error messages is */
- testsub(s) /* output during the */
- char *s; /* compilation of this */
- { struct confrm xyz; /* program, though */
- sreadcf(s, xyz); /* bad code is */
- } /* generated. */
-
- - Does not report an error when an undefined structure is referenced in the
- definition of a second structure. Of course, it can't possibly generate
- correct code in this situation!
- Example:
- struct ss1 { int a;
- struct ss2 b; };
- sub1() /* No error message */
- { /* appears during the */
- struct ss1 c; /* compilation of this */
- c.a = 1; /* program. */
- }
-
- - Does not properly interpret the logical negation operator ("!") during
- the compile-time evaluation of constant expressions.
- Example:
- #define TRUE (1==1)
- #define FALSE (!TRUE)
- sub1()
- {
- sub2(TRUE); /* The compiler evaluates all */
- sub3(FALSE); /* three of these arguments */
- sub4(!1); /* to 1. */
- }
-
- - Programs compiled with the Aztec C compiler and running with the Z80CLIB
- runtime library run ridiculously slowly when "stdout" output is redirected
- to a file. A change to the Aztec-supplied module "Croot" (which scans the
- execute line to perform redirection) can correct this problem.
-
- - Generates incorrect code for the statement
- i = (x > 0);
-
- pearson@lll-mfe
- Opinions and speculations entirely my own.
-