From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 5012 invoked by alias); 8 Jan 2002 04:36:03 -0000 Mailing-List: contact gcc-prs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-prs-owner@gcc.gnu.org Received: (qmail 4949 invoked by uid 71); 8 Jan 2002 04:36:02 -0000 Resent-Date: 8 Jan 2002 04:36:02 -0000 Resent-Message-ID: <20020108043602.4948.qmail@sources.redhat.com> Resent-From: gcc-gnats@gcc.gnu.org (GNATS Filer) Resent-To: nobody@gcc.gnu.org Resent-Cc: gcc-prs@gcc.gnu.org, gcc-bugs@gcc.gnu.org Resent-Reply-To: gcc-gnats@gcc.gnu.org, lucier@math.purdue.edu Received:(qmail 31854 invoked by uid 61); 8 Jan 2002 04:30:10 -0000 Message-Id:<20020108043010.31853.qmail@sources.redhat.com> Date: Mon, 07 Jan 2002 20:36:00 -0000 From: lucier@math.purdue.edu Reply-To: lucier@math.purdue.edu To: gcc-gnats@gcc.gnu.org X-Send-Pr-Version:gnatsweb-2.9.3 (1.1.1.1.2.31) Subject: target/5309: Infinite loop in cc1 on sparcv9-sun-solaris2.8 with -m64, short example X-SW-Source: 2002-01/txt/msg00322.txt.bz2 List-Id: >Number: 5309 >Category: target >Synopsis: Infinite loop in cc1 on sparcv9-sun-solaris2.8 with -m64, short example >Confidential: no >Severity: serious >Priority: medium >Responsible: unassigned >State: open >Class: sw-bug >Submitter-Id: net >Arrival-Date: Mon Jan 07 20:36:02 PST 2002 >Closed-Date: >Last-Modified: >Originator: B. Lucier >Release: unknown-1.0 >Organization: >Environment: sparcv9-sun-solaris2.8 gcc version 3.1 20020102 (experimental) >Description: cc1 seems to go into have an infinite loop on sparcv9-sun-solaris2.8 for the following short program, which is extracted from my main application (so to me, the bug is critical). The compile line is /pkgs/gcc-3.1v9/lib/gcc-lib/sparcv9-sun-solaris2.8/3.1/cc1 -m64 -fPIC -O1 -fschedule-insns2 -fno-strict-aliasing -fno-math-errno -mcpu=ultrasparc -mtune=ultrasparc -Wall -W -Wno-unused symkey.i /* program starts */ extern long symkey_table(unsigned int subtype); extern long hash_utf8string(char *str); extern unsigned int ___utf8_get(char **ptr); extern long find_symkey_from_utf8string(char *str, unsigned int subtype) { long h; long probe; h = hash_utf8string(str); if (h < ((long) (0) << 2)) return h; probe = (*((((long *) ((symkey_table(subtype)) - (1))) + 1) + ((h) >> 2) % 359)); while (probe != (((long) -3 << 2) + 2)) { long name = (*((((long *) ((probe) - (1))) + 1) + 0)); unsigned long i; unsigned long n = ((((long) ((((unsigned long) ((*((long *) ((name) - (1))))) >> (3 + 5)) >> 1)) << 2)) >> 2); char *p = str; for (i = 0; i < n; i++) if (___utf8_get(&p) != ((unsigned int) ((((((long) (unsigned short) (*((unsigned short *) ((((long *) ((name) - (1))) + 1)) + ((((long) (i) << 2)) >> 2))) << 2) + 2)) >> 2)))) goto next; if (___utf8_get(&p) == 0) return probe; next: probe = (*((((long *) ((probe) - (1))) + 1) + 2)); } return (((long) -1 << 2) + 2); } /* program ends */ >How-To-Repeat: >Fix: >Release-Note: >Audit-Trail: >Unformatted: