[Bug bootstrap/95582] [11 Regression] LTO lean + PGO bootstrap is broken in Ada

ebotcazou at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Tue Jun 9 11:23:44 GMT 2020


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95582

--- Comment #10 from Eric Botcazou <ebotcazou at gcc dot gnu.org> ---
> 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 precision
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 precision 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, you
just need to be careful when you're manipulating bit patterns.


More information about the Gcc-bugs mailing list