LINT NOSTRICT MACRO

sam at tyxpdp.UUCP sam at tyxpdp.UUCP
Fri Sep 21 06:44:09 AEST 1984


	A lint macro definition has proved to be useful at our shop.

	#ifdef lint
	#define NOSTRICT(type,exp)	((exp) ? type 0 : type 0)
	#else
	#define NOSTRICT(type,exp)	(type (exp))
	#endif

	With the NOSTRICT macro, lint complaints about casts of expressions
	are quieted for the desired expression, with full evaluation of
	any sub-expressions.

	The most useful place is with malloc(), which is typed char *,
	being cast to (struct type *).  Example:

	structpointer = NOSTRICT((struct type *),malloc(sizeof struct type));

	The macro utilizes a property of the conditional operator,
	where the type of the first expression does not affect the
	type of the result.

---
	Jeffrey Kegler @ tyxpdp
	TYX Corporation
	11250 Roger Bacon Drive Suite 16
	Reston Va 22090
	(703) 471-0233

	uucp - decvax!harpo!seismo!umcp-cs!tyxpdp!jeffrey
-- 
---
	Sam Chessman - sam at tyxpdp
	TYX Corporation
	11250 Roger Bacon Drive Suite 16
	Reston Va 22090
	(703) 471-0233

	uucp - decvax!harpo!seismo!umcp-cs!tyxpdp!sam



More information about the Comp.lang.c mailing list