From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 48) id 158AF383E802; Tue, 9 Jun 2020 11:23:45 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 158AF383E802 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1591701825; bh=xKhB4H+SMo7cAC/mW4tmFh/8y7Ru+UV2oY2K+zZring=; h=From:To:Subject:Date:In-Reply-To:References:From; b=anbwv6Vz7C6AjzB+M3Nh9WgezNR0ZbJ+zPJoE/goxon86RWjunl+B1JsnbDCpwvgr 4floKWl+YXTAjVKKhf723TASN0YHhLpq0iNPSo4ywLMfOSauB0wHV6VzpURVnomwr/ NTw1TG5CpTCQiVIYPelq/oRLW0AXxHkGxNuejFZk= From: "ebotcazou at gcc dot gnu.org" To: gcc-bugs@gcc.gnu.org Subject: [Bug bootstrap/95582] [11 Regression] LTO lean + PGO bootstrap is broken in Ada Date: Tue, 09 Jun 2020 11:23:44 +0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: bootstrap X-Bugzilla-Version: 11.0 X-Bugzilla-Keywords: ice-on-valid-code X-Bugzilla-Severity: normal X-Bugzilla-Who: ebotcazou at gcc dot gnu.org X-Bugzilla-Status: NEW X-Bugzilla-Resolution: X-Bugzilla-Priority: P1 X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org X-Bugzilla-Target-Milestone: 11.0 X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: Message-ID: In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 X-BeenThere: gcc-bugs@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-bugs mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 09 Jun 2020 11:23:45 -0000 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=3D95582 --- Comment #10 from Eric Botcazou --- > Yeah, that was for vector components. Not that I like it much. Can > the middle-end assume that the Ada boolean types only contain 0 or 1 > or are there other values that are supposed to be well-defined > true or false values? The only well-defined values are 0 and 1, but all the bits up to the precis= ion need to be preserved in "nonlogical contexts". So it's a standard boolean = type in "logical contexts" (with binary logic) and an integral type with precisi= on 8 in "nonlogical contexts", the possibly issues arising of course at the transition. In practice this works fine without special handling in almost all cases, y= ou just need to be careful when you're manipulating bit patterns.=