From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 23425 invoked by alias); 15 Jan 2005 18:10:04 -0000 Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org Received: (qmail 23260 invoked by uid 48); 15 Jan 2005 18:09:55 -0000 Date: Sat, 15 Jan 2005 18:10:00 -0000 Message-ID: <20050115180955.23259.qmail@sourceware.org> From: "schlie at comcast dot net" To: gcc-bugs@gcc.gnu.org In-Reply-To: <20050115123233.19457.reichelt@gcc.gnu.org> References: <20050115123233.19457.reichelt@gcc.gnu.org> Reply-To: gcc-bugzilla@gcc.gnu.org Subject: [Bug c++/19457] [4.0 Regression] Warning depends on cached constant X-Bugzilla-Reason: CC X-SW-Source: 2005-01/txt/msg02019.txt.bz2 List-Id: ------- Additional Comments From schlie at comcast dot net 2005-01-15 18:09 ------- (In reply to comment #4) (again sorry), nor should ~0 be considred equivelent to -1, any more than any explicit non-signed constant like 0xFFFF for example be (as previously questioned), as such values only have equivelent representations if the constant's required representation precision happens to be the same as the targets specifed int type-sizes; therefore would not be reasonably target portable if treated otherwise. (assuming for the sake of argument if sizeof(int) = 2, sizeof(long) = 4): unsigned long = (assumed signed int compatibe) -1, long == 0xFFFFFFFF unsigend long = (assumed unsigned int compatible)~0, long == 0x000FFFF -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19457