From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 26268 invoked by alias); 27 Jul 2007 15:56:33 -0000 Received: (qmail 26257 invoked by uid 22791); 27 Jul 2007 15:56:32 -0000 X-Spam-Check-By: sourceware.org Received: from pfepc.post.tele.dk (HELO pfepc.post.tele.dk) (195.41.46.237) by sourceware.org (qpsmtpd/0.31) with ESMTP; Fri, 27 Jul 2007 15:56:29 +0000 Received: from x1-6-00-0f-9f-c6-3e-90 (x1-6-00-0f-9f-c6-3e-90.k75.webspeed.dk [80.197.1.215]) by pfepc.post.tele.dk (Postfix) with ESMTP id 693FD8A0044 for ; Fri, 27 Jul 2007 17:56:26 +0200 (CEST) Received: from x1-6-00-0f-9f-c6-3e-90 (localhost.localdomain [127.0.0.1]) by x1-6-00-0f-9f-c6-3e-90 (8.14.0/8.14.0) with ESMTP id l6RFuQtI013457 for ; Fri, 27 Jul 2007 17:56:26 +0200 Received: (from rask@localhost) by x1-6-00-0f-9f-c6-3e-90 (8.14.0/8.14.0/Submit) id l6RFuPJ3013456 for gcc-patches@gcc.gnu.org; Fri, 27 Jul 2007 17:56:25 +0200 Date: Fri, 27 Jul 2007 16:55:00 -0000 From: Rask Ingemann Lambertsen To: gcc-patches@gcc.gnu.org Subject: [PATCH] Fix PR testsuite/32471 when INT_MAX is not 0x7fffffff Message-ID: <20070727155625.GL3001@sygehus.dk> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.5.14 (2007-02-12) Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org X-SW-Source: 2007-07/txt/msg01990.txt.bz2 This patch fixes the test cases for PR 30364 which test overflow behaviour of integers. With "gcc version 4.1.2 20061115 (prerelease) (Debian 4.1.1-21)", pr30364-1.c still fails at -O2, which is what bug 30364 was opened for. For mainline x86_64-unknown-linux-gnu, there are no changes in test results (they still all pass) while for m32c-unknown-elf, they now all pass where they all used to fail (for a total of 36 FAILs). Ok for trunk? :ADDPATCH testsuite: 2007-07-27 Rask Ingemann Lambertsen PR testsuite/32471 gcc.dg/torture/pr30364-1.c (f)(main): Use INT_MAX instead of assuming it is 0x7ffffffff. gcc.dg/torture/pr30364-2.c (f)(main): Likewise. gcc.dg/torture/pr30364-3.c (f)(main): Likewise. Index: gcc.dg/torture/pr30364-1.c =================================================================== --- gcc.dg/torture/pr30364-1.c (revision 126653) +++ gcc.dg/torture/pr30364-1.c (working copy) @@ -1,19 +1,20 @@ /* { dg-do run } */ +#include extern void abort (void); int f(int a, int b) { - if (a > 0x7FFFFFF0) return 0; - if (b > 0x7FFFFFF0) return 0; + if (a > INT_MAX - 15) return 0; + if (b > INT_MAX - 15) return 0; int c = (a - 20) + (b - 20); - return c > 0x7FFFFFF0; + return c > INT_MAX - 15; } int main() { - if (f (0x7FFFFFF0, 41) != 1) + if (f (INT_MAX - 15, 41) != 1) abort (); return 0; } Index: gcc.dg/torture/pr30364-2.c =================================================================== --- gcc.dg/torture/pr30364-2.c (revision 126653) +++ gcc.dg/torture/pr30364-2.c (working copy) @@ -1,19 +1,20 @@ /* { dg-do run } */ +#include extern void abort (void); int f(unsigned int a, unsigned int b) { - if (a > 0x7FFFFFF0) return 0; - if (b > 0x7FFFFFF0) return 0; + if (a > INT_MAX - 15) return 0; + if (b > INT_MAX - 15) return 0; int c = (a - 20) + (b - 20); - return c > 0x7FFFFFF0; + return c > INT_MAX - 15; } int main() { - if (f (0x7FFFFFF0, 41) != 1) + if (f (INT_MAX - 15, 41) != 1) abort (); return 0; } Index: gcc.dg/torture/pr30364-3.c =================================================================== --- gcc.dg/torture/pr30364-3.c (revision 126653) +++ gcc.dg/torture/pr30364-3.c (working copy) @@ -1,20 +1,21 @@ /* { dg-do run } */ /* { dg-options "-fwrapv" } */ +#include extern void abort (void); int f(int a, int b) { - if (a > 0x7FFFFFF0) return 0; - if (b > 0x7FFFFFF0) return 0; + if (a > INT_MAX - 15) return 0; + if (b > INT_MAX - 15) return 0; int c = (a - 20) + (b - 20); - return c > 0x7FFFFFF0; + return c > INT_MAX - 15; } int main() { - if (f (0x7FFFFFF0, 41) != 1) + if (f (INT_MAX - 15, 41) != 1) abort (); return 0; }