apratt@iuvax.UUCP (01/12/84)
#N:iuvax:1500005:000:805
iuvax!apratt Jan 11 17:12:00 1984
<sacrifice>
Lattice C has a compiler error which I intend to report: certain errors with
the conditional operator are not trapped and result in CXERR:18 (I think 18 is
right). The following code will cause the error:
main()
{
int c;
c = 1 + (2 ? 1 : );
}
(note the blank field following the :). Clearly this is a badly-formed
expression, but the fact that it generates a CXERR is (by definition) a
compiler error.
Another strange item: using the constant 0 caused a CXERR in the second
pass (of an entirely different program), while substituting a variable
(initialized to zero) compiled properly. Has anyone else had this problem? I
haven't studied it thoroughly enough to report on it yet.
Your friendly neighborhood compiler watchdog...
-- Allan Pratt
...ihnp4!inuxc!iuvax!apratt