Subject: CVS commit: src/usr.bin/xlint/lint1
To: None <source-changes@NetBSD.org>
From: Havard Eidnes <he@netbsd.org>
List: source-changes
Date: 10/16/2006 13:33:57
Module Name:	src
Committed By:	he
Date:		Mon Oct 16 13:33:57 UTC 2006

Modified Files:
	src/usr.bin/xlint/lint1: scan.l

Log Message:
Make a minimal attempt at distinguishing between the hosts and the
targets integer data type value ranges.   For now we just use the
hosts uint64_t for parsing & storing integers constants, and test
against the targets limits and assign appropriately, instead of
sometimes (inappropriately) going via the hosts u_long type.  As
long as none of our architectures have target long or quad data
types strictly larger than 64 bits, we should be fine with this
fix.

Furthermore, as they stand at the moment, we can't use the current
TARG_INT_MAX and TARG_LONG_MAX constants in C preprocessor expressions,
so remove the conditional on them being equal.  Yes, this will
produce dead code for some targets.

This allows an ilp32 host to lint for an lp64 target which uses
e.g. the targets ULONG_MAX constant without triggering an "integer
constant out of range" warning.

OK'ed by christos.


To generate a diff of this commit:
cvs rdiff -r1.34 -r1.35 src/usr.bin/xlint/lint1/scan.l

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.