From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 6746 invoked by alias); 10 May 2002 15:56:05 -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 6723 invoked by uid 71); 10 May 2002 15:56:04 -0000 Date: Fri, 10 May 2002 08:56:00 -0000 Message-ID: <20020510155603.6721.qmail@sources.redhat.com> To: nobody@gcc.gnu.org Cc: gcc-prs@gcc.gnu.org, From: Janis Johnson Subject: Re: bootstrap/6619: irix cc chokes on rtl_check macros? Reply-To: Janis Johnson X-SW-Source: 2002-05/txt/msg00292.txt.bz2 List-Id: The following reply was made to PR bootstrap/6619; it has been noted by GNATS. From: Janis Johnson To: David.Billinghurst@riotinto.com Cc: gcc-gnats@gcc.gnu.org, janis187@us.ibm.com Subject: Re: bootstrap/6619: irix cc chokes on rtl_check macros? Date: Fri, 10 May 2002 08:50:17 -0700 On Fri, May 10, 2002 at 12:55:31AM -0000, David.Billinghurst@riotinto.com wrote: > > >Number: 6619 > >Category: bootstrap > >Synopsis: irix cc chokes on rtl_check macros? > >Confidential: no > >Severity: serious > >Priority: medium > >Responsible: unassigned > >State: open > >Class: sw-bug > >Submitter-Id: net > >Arrival-Date: Thu May 09 17:56:00 PDT 2002 > >Closed-Date: > >Last-Modified: > >Originator: David Billinghurst > >Release: gcc-3.2 > >Organization: > >Environment: > mips-sgi-irix6.5 > >Description: > gcc-3.2 on irix6.5 using cc fails in rtl.c. It got past this point yesterday. > > The problem may be related to > > 2002-05-08 Janis Johnson > > * rtl.h (RTL_FLAG_CHECK*): Add an argument for the macro name, > and use it in all invocations of these macros. Clean up comments. > * rtl.c (rtl_check_failed_flag): Add an argument for the name > of the flag access macro whose check failed. > * doc/rtl.texi (Flags): Document additional flag uses. > > > The error is > "/exd4/billingd/src/gcc/gcc/rtl.c", line 474: error(1029): expected an > expression > || REG_FUNCTION_VALUE_P (x) == REG_FUNCTION_VALUE_P (y))); > ^ > > "/exd4/billingd/src/gcc/gcc/rtl.c", line 474: error(1029): expected an > expression > || REG_FUNCTION_VALUE_P (x) == REG_FUNCTION_VALUE_P (y))); > ^ > 2 errors detected in the compilation of "/exd4/billingd/src/gcc/gcc/rtl.c". > > The code fragment is > > switch (code) > { > case REG: > /* Until rtl generation is complete, don't consider a reference > to the return register of the current function the same as > the return from a called function. This eases the job of > function integration. Once the distinction is no longer > needed, they can be considered equivalent. */ > return (REGNO (x) == REGNO (y) > && (! rtx_equal_function_value_matters > || REG_FUNCTION_VALUE_P (x) == REG_FUNCTION_VALUE_P (y))); > > case LABEL_REF: > return XEXP (x, 0) == XEXP (y, 0); > > > > Looking at the preprocessed file I see > > switch (code) > { > case REG: > return ((((x)->fld[0]). rtuint) == (((y)->fld[0]). rtuint) > && (! rtx_equal_function_value_matters > || ( ({ rtx const _rtx = ((x)); if (((enum rtx_code) (_rtx)->code) != REG) rtl_check_failed_flag ("REG_FUNCTION_VALUE_P", _rtx, "/exd4/billingd/src/gcc/gcc/rtl.c", 474, "?"); _rtx; })->integrated) == ( ({ rtx const _rtx = ((y)); if (((enum rtx_code) (_rtx)->code) != REG) rtl_check_failed_flag ("REG_FUNCTION_VALUE_P", _rtx, "/exd4/billingd/src/gcc/gcc/rtl.c", 474, "?"); _rtx; })->integrated))); > > case LABEL_REF: > return (((x)->fld[0]). rtx) == (((y)->fld[0]). rtx); > > >How-To-Repeat: > > >Fix: > > >Release-Note: > >Audit-Trail: > >Unformatted: Is this fixed by http://gcc.gnu.org/ml/gcc-patches/2002-05/msg00886.html? Janis