Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP
Posting-Version: version B 2.10.1 (Tek) 9/26/83; site teklds.UUCP
Path: utzoo!watmath!clyde!burl!we13!ihnp4!zehntel!tektronix!azure!teklds!archiel
From: archiel@teklds.UUCP (Archie Lachner)
Newsgroups: net.lang.c
Subject: lint bug(?)
Message-ID: <96@teklds.UUCP>
Date: Tue, 10-Jan-84 17:20:04 EST
Article-I.D.: teklds.96
Posted: Tue Jan 10 17:20:04 1984
Date-Received: Wed, 8-Feb-84 08:21:56 EST
Organization: Tektronix, Beaverton OR
Lines: 32

The following simple function illustrates a problem I am having with lint:

	union foo {
		int		*intptr;
		char	*chrptr;
		float	*fltptr;
	};
	test()
	{
		register union foo	reg;
	
		*(reg.intptr) = 1;
		return;
	}

This compiles with no complaints from cc.  However, I get the following
message from lint:

	test.c:
	test.c(10): can't take & of reg

While it is true that the address of a register cannot be computed, such
a computation should not be necessary during the execution of the above
code.  Does this look like a bug in lint?  Does anybody out there in net
land have any ideas or suggestions?
-- 

				Archie Lachner

uucp:    {ucbvax,decvax,pur-ee,cbosg,ihnss}!tektronix!teklds!archiel
CSnet:   archiel@tek
ARPAnet: archiel.tek@rand-relay