From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 24867 invoked by alias); 2 Jun 2003 20:52:35 -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 24707 invoked by uid 48); 2 Jun 2003 20:52:33 -0000 Date: Mon, 02 Jun 2003 20:52:00 -0000 From: "skidder@bssys.com" To: gcc-bugs@gcc.gnu.org Message-ID: <20030602205232.11068.skidder@bssys.com> Reply-To: gcc-bugzilla@gcc.gnu.org Subject: [Bug optimization/11068] New: GCC 3.2.X miscompiles Firebird 1.5 with -O1 X-Bugzilla-Reason: CC X-SW-Source: 2003-06/txt/msg00399.txt.bz2 List-Id: PLEASE REPLY TO gcc-bugzilla@gcc.gnu.org ONLY, *NOT* gcc-bugs@gcc.gnu.org. http://gcc.gnu.org/bugzilla/show_bug.cgi?id=11068 Summary: GCC 3.2.X miscompiles Firebird 1.5 with -O1 Product: gcc Version: 3.2.2 Status: UNCONFIRMED Severity: blocker Priority: P4 Component: optimization AssignedTo: unassigned@gcc.gnu.org ReportedBy: skidder@bssys.com CC: gcc-bugs@gcc.gnu.org GCC build triplet: i586-pc-linux-gnu GCC host triplet: i586-pc-linux-gnu GCC target triplet: i586-pc-linux-gnu Problem is reproducable using GCC 3.2.1 or 3.2.3 on Mandrake 8.0 with GLIBC 2.3.1 Here is the testcase: === test.cpp ===================== #include #define USHORT unsigned short #define UCHAR unsigned char USHORT get_numeric() { return 42388; } int main () { USHORT length, l; UCHAR *buffer, static_buffer [1024]; length = (USHORT)get_numeric(); /* Allocate blob buffer is static buffer is too short */ if (!length || length + 1 <= (USHORT)(sizeof (static_buffer)) ) { buffer = static_buffer; printf("Shit happened !"); } else { printf("Works fine"); l = length + 1; // buffer = BURP_ALLOC (l); return 1; } } ======================== g++ test.cpp ./a.out Works fine ======================== g++ -O1 test.cpp ./a.out Shit happened ! ======================== ------- You are receiving this mail because: ------- You are on the CC list for the bug, or are watching someone who is.