ado@elsie.UUCP (Arthur David Olson) (02/21/85)
> struct xy { > int x; > int y; > } a; > main() > { > struct xy *p; > p = &a; > if (*p) { > /* compiler error: zzzcode- bad type */ > } > } Index: lib/mip/trees.c Fix Description: The "cc" command gives cryptic messages when structures are used wildly; the "lint" command fails to give messages. Repeat-By: echo "struct { int x; } a; main() { a || a; }" > try.c cc try.c lint try.c Fix: The trade secret status of the code precludes a clearer posting. The file is named "/usr/src/cmd/mip/trees.c" in 4.1bsd. ed lib/mip/trees.c /^buildtree/;/OTHER/;/switch/a #ifndef OLDVERSION case QUEST: case CBRANCH: case ANDAND: case OROR: if (l->in.type == STRTY || l->in.type == UNIONTY || ((o == ANDAND || o == OROR) && (r->in.type == STRTY || r->in.type == UNIONTY))) uerror("wild use of structure or union"); break; #endif . /^opact/;/case CBRANCH/i #ifdef OLDVERSION . /return/a #else return 0; case CBRANCH: case ANDAND: case OROR: return OTHER; #endif /case QUEST/a #ifndef OLDVERSION return (mt2 & MENU) ? (TYPR + NCVTR + OTHER) : (TYPR + OTHER); #endif . w q -- UUCP: ..decvax!seismo!elsie!ado ARPA: elsie!ado@seismo.ARPA DEC, VAX and Elsie are Digital Equipment and Borden trademarks