From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 30151 invoked by alias); 13 May 2002 07:03:21 -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 30132 invoked by uid 61); 13 May 2002 07:03:21 -0000 Date: Mon, 13 May 2002 00:03:00 -0000 Message-ID: <20020513070321.30131.qmail@sources.redhat.com> To: gcc-bugs@gcc.gnu.org, gcc-prs@gcc.gnu.org, jching@flex.com, nobody@gcc.gnu.org From: jakub@gcc.gnu.org Reply-To: jakub@gcc.gnu.org, gcc-bugs@gcc.gnu.org, gcc-prs@gcc.gnu.org, jching@flex.com, nobody@gcc.gnu.org, gcc-gnats@gcc.gnu.org Subject: Re: other/6613: Problem with RTX_UNCHANGING_P (again) X-SW-Source: 2002-05/txt/msg00341.txt.bz2 List-Id: Synopsis: Problem with RTX_UNCHANGING_P (again) State-Changed-From-To: open->analyzed State-Changed-By: jakub State-Changed-When: Mon May 13 00:03:20 2002 State-Changed-Why: Simplified testcase is struct L { enum S { A, B, C }; L (S x = C) : l (x) {} L (const L &x) : l (x.l) {} char l; }; const L A (L::A); const L B (L::B); struct T { L u, v; }; const struct T x [] = { {A, A}, {B, A}, {B, A}, {A, B}, {B, A}, {A, B}, {A, B}, {B, B} }; extern "C" void abort (void); extern "C" void exit (int); int main() { for (int i = 0; i < 8; i++) { if (x[i].u.l * 2 != ((((i & 3) ^ (i >> 2)) + 1) & 2)) abort (); if (x[i].v.l != ((((i + 1) ^ 1) - 1) >= 4)) abort (); } exit (0); } Regression from 2.95.x. For some details, see http://gcc.gnu.org/ml/gcc/2002-05/msg00642.html http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&database=gcc&pr=6613