From owner-freebsd-arch@FreeBSD.ORG Sun Nov 16 04:52:32 2003 Return-Path: Delivered-To: freebsd-arch@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 2155A16A4CE for ; Sun, 16 Nov 2003 04:52:32 -0800 (PST) Received: from gw.celabo.org (gw.celabo.org [208.42.49.153]) by mx1.FreeBSD.org (Postfix) with ESMTP id 1515F43FB1 for ; Sun, 16 Nov 2003 04:52:31 -0800 (PST) (envelope-from nectar@celabo.org) Received: from madman.celabo.org (madman.celabo.org [10.0.1.111]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client CN "madman.celabo.org", Issuer "celabo.org CA" (verified OK)) by gw.celabo.org (Postfix) with ESMTP id AE2D35482B; Sun, 16 Nov 2003 06:52:30 -0600 (CST) Received: by madman.celabo.org (Postfix, from userid 1001) id 53AAA6D455; Sun, 16 Nov 2003 06:52:30 -0600 (CST) Date: Sun, 16 Nov 2003 06:52:30 -0600 From: "Jacques A. Vidrine" To: Bruce Evans Message-ID: <20031116125230.GA56115@madman.celabo.org> Mail-Followup-To: "Jacques A. Vidrine" , Bruce Evans , Terry Lambert , freebsd-arch@FreeBSD.org References: <20031114194119.GA94198@madman.celabo.org> <3FB6AA8F.37ED6D50@mindspring.com> <20031116102010.GA53282@madman.celabo.org> <20031116111212.GA55844@madman.celabo.org> <20031116231838.X1400@gamplex.bde.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20031116231838.X1400@gamplex.bde.org> X-Url: http://www.celabo.org/ User-Agent: Mutt/1.5.4i-ja.1 cc: freebsd-arch@FreeBSD.org Subject: Re: __TIME_MIN/__TIME_MAX X-BeenThere: freebsd-arch@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Discussion related to FreeBSD architecture List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 16 Nov 2003 12:52:32 -0000 On Sun, Nov 16, 2003 at 11:36:41PM +1100, Bruce Evans wrote: > Actually, it's implementation-defined if time_t is integral (doesn't > matter if it is signed or unsigned) (and the value is not representable). > It's only undefined if time_t is a floating type. Are you certain? I'll have to double-check. I thought that if a type was signed, then attempting to assign an out-of-range value was undefined (similar to overflow with signed types). > > > All I really want to do is correct a parsing bug and at the same time > > eliminate a warning so that I can set WARNS?=1 in libc before the code > > freeze. > > You can safely assume that it won't change to floating before the code > freeze :-). Heh. Until a few hours ago, I was pretty sure that no one would dare make any changes to time_t this late in the game, but then the sparc64 time_t thread sprouted. :-) > I think (t = n) would cause compiler warnings at higher WARNS levels > if time_t were unsigned. `t == n' certainly would. > `(long)(time_t)n == n' could be used (this is like the above except it > doesn't use a temporary variable. However, the cast to long breaks the > warning about the bug that if n is -1L and time_t is unsigned long, then > the comarison will succeed on 2's complement machines although time_t > cannot represent -1. The actual warning was of the `comparison always true' variety. Annoying, but it did lead me to see that there was a (mostly harmless) bug in strptime. Cheers, -- Jacques Vidrine NTT/Verio SME FreeBSD UNIX Heimdal nectar@celabo.org jvidrine@verio.net nectar@freebsd.org nectar@kth.se