[comp.sys.ultrix] Compiler error

stealth@engin.umich.edu (Mike Pelletier) (11/15/90)

After a fruitless reading of the notebook/problems file in the C-news
package, I am still stuck with the error:

(ccom): string.c, line 136: ccom: Internal: wasted space: 2002067630
in the function:

        register        char *p;
        register        int c;

        if (!setishostchar) {

                setishostchar = YES;
                for (c = 0, p = ishostchar; c < sizeof ishostchar; c++)
                        *p++ = isascii(c) && isalnum(c);
                ishostchar['.'] = ishostchar['-'] = YES;

Does anyone have any ideas as to what wasted space it's referring to,
and why the error pointer is pointing to the closing brace of a function?
This is on a DECstation 3100 under Ultrix 3.1d.  Any suggestions would
be much appreciated.
	Mike Pelletier - Usenet News Admin & Programmer
"Wind, waves, etc. are breakdowns in the face of the commitment to getting
 from here to there.  But they are the conditions for sailing -- not
 something to be gotten rid of, but something to be danced with."

geoff@zoo.toronto.edu (Geoffrey Collyer) (11/15/90)

To quote notebook/problems:
Values of Logical Operators
There seem to
be compilers, e.g. the Ultrix one on DEC's new RISC workstations,
that go into convulsions when they see something like
*p++ = isascii(c) && isalnum(c);
because they don't know how to generate a numeric value for `&&',
or because they don't know how to turn that value into a `char'.
One or two places in C News use constructs like this.
If you run into this, you might
want to try replacing the
right-hand side
with something like ``(...)\ ?\ 1\ :\ 0'' to get the
troublesome operator back into a conditional context.

The current DEC MIPS compiler is broken.  Be sure to file an SPR so that
DEC fixes this.
Geoff Collyer		utzoo!geoff, zoo.toronto.edu!geoff